The Software Development Life Cycle
The Software Development Life Cycle (SDLC) describes how software is built from start to finish. It's a systemic process for developing software applications. It describes the activities performed at each stage of the development process and where everyone fits in.
How you climb a mountain is more important than reaching the top.- Yvon Chouinard
The several phases of the Software Development Life Cycle
- Requirement Phase
- Planning Phase
- Design Phase
- Build stage (building the software)
- Testing Phase
- Deployment and Maintenance
A team typically consisting of project managers, business analysts, and development leads gathers all the requirements and information from the stakeholders to build the software. Another name for this step is the requirement gathering phase.
In this phase, a team meets to review the requirements and specifications from the previous phase. A discussion takes place to estimate the time and cost and then analyze their current resources.
In this stage, the development team decides how they will build the software. The team makes decisions on the programming language, how it will function, and the overall architecture, among other items. In this phase, the team also receives the initial mockups or visualizations of the project's appearance.
In all likelihood, this is the lengthiest phase of the life cycle. Here is where the developers begin building the software according to the requirements.
There's a debate on where QA should first be involved in the SDLC and their role. However, setting that aside, for now, this phase is where they are required. Testing is done against the acceptance criteria and ensures the software is meeting requirements.
Deployment and Maintenance
Job well done! Or at least that's the plan. After the software is built and tested, the team deploys it to production. Meaning it is now ready and available for its intended audience. There is that second word in this phase, 'Maintenance.' The team dedicates time after release to ensure the software is running smoothly.
Now we know what the SDLC is and a glimpse of why it's crucial. Let's look at the prime reasons why teams use it.
- It sets the stage for development to create a plan
- It sets aside time for project planning, scheduling, and estimation
- It solves the issue of defining a set of activities and deliverables
- It allows easier project tracking
- It increases transparency to stakeholders
- Its set plan can enhance the development speed