The SDLC Life Cycle, or just the SDLC as it’s known, is the process of developing software to meet a need or solve a problem. This life cycle involves quite a few steps. Learn about what they are in this article.
The steps in the SDLC can vary depending on a few factors, such as the project methodology or even where you read the material. The steps I’ve highlighted below are general and apply to most projects. Other sources may expand or collapse some of these sections, but overall, they should be pretty similar. I’m also referring to it as the SDLC life cycle as well as the SDLC, as some may now know that they are the same thing (the LC in SDLC stands for life cycle).
Planning: The First Stage of the SDLC Life Cycle
The first stage of any project is the planning stage. In the Software Development Life Cycle (SDLC), this is where the appropriate people discuss the goals of the project, and how it will be run.
A project needs to be planned before it starts. This ensures it is well run and actually achieves the goals that it is supposed to. It doesn’t matter if it’s a small change to a website, or a large system being implemented, there is some level of planning done at the start of the project.
During my university days, we were always encouraged to do some kind of planning before we started our development work. This always resulted in better code and less re-work, but it took a while for us to realise this.
All we wanted to do was write code! Jumping right into the code may seem like a good place to start, but the project should be planned from the start to ensure the best results.
Roles involved: Project Manager, Project Sponsor, other business representatives
Analysis: What Needs To Be Done?
This phase of the SDLC life cycle is where the majority of the investigation is done. This is where the analysis is done to find out what the business problem is, what the detailed targets are, what the software is trying to do or solve. This can take a lot of work.
It’s usually done by the business analyst on the team, and there may be more than one, depending on the size of the project. A business analyst’s role is to speak to the people in the project and gather the requirements, which are a list of things that the solution needs to do for it to be successful.
The project manager also has a minor part to play in this phase. They are responsible for communication to other project representatives, and handling the timelines and any changes in scope. Actually, if you’ve read any material from the Project Management Body of Knowledge, you might have read that the project manager is involved in all stages of the project.
Once the analysis is done, the output from this is usually a requirements document or a list of user stories, depending on the project methodology that has been chosen (Waterfall or Scrum, or something else).
Roles involved: Business Analyst, Project Manager, Business Representatives
Development: Writing the Code
The development phase of the SDLC life cycle is where the work really takes off. It’s probably the part that’s most interesting to you as well! It’s time to actually build the solution.
Based on the requirements that have been provided, which is a list of what needs to be done, a solution is then designed and developed by the development team. This can involve many steps, depending on the team and the way they work. Often it involves:
- User interface design, to work out how the solution would look to the user
- Technical design, to determine the system architecture and the design of the solution behind the scenes
- Development, or the actual writing of code, to make the solution work
The development team, which can be a single developer or a group of developers with a development team leader, come in to the project and perform this work. Depending on the other tasks required, other specialised roles may be involved.
For example, the company that I work for at the moment has its own dedicated User Experience team, who is responsible for the user interface design. They then work closely with the developers to come up with a working solution.
The business analyst and project manager can be involved in this phase of the SDLC life cycle in a small amount. The BA may assist with clarifying details of the requirements, and the PM would be there to monitor the progress and issues.
Roles involved: Developers, Designers, Business Analyst, Project Manager
Testing: Making Sure It Works
Once the development has finished, the next phase of the SDLC life cycle is testing. Before the solution can be made live and available to the users, it needs to be tested to make sure it works.
After the developers write their code (which can be at the end of all development, or at incremental stages, depending on the methodology), the cod eis handed to the testing team for their work. The testing team will then perform a series of tests to ensure that the code works correctly.
The testing in this phase can involve many different types of tests, depending on the project and the company, such as:
- Unit testing: testing individual pieces of code to ensure they work
- System testing: testing the entire system to ensure it works
- Verification testing: ensure that the system does what the requirements say it should do
- Integration testing: ensure that the system communicates to other systems correctly
- Regression testing: make sure that nothing else is broken when this is implemented
Those are just some examples of the testing that is involved. The main roles involved in this stage of the SDLC are the testing team, with a test manager if required. The business representatives are also included, as they have a role in checking the solution against their requirements.
Implementation: Getting It Out Into the World
The next stage of the SDLC life cycle is the implementation stage. This is where the testing has passed, and the solution is ready to go into the production environment and be used by the group that needs it. This group could be an internal group to the company, or the general public, depending on the project.
The implementation is usually planned very carefully, as it involves turning off some systems while the code is installed and tested. It’s usually done on a weekend or outside of business hours, so that there is minimal impact to the normal users of the system.
A plan is put together, usually by the project manager and the release manager, to put this solution out into the world to be used. The plan is followed, which includes installing the code into the production system and some kind of testing, and then communicated to the wider project team. I’ve written more about the release management process in this article.
The developers can also be involved, if they are the ones that need to do the implementation steps. Sometimes, at larger companies, it is a dedicated team that does the releases.
Once the solution is implemented, it is then communicated to the wider team by the project manager, who explains what was done and what the result was.
Roles involved: Release Manager, Project Manager, Developers, Testers
Evaluation: Checking The Results
This is the final step of the SDLC life cycle. Once the solution has been implemented by the team and has been running for a while, the business representatives in the team will then analyse how the project has gone and if the solution as met their goals or not. This could result in a few things:
- The solution is deemed a success as it met all of the goals
- The solution needs further phases to add or change things
- The solution is not successful as it did not meet its goals or causes other problems
Sometimes these can be determined straight away, other times there needs to be a period of time to determine. For example, if the project involves automating a manual process to save costs, there may be a period of a month or two to determine if the costs are actually being saved.
This step is usually done by the project sponsor and the business representatives, with the project manager included sometimes. They will look at how the solution is performing and if it met their goals or not, and then make a decision on what to do next.
This is done often in Agile projects, where a first release is evaluated, and either development continues, or it is stopped as the project has met its goal.
Roles involved: Business representatives, Project Sponsor, Project Manager