Monday, September 14, 2026

A → Z Software Development Lifecycle

A strong end-to-end process can be organized into 10 major stages, with specific deliverables/documents at each stage. 


#

Stage

Main question

Key outputs / documents

1

Idea & Discovery

What are we trying to solve?

Product Vision, Problem Statement, Business Case

2

Feasibility & Planning

Is it possible and worthwhile?

Feasibility Study, Project Charter, Initial Plan

3

Requirements

What exactly should the system do?

BRD, PRD, SRS, User Stories, Use Cases

4

Analysis

How should the requirements work together?

Process Models, Use Cases, Domain Model, Data Requirements

5

Architecture & Design

How will we build it?

Architecture Document, HLD, LLD, API/Data Design

6

Development

How do we implement it?

Source Code, Code Standards, Build Configuration

7

Testing & Quality

Does it work correctly and safely?

Test Strategy, Test Plan, Test Cases, Automation, Defects

8

Release Preparation

Is it ready for production?

Release Plan, Release Notes, Deployment Plan, Go-Live Checklist

9

Deployment & Delivery

How do we put it into production?

Deployment Scripts, CI/CD Pipeline, Runbook

10

Operations & Maintenance

How do we keep improving it?

Monitoring, Incident Reports, Change Requests, Maintenance Releases


And then the lifecycle repeats:

Idea → Requirements → Design → Development → Testing → Release → Production → Feedback → Change → Development…

Thinking about the lifecycle as four connected chains:

1. Business chain

Problem → Business Goal → Product → Requirements

2. Engineering chain

Requirements → Analysis → Architecture → Design → Code

3. Quality chain

Requirements → Risk → Test Analysis → Test Design → Automation

→ Evidence → Quality Decision

4. Delivery chain

Code → Build → Test → Deploy → Monitor → Feedback

This gives you a much more mature view of software engineering than simply:

Requirements → Development → Testing → Deployment.