The program development life cycle
The development life cycle
- A development life cycle is the set of stages from idea to finished, maintained software.
- It exists to plan, manage and control a project — building the right product, on time, with quality.
- Different projects suit different models.
Why a life cycle
- It manages complexity (break a big program into phases), coordinates teams, and tracks progress with milestones.
- It builds in testing, records design decisions, and manages risk.
- No single model fits everything — the choice depends on size, how clear the requirements are, and how much change is expected.
Practice
A development life cycle is used to:
It structures the work into stages so the team builds the right product, on time, with quality.
Common models
| Model | How it works | Best when |
|---|---|---|
| Waterfall | linear: Analysis → Design → Coding → Testing → Maintenance | requirements are stable |
| Iterative | repeated passes, each a refined partial version | requirements discovered over time |
| RAD | fast prototypes + user feedback | requirements change; smaller systems |
| Agile | short sprints, constant collaboration & testing | change is constant; committed customer |
- Waterfall is clear and well-documented but copes poorly with mid-project change.
Practice
The waterfall model is best suited to projects where:
Waterfall is linear with each stage finished before the next — great for stable requirements, poor at mid-project change.
Practice
Agile development is characterised by:
Agile works in short sprints with continuous customer collaboration and testing — flexible and adaptive.
Practice
Match each model to its key idea.
Waterfall = linear; iterative = repeated refinement; RAD = prototype-driven and fast.
The standard stages
- Analysis — find what the program must do (gather requirements).
- Design — decide how (data structures, algorithms, modules, interface).
- Coding — write the source code; Testing — run against test data and fix bugs.
- Maintenance — after release, keep it working and useful.
Practice
The analysis stage is mainly about deciding:
Analysis gathers requirements (the "what"); design decides the "how".
You've got it
Key idea
- a life cycle plans, manages and controls a project
- waterfall (linear, stable requirements) · iterative · RAD (prototypes) · agile (sprints)
- stages: analysis (what) → design (how) → coding → testing → maintenance
- pick the model by requirements clarity and expected change