Software Development and Design · Topic 4 of 7
Agile, Lean and Waterfall Compared
Compare the agile, lean and waterfall software development methods, their phases, strengths and weaknesses, and when each one is the better choice.
- 4 min
- Waterfall is sequential, with each phase complete before the next starts.
- Agile uses short iterations with frequent feedback and welcomes change.
- Scrum is an agile framework that uses sprints, a backlog and a daily stand up.
What it is
A software development method is a plan for how a team moves from an idea to working software.
Waterfall, agile and lean are the three methods you need to compare. They differ in how they handle change, feedback and waste.
The choice affects how often users see results and how well the team copes when requirements shift.
How it works
Each method organises the same kinds of work in a different order and rhythm.
Waterfall
Waterfall is a linear, sequential method. Each phase finishes before the next one starts.
- Requirements
- Design
- Implementation
- Testing
- Deployment and maintenance
The plan is fixed early and documentation is heavy. Going back a phase is costly. Waterfall suits projects whose requirements are well understood and unlikely to change, or that have strict regulation.
Its weakness is late feedback. Users may not see working software until the end, when a wrong assumption is expensive to fix.
Agile
Agile works in short cycles called iterations or sprints, usually a few weeks long. Each cycle delivers a small piece of working software.
The team gathers feedback after each cycle and changes the plan as needed.
The Agile Manifesto values individuals and interactions, working software, customer collaboration and responding to change. It does not reject documents or plans. It ranks them lower than those four things.
Agile is a family of approaches. Scrum and Kanban are well known examples.
| Scrum idea | Meaning |
|---|---|
| Sprint | A fixed length cycle that produces a working increment |
| Product backlog | The ordered list of everything wanted |
| Daily stand up | A short daily team meeting |
| Retrospective | A review at the end of a sprint of how the team can improve |
Agile suits projects where requirements are unclear or change often. Its weakness is that it can be hard to give a fixed price and date at the start.
Lean
Lean comes from lean manufacturing. Its central idea is to remove waste and deliver value to the customer quickly.
Lean software development is often summarised by these principles:
- Eliminate waste, such as unused features and waiting time.
- Amplify learning through fast feedback.
- Decide as late as possible, while options are open.
- Deliver as fast as possible, in small batches.
- Empower the team.
- Build quality in.
- See the whole system.
Lean and Kanban share the habit of visualising work on a board and limiting work in progress.
Side by side
| Feature | Waterfall | Agile | Lean |
|---|---|---|---|
| Structure | Sequential phases | Short iterations | Continuous flow |
| Change | Hard and costly | Expected and welcome | Expected |
| Feedback | At the end | Every iteration | Continuous |
| Main goal | Follow the plan | Deliver working software often | Remove waste |
| Documentation | Heavy | Light but enough | Light |
Connection to DevOps
Agile and lean thinking support DevOps. Small, frequent changes are easier to test and deploy automatically. Network teams that adopt automation often borrow these methods to deliver changes in small steps.
When a question stresses a fixed plan and phases that run in order, the answer is waterfall. When it stresses short cycles and customer feedback, the answer is agile. When it stresses eliminating waste, the answer is lean.
What to remember for the exam
Six points are the core of this topic.
- Waterfall is sequential, with each phase complete before the next starts.
- Agile uses short iterations with frequent feedback and welcomes change.
- Scrum is an agile framework that uses sprints, a backlog and a daily stand up.
- Lean aims to eliminate waste and deliver value fast.
- Waterfall suits stable requirements. Agile suits changing requirements.
- Agile and lean fit well with DevOps and CI/CD.
Common mistakes
Four mistakes are common.
Thinking agile means no planning. Agile plans in short cycles and keeps documents, but values working software more.
Calling waterfall always wrong. It can be the right choice when requirements are fixed and the rules are strict.
Confusing agile and Scrum. Scrum is one way of doing agile. Agile is the wider set of values and methods.
Treating lean as only for factories. Its ideas of removing waste and delivering fast apply to software too.
Do not describe waterfall as iterative. Its defining feature is a single pass through ordered phases.
Check yourself
Work through these three questions.
Which method completes each phase before starting the next one?
Waterfall. It is a linear method with phases in a fixed order.
How does agile handle changing requirements?
It works in short iterations and collects feedback after each one, so the plan can change between cycles.
What is the main goal of lean?
To remove waste and deliver value to the customer quickly.
Topic 4 of 7 in Software Development and Design
Test yourself on Software Development and Design
The full Cisco CCNA 200-901 DEVASC question bank has 808 questions, with timed practice exams and an explanation for every answer.
This study guide is independent and is not affiliated with, endorsed by, or sponsored by Cisco. Vendor names, certification names and exam codes are trademarks of their respective owners and are used for identification only.