Systems Development Life Cycle (SDLC)
This article explains the Systems Development Life Cycle in a practical way. After reading this article, you’ll understand the basics of this powerful internet technology.
What is the Systems Development Life Cycle (SDLC)?
The Systems Development Life Cycle (SDLC) is also known as the lifecycle of application development. It’s a process for planning, developing, testing, and implementing certain information systems. The System Development Life Cycle is applicable to a variety of software and hardware configurations, and often consists of six different phases. These phases are: analysis, design, development, testing, implementation, documentation, and evaluation.
What is the origin of the Systems Development Life Cycle (SDLC)?
The term SDLC was first completely defined in the 1970s. In the 1960s, mainframe computers hit the consumer market, and living rooms came to be filled with large systems. There was a growing need for building large company systems, but the consumers and users in those days were far less demanding. They did not have a proper concept of what the possibilities would be on the short term.
Technology has progressed over the years, and the systems have gotten more complex. Users have gotten used to technology that simply works, and various methods and tools ensure that companies are led through the lifecycle of system development.
What is a system?
To understand the SDLC-concept, the term system needs to be defined. A system is, at the very least, a component, and possibly a combination of various components of information technology. This means software and hardware. Every system is developed, and goes through a certain cycle. Some methodologies offer specific outlines to go through this process to prevent costly mistakes or to speed up development. However, all methods are aimed at moving systems through the various relevant phases.
Quality management and SDLC
An effective SDLC ensures that the to-be-developed system is high quality and meets the client’s expectations. Additionally, this framework ensures that the system is developed within the given time constraints and budget. Thanks to SDLC, the new system is implemented flawlessly in the current and future IT-infrastructure of a given company.
The phases of the Software Development Life Cycle (SDLC)
SDLC is a multi-step process and it is also iterative. The framework is structured in a methodical way, and is used to offer an outline for the development and adjustment of technical and non-technical components of a high-quality system.
Traditionally, the cycle of SDLC consisted of five phases. This has since been upped to seven phases. By adding new steps, developers could define clearer and more effective actions to reach certain goals. The total of the seven steps are described below.
Phase 1: analysis
The first phase is the evaluation of the existing, or current, system. This is where shortcomings are officially determined. These shortcomings were probably already present, so a good way to find out about them is interviewing support staff.
After doing so, the user has to find alternative solutions. It is incredibly important that this is documented carefully so that decision making can be adequately supported later on. Analyse and also determine the associated costs and implementation of these solutions. Based on the information collected in the first phase, it is decided whether or not the system should be left as it is, improved, or if it must be replaced entirely.
Phase 2: planning and requirements
In this phase, the new system requirements are defined. The existing system’s shortcomings have to be addressed. As such, concrete proposals for improvement must be made. During these phases architects, developers, and product managers work together with other relevant stakeholders.
In short, this phase consists of collecting and interpreting facts, diagnosing issues, and proposing improvements for the system. It is vital to have as diverse a team as possible during this phase. If more people who know and use the system are present, the greater the chances are of finding valuable improvement points. Regardless if the team works with a document of formal requirements or a handwritten list, everyone must be able to understand each proposal, and each comment, to be involved.
Phase 3: design
During this phase, the requirements and desired functions are described in great detail, including process charts, rules, and other documentation. The third phase is the moment when end users have an opportunity to discuss and decide their specific information needs. This is also the phase where essential components of the system (hardware, software) and structure are considered.
Phase 4: development
During the fourth phase, the actual development starts. This is especially the case when a programmer, engineer, or database developer is called in to do important work for the project. These operations consist of, amongst other things, making flowcharts that ensure that the process and new system are carefully organised. The development phase marks the end of the first stage of the Systems Development Life Cycle (SDLC). After this, the production stage of the project begins. The development phase is characterised by change.
Phase 5: integration & testing
During the fifth phase the system is installed in the production environment. Users can start using the new system now. Many organisations opt to have the system tested elsewhere first, in a special testing environment.
If this is done in the production environment, this is usually done by a Quality Assurance professional. He or she will determine if the proposed design meets the company’s goals. The testing must be repeated, if necessary, until the risk of errors and bugs has reached an acceptable level.
Phase 6: implementation
The sixth phase starts when the majority of testing is completed. During this phase, the new system is actually implemented. This means, among other things, that data and components from the old system must be moved to the new system. This is often risky and complicated.
As such, the move is done during off-peak hours, to ensure a minimal impact on business operations. Both professionals and end-users should be able to reap the benefits of the new system during this phase.
Phase 7: evaluation & maintenance
The seventh phases of the Systems Development Life Cycle (SDLC) is often ignored or missed. This phase consists of maintenance and performing regular necessary updates. Furthermore, small bugs that were not found during testing can make an appearance later on.
These can be solved during the maintenance phase when the whole system is refined to improve performance, or to meet new requirements. This is made possible by the team working on the system. Sometimes staff will need additional training to meet this goal, new procedures must be put in place, or updates must be made.
Systems Analysis & Design (SAD)
Besides SDLC, there is another concept that is a cornerstone for the entire lifecycle of product and system planning. Systems Analysis & Design (SAD) is a process during which specific information systems are developed that effectively support hardware, software, or people.
An existing system is replaced by a new system that consists of replaced components or modules to ensure that it meets new requirements. SAD is mostly used to find a balance between requirements at a higher level. Oftentimes, there are two or more requirements that collide.
Benefits and drawbacks of SDLC
Benefits of the Systems Development Life Cycle (SDLC)
The correct use of the Systems Development Life Cycle (SDLC) has a large number of benefits. The implementation of a lifecycle for a system opens up a lot of possibilities, including the ability to plan and organise structured phases and smart goals beforehand. SDLCs are not limited to a one-size-fits-all method, but can be adjusted to various needs.
Additionally, SDLC ensures:
- Basing costs and HRM on concrete information.
- A clear image of the entire project, including involved staff, cost of staff requirements, and a defined timeline
- Verification, goals, and getting results
- A high level of supervision due to its iterative, phased approach
- Improving the quality of the final system with verification and supervision during every phase
Drawbacks of Systems Development Life Cycle (SDLC)
Drawbacks can be:
- Later on in the project, complications can arise due to incorrect assumptions made at the beginning of the project
- Some auxiliary tools are not compatible with SDLC
- At the start, it is complicated to make an estimate of the total costs of the project
- Development teams can be delayed by testing after the system is completed
Other methodologies combined with Systems Development Life Cycle
The SDLC process consists of seven phases, including planning, design, testing, and maintenance. Every phase can be supplemented by various tools to support the phase’s main goal. Below, a number of these tools are explained shortly. Click the link to read about a particular method.
The waterfall model was the first process model to be introduced. It is also called a linear-sequential lifecycle model. It is a simple model that is easy to understand. The waterfall approach means each phase must be completed before the next phase can begin. There is no overlap between the different phases.
The iterative lifecycle model starts with the implementation of a small set of new software requirements, and iteratively improves the evolving versions until the new system is fully implemented.
The model does not start with compiling a list of all the specifications and requirements of a system. Rather, it starts development by specifying and implementing a small part of the software. This is subsequently assessed to determine other requirements. This process is repeated again and again, with each iteration yielding a new version of, for instance, the software.
The Agile model has existed for a long time, and still hasn’t lost its punch. Lately, the model is widely adopted by organisations, and it is proven to be quite the driving force behind software development. Some companies see so much value in the model that it is used for other projects, including non-technical projects and activities.
The Lean model is also often used for software development purposes. The seven Lean principles remain the same: eliminate waste, learn, make decisions, deliver quickly, strengthen teams, build integrity, and oversee everything. Read more about Lean here.
Lean is about only working on what must be worked on at that specific moment. There is no room for multitasking in Lean. The project team is focused on finding opportunities to eliminate waste, to drop unnecessary things like meetings, and minimising documentation. The difference with the Agile approach in software is the focus on customer satisfaction throughout the entire lifespan of a system.
Now it is your turn
What do you think? Do you recognise the explanation of Systems Development Life Cycle (SDLC)? Do you have experience with developing software and using tools such as SDLC? Is SDLC used in your own working environment? Do you think that SDLC is still relevant today despite its age? Which other software development approaches do you know? Do you have any questions or comments?
Share your experience and knowledge in the comments box below.
If you liked this article, then please subscribe to our Free Newsletter for the latest posts on models and methods.
- Alexander, I. F., & Maiden, N. (Eds.). (2005). Scenarios, stories, use cases: through the systems development life-cycle. John Wiley & Sons.
- Mantei, M. M., & Teorey, T. J. (1989). Incorporating behavioral techniques into the systems development life cycle. Mis Quarterly, 257-274.
- Ruparelia, N. B. (2010). Software development lifecycle models. ACM SIGSOFT Software Engineering Notes, 35(3), 8-13.
- Zhang, P., Carey, J., Te’eni, D., & Tremaine, M. (2005). Integrating human-computer interaction development into the systems development life cycle: A methodology. Communications of the Association for Information Systems, 15(1), 29.
How to cite this article:
Janse, B. (2020). Systems Development Life Cycle (SDLC). Retrieved [insert date] from toolshero: https://www.toolshero.com/information-technology/systems-development-life-cycle/
Add a link to this page on your website:
<a href=”https://www.toolshero.com/information-technology/systems-development-life-cycle/”>toolshero: Systems Development Life Cycle (SDLC)</a>
We are sorry that this post was not useful for you!
Let us improve this post!
Tell us how we can improve this post?