The SDLC is the framework that defines the phases of building software — from idea to retirement. Every development methodology (Waterfall, Agile, Spiral, etc.) is a specific way of organizing these phases.
The Seven Phases
1. Planning & Requirement Analysis
Business analysts and stakeholders define the vision. Feasibility is assessed: is this technically possible? Financially viable? Aligned with business goals? Output: project charter, high-level scope.
2. Defining Requirements
Detailed requirements are gathered through interviews, surveys, and workshops. Each requirement is documented with acceptance criteria. Output: SRS (Software Requirements Specification) — the contract between client and development team.
3. System Design
Architects translate requirements into blueprints. Two levels:
- High-Level Design (HLD): System architecture, module decomposition, technology stack, data flow.
- Low-Level Design (LLD): Detailed class diagrams, sequence diagrams, database schemas, API specs.
4. Implementation (Coding)
Developers write code following the design. Coding standards, version control, and code reviews govern quality. This is usually the longest phase, but not the most important — good design reduces coding time.
5. Testing
Verification that the software meets requirements. Levels:
- Unit testing — individual functions
- Integration testing — module interactions
- System testing — end-to-end behavior
- Acceptance testing — customer validation
6. Deployment
Software is released. Strategies: big bang (all at once), phased rollout, blue-green deployment, canary releases.
7. Maintenance
The longest phase. Fixes bugs, adds features, adapts to new environments. 60-80% of total software cost is in maintenance.
SDLC Models Comparison
| Model | Best for | Key risk |
|---|---|---|
| Waterfall | Fixed requirements, regulated industries | Late discovery of issues |
| Agile | Evolving requirements, speed-to-market | Scope creep |
| Spiral | High-risk projects | Complex to manage |
| V-Model | Safety-critical systems | Rigid, documentation-heavy |
Q: Which SDLC phase is most important?
A: Requirements. A mistake in requirements costs 10-100x more to fix once code is written. Getting the “what” right before worrying about “how” saves the most money.
Q: What is a phased rollout and why use it?
A: Deploy to a small subset of users first, monitor for issues, then gradually expand. Reduces blast radius of bugs. Used by all major platforms (Google, Facebook, Netflix).
Q: Why does maintenance cost more than development?
A: The deployed system is already complex, has users depending on it, and must keep running while changes are made. Every change risks regression. Plus, the original developers may have left, and documentation is often incomplete.
Premium Content
Unlock Software Development Life Cycle (SDLC) and all premium lessons with a subscription.
From ₹199.99/year — See plans