
Table of Contents
- Introduction
- 1) Planning
- 2) Design
- 3) Development
- 4) Testing
- 5) Deployment
- 6) Maintenance
- Phase-by-Phase Deliverables Checklist
- Final Advice
- References
- SEO Keywords
Introduction
"Programs must be written for people to read, and only incidentally for machines to execute." — Harold Abelson & Gerald Jay Sussman
The Software Development Life Cycle (SDLC) is the backbone of disciplined software delivery. It gives teams a shared vocabulary and a predictable path from idea to reliable software. International standards such as ISO/IEC/IEEE 12207 and bodies of knowledge like SWEBOK formalize these processes so organizations can scale quality and repeatability.
1) Planning
Goal: Align on business outcomes, users, scope, risks, and success metrics.
What to produce
- Problem statement and measurable goals (e.g., "reduce checkout drop-off by 15%").
- Stakeholder map, constraints, and high-level scope.
- Risk register and go/no-go criteria.
Tips
- Write one page that explains value, not features.
- Choose a delivery model (Waterfall, Iterative, Agile) based on risk and uncertainty (see "Which SDLC model when?" below).
2) Design
Goal: Create the blueprint: system architecture, contracts, UX flows, and test strategy.
What to produce
- Architecture diagram, module boundaries, data contracts.
- UX flows and accessibility criteria.
- Non-functional requirements (reliability, latency, security, cost).
Tips
- Design for observability: logs, metrics, and traces are first-class design artifacts.
- Decide how the system will be tested and deployed before you code.
3) Development
Goal: Turn the blueprint into working, well-tested code.
Practices that pay off
- Short-lived branches, small PRs, continuous integration (CI).
- Pairing or lightweight reviews to keep feedback fast.
- Keep tests close to the code; automate everything you can.
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." — Martin Fowler
4) Testing
Goal: Prove correctness, protect quality, and manage risk before release.
What to cover
- Unit, integration, and contract tests for critical paths.
- Non-functional tests (performance, security, accessibility).
- Test data strategy and deterministic pipelines.
5) Deployment
Goal: Ship safely and repeatedly.
What to implement
- Automated build → test → release pipelines.
- Environment parity (dev/stage/prod) and progressive delivery (canary, feature flags).
- Rollback plans and release notes.
Modern DevOps research consistently links strong CI/CD and platform-engineering practices with better delivery and team outcomes.
6) Maintenance
Goal: Keep the product healthy and improving after release.
What to do
- Monitor SLIs/SLOs, error budgets, and incident reviews.
- Patch vulnerabilities, pay down tech debt, and revisit assumptions with new data.
- Feed learnings back into Planning (close the loop).
Phase-by-Phase Deliverables Checklist (Copy/Paste)
- Planning: problem statement · success metric · risks assessed · stakeholders aligned
- Design: architecture diagram · API contracts · test strategy · non-functional requirements
- Development: unit tests · code review · feature flags · observability hooks
- Testing: integration tests · performance/security/accessibility checks · rollback plan
- Deployment: infrastructure as code · automated release · release notes
- Maintenance: monitoring dashboards · alerting · incident review · backlog of improvements
Agile teams often express these as Definition of Ready/Done per phase and deliver small, frequent increments to maximize learning and reduce risk.
Final Advice
- Keep phases short and observable; feedback is your risk reducer.
- Encode process as code (like the gate scripts) so quality is enforced, not just documented.
- Layer Agile + DevOps practices on top of SDLC to ship smaller, safer, and more often.
References & Further Reading
- ISO/IEC/IEEE 12207 — Software life-cycle processes. IEEE Standards Association
- SWEBOK v3.0 — Guide to the Software Engineering Body of Knowledge. ieeecs-media.computer.org
- Agile Manifesto (values & principles). agilemanifesto.org
- GitHub Actions documentation (CI/CD). GitHub Docs
- Google Cloud DORA: 2024 highlights & DevOps research hub. Google Cloud
- Quotes: Abelson & Sussman (SICP), Martin Fowler. Goodreads
- Original article source provided by user (ChatGPT conversation)
SEO Keywords
sdlc, software development life cycle, agile, devops, ci/cd, iso/iec/ieee 12207, swebok, github actions, testing strategy, deployment, continuous integration, software engineering fundamentals