Menu

Earn Premium with Referrals

Invite your friends and earn Premium rewards through our referral program.

See how it works and start inviting friends.

Software Development Life Cycle (SDLC)
SDLC

Software Development Life Cycle (SDLC)

A bird's eye view of the SDLC phases, from requirement gathering to maintenance.

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

ModelBest forKey risk
WaterfallFixed requirements, regulated industriesLate discovery of issues
AgileEvolving requirements, speed-to-marketScope creep
SpiralHigh-risk projectsComplex to manage
V-ModelSafety-critical systemsRigid, 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.

My Private Notes

Notes are auto-saved locally to this device.