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
In a nutshell
  • 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.

Waterfallphases in a fixed orderone passReleaseat the endAgileshort iterationsfeedback each cycleReleaseevery sprint

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.

  1. Requirements
  2. Design
  3. Implementation
  4. Testing
  5. 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 ideaMeaning
SprintA fixed length cycle that produces a working increment
Product backlogThe ordered list of everything wanted
Daily stand upA short daily team meeting
RetrospectiveA 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

FeatureWaterfallAgileLean
StructureSequential phasesShort iterationsContinuous flow
ChangeHard and costlyExpected and welcomeExpected
FeedbackAt the endEvery iterationContinuous
Main goalFollow the planDeliver working software oftenRemove waste
DocumentationHeavyLight but enoughLight

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.

Exam tip

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.

Watch out

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.