← 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
  1. Discovery & Requirements — understand user needs, business goals, and constraints.
  2. Analysis — refine requirements, dependencies, and risks.
  3. Architecture & Design — define structure, interfaces, and technical decisions.
  4. Implementation — build the software incrementally.
  5. Verification & Validation — test correctness, quality, and product fit.
  6. Release / Deployment — deliver software into target environments.
  7. Observability — monitor behavior with logs, metrics, and traces.
  8. Maintenance — fix issues and keep the system healthy.
  9. Evolution — adapt the product to new needs and change.
  10. 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
ApproachBest fitMain idea
WaterfallStable requirementsSequential phases with strong documentation
Spiral ModelHigh uncertainty and riskIterations driven by risk analysis
ScrumComplex product workIterative work with short feedback loops
KanbanContinuous-flow workVisualize work, limit WIP, improve flow
XPTeams needing stronger engineering disciplineTDD, refactoring, CI, pair programming
DevOpsTeams needing faster and safer deliveryConnect development, delivery, and operations
LeanEliminating non-value activitiesFocuses on waste reduction, continuous improvement, and maximizing flow efficiency.
Six SigmaHigh-quality replication & manufacturing systemsFocuses 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.

Resources