Software Development Life Cycle (SDLC)
Overview
The SDLC is a structured progression from idea to retirement: planning, building, operating, and eventually decommissioning software. Models range from linear (waterfall) to iterative (agile) and continuous delivery, but the underlying activities recur in every healthy team.
Key concepts
- Phases — Requirements, design, implementation, testing, deployment, maintenance.
- Feedback loops — Short cycles reduce risk vs big-bang releases.
- Artifacts — Specs, designs, test plans, runbooks, and audit trails.
- Environments — Dev, test, staging, production parity where affordable.
- Governance — Change control, approvals, and compliance gates.
Generic SDLC (iterative)
Sample: lightweight epic breakdown
| Epic | Slice 1 | Slice 2 | Slice 3 |
|---|---|---|---|
| User auth | Email + password | OAuth (Google) | MFA optional |
| Billing | Stripe checkout | Invoice history | Refunds admin |
References
- IBM — What is SDLC?
- Atlassian — SDLC
- ISO/IEC 12207 — Software life cycle processes (standard overview)