Phases of SDLC
Phases of SDLC
Phase | Key activities | Deliverables |
| 1. Planning | Identify project scope, goals and requirements | Initial project plan |
| 2. Analysis | Gather and review data on project requirements | Fully detailed requirement documentation |
| 3. Design | Define project architecture | Software design document (SDD) |
| 4. Coding | Write initial code | Functional software prototype |
| 5. Testing | Review code and eliminate bugs | Refined, optimized software |
| 6. Deployment | Deploy code to production environment | Software available to end users |
| 7. Maintenance | Continual fixes and improvements | Updated and optimized code |
Planning
The team figures out what the project actually needs, how much it will cost, how long it will take, and who needs to be involved. They talk to customers, internal experts, and managers to collect requirements, and all of this gets written down in a document called the software requirement specification.
Having this document matters because it sets expectations early. Everyone agrees on the goals before a single line of code is written, which saves a lot of back and forth later.
Requirement Analysis
This is the stage right after planning, where the team digs deeper into what the project actually needs. They sit down with stakeholders, customers, and sometimes end users to understand exactly what the software should do, what problems it needs to solve, and what constraints exist around budget, time, or technology.
All of this gets written down in a detailed requirement document. This document becomes the reference point for the rest of the project. Designers use it to plan the architecture, developers use it to know what to build, and testers use it later to check whether the final product actually matches what was asked for.
Design
Once the requirements are clear, the team decides how to actually build the thing. This means choosing the right technology, deciding whether to reuse existing modules or build from scratch, and figuring out how the new software will fit into whatever systems the company already has running.
This phase is basically the blueprint stage. Nothing gets coded yet, but every major technical decision gets made here so the coding phase runs smoothly.
Coding
This is the phase most people associate with software development. The team takes the requirements and design, breaks them down into small daily tasks, and starts writing the actual code. Each developer usually works on a specific piece of the puzzle.
Testing
Before software reaches real users, it has to be tested properly. Teams use a mix of automated tests and manual checks to catch bugs and confirm the software actually does what it was supposed to do. In most modern teams, testing does not wait until the end. It happens alongside coding, so issues get caught early instead of right before launch.
Deployment
Software is never built directly on the version customers use. There is a separate copy called the production environment, which is what real users interact with, and a build or testing environment where changes are tried out first.
Keeping these separate means customers can keep using the app even while updates are being worked on behind the scenes. Deployment is the process of packaging the finished build, configuring the environment, and installing it so it goes live for users.
Maintainance
Software is never really "done." Once it is live, the team keeps fixing bugs, responding to customer issues, and rolling out small updates. They also keep an eye on performance and security, since new problems or improvement opportunities show up even after launch.










