← Back to Learning
Software Development Life Cycle
A structured overview of SDLC phases, goals, major approaches, and modern delivery practices.
Level: beginner
Tags: sdlc, software-engineering, agile, devops
Lesson
At a glance
The Software Development Life Cycle (SDLC) is the structured lifecycle used to plan, build, validate, release, operate, and improve software.
1. Core idea
SDLC is not only a sequence of technical phases. It is also a system for managing value delivery, feedback, quality, risk, and responsibilities.
Main purpose:
- deliver business value
- improve software quality
- reduce delivery risk
- make priorities and ownership explicit
2. Core phases
- Discovery & Requirements — understand user needs, business goals, and constraints.
- Analysis — refine requirements, dependencies, and risks.
- Architecture & Design — define structure, interfaces, and technical decisions.
- Implementation — build the software incrementally.
- Verification & Validation — test correctness, quality, and product fit.
- Release / Deployment — deliver software into target environments.
- Observability — monitor behavior with logs, metrics, and traces.
- Maintenance — fix issues and keep the system healthy.
- Evolution — adapt the product to new needs and change.
- Retirement — decommission or replace the system safely.
3. Main goals
Business
- deliver measurable value
- avoid unnecessary features
Technical
- maintainability
- security
- testability
- observability
- release readiness
Organizational
- clarify responsibilities
- make risks visible
- define quality expectations
4. Major approaches
| Approach | Best fit | Main idea |
|---|---|---|
| Waterfall | Stable requirements | Sequential phases with strong documentation |
| Spiral Model | High uncertainty and risk | Iterations driven by risk analysis |
| Scrum | Complex product work | Iterative work with short feedback loops |
| Kanban | Continuous-flow work | Visualize work, limit WIP, improve flow |
| XP | Teams needing stronger engineering discipline | TDD, refactoring, CI, pair programming |
| DevOps | Teams needing faster and safer delivery | Connect development, delivery, and operations |
| Lean | Eliminating non-value activities | Focuses on waste reduction, continuous improvement, and maximizing flow efficiency. |
| Six Sigma | High-quality replication & manufacturing systems | Focuses on minimizing defects and reducing process variation through data-driven problem solving (DMAIC). |
5. Agile mindset
Agile is not a single methodology. It is a family of approaches built around:
- continuous planning
- frequent feedback
- incremental delivery
- adaptation to change
Agile works best when paired with strong engineering practices.
6. Engineering practices that strengthen SDLC
- automated testing
- code review
- continuous integration
- continuous delivery
- refactoring
- observability
- security integration
- backlog discipline
7. Metrics worth tracking
Flow metrics
- Lead time
- Cycle time
- Throughput
- WIP
Delivery metrics
- Deployment frequency
- Change lead time
- Change fail rate
- Recovery time
8. Modern SDLC practices
- CI/CD
- DevSecOps
- observability
- lightweight documentation
- architecture decision records
- continuous improvement
- generative AI with human review and governance
9. Practical rule
Do not start from the framework name.
Start from the context:
- How stable are the requirements?
- What is the risk level?
- How often is feedback needed?
- How often do you want to release?
- How mature is the team technically?
Map
Interactive map
Software Development Life Cycle
Click a node to inspect its meaning.