Enterprise engineering

What is the software development lifecycle (SDLC)?

Definition. The SDLC is the structured sequence by which software moves from an idea to a maintained production system.

Phases

  1. Requirements — business goals, user stories, acceptance criteria, constraints and non-functional targets (performance, security, availability)
  2. Design — architecture, data model, API contracts, UX; recorded as specifications and ADRs
  3. Implementation — coding against the spec in small, reviewed changes
  4. Verification — unit, integration, end-to-end, performance and security testing
  5. Release — CI/CD, staged rollout, monitoring and rollback
  6. Operation & maintenance — incident response, patching, iteration, retirement

Methodologies. *Waterfall* suits fixed, regulated scope. *Agile (Scrum/Kanban)* delivers in short iterations with continuous feedback. Mature teams combine Agile delivery with DevSecOps controls.

Common pitfalls: vague acceptance criteria, skipping non-functional requirements, testing only at the end, and no ownership after release.

All guides