Phase 1 of 5  ·  Foundations
Week 03 / 20   ·   Ch 3

Agile
Software Development

"Agile is NOT just standup meetings. Here's what it actually means."

📚 Ch 3 — Agile Development📋 Agile Manifesto🏃 Scrum + XP + Kanban⏱ ~20 min read

🔍Concept Deep Dives

Click each concept to expand — real examples, diagrams, pros & cons.

📜

Agile Manifesto

4 values + 12 principles published in 2001 that redefined how software is built.

When to Use

Understanding the 'why' behind all agile methods.

Real-World Example

Published by 17 practitioners in 2001 as a reaction to heavyweight, document-heavy processes like RUP.

✓ Advantages

  • Shifts focus to working software over documentation
  • Enables fast response to change

⚠ Watch Out

  • Misunderstood as 'no process' — it's actually disciplined
  • Can be used to justify cutting corners
The Agile Manifesto — 4 values
Individuals & interactions  ›  processes & tools
Working software  ›  comprehensive docs
Customer collaboration  ›  contract negotiation
Responding to change  ›  following a plan
The left side is valued more — but the right side still has value.
🏃

Scrum

Time-boxed sprints (2-4 weeks), daily standups, product backlog, sprint review. Most widely used agile framework.

When to Use

Team of 5-9 people. Complex product with evolving requirements. Need visibility.

Real-World Example

Spotify, Amazon, Salesforce — most tech companies run some form of Scrum or modified Scrum.

✓ Advantages

  • Regular delivery rhythm
  • High team visibility
  • Customer feedback every sprint

⚠ Watch Out

  • Doesn't scale easily to large teams without modifications
  • Needs a committed, experienced Scrum Master
The Scrum cycle
1Product BacklogPrioritized list of everything the product needs.
2Sprint BacklogWork selected for this sprint during planning.
3Daily Scrum15-minute standup to sync the team.
4Working SoftwareA shippable increment every 2–4 weeks.
Review & retro, then repeat
🧪

Extreme Programming (XP)

Technical practices: TDD, pair programming, continuous integration, refactoring, small releases.

When to Use

Teams prioritizing code quality and technical excellence over process.

Real-World Example

Many XP practices are now standard: TDD in all serious teams, CI/CD everywhere, refactoring in all IDEs.

✓ Advantages

  • High code quality
  • Catches bugs early (TDD)
  • Shared code ownership

⚠ Watch Out

  • Pair programming = expensive (2 devs on 1 task)
  • Needs a customer on-site — hard to arrange
XP — core technical practices
TDDRed → Green → Refactor
Pair ProgrammingDriver + navigator on one task
Continuous IntegrationCommit → build → test → deploy
Small ReleasesShip every 1–2 weeks
📊

Kanban

Visualize work on a board. Limit work-in-progress. Flow over iterations.

When to Use

Ops/support teams, continuous delivery, maintenance work without fixed sprints.

Real-World Example

GitHub Projects, Trello, Linear — all Kanban-style boards. Good for bug queues and support workflows.

✓ Advantages

  • No time-boxed sprints — more flexible
  • WIP limits prevent overload
  • Great for ops and maintenance

⚠ Watch Out

  • Less structure — can drift without discipline
  • Harder to plan releases
Kanban board — flow with WIP limits
To Do
In ProgressWIP limit: 3
ReviewWIP limit: 2
Done

📋Quick Reference

θ Ch 3 Cheat Sheet — Agile Software Development
Agile Manifesto (4 values)
Individuals > Processes. Working software > Docs. Customer collab > Contracts. Change > Plan.
Scrum Sprint
2-4 week time box. Daily standup (15 min). Sprint backlog from product backlog. Review + Retro at end.
Scrum Roles
Product Owner (what to build), Scrum Master (remove blockers), Dev Team (build it).
XP Practices
TDD, pair programming, CI, refactoring, small releases, on-site customer, collective ownership.
Kanban
Visual board + WIP limits + flow optimization. No sprints. Pull-based.
Scaling Agile
SAFe, LeSS, Scrum@Scale for large teams. Agile works best at team level (5-9 people).
Agile vs Plan-Driven
Agile: working software over docs, embrace change. Plan-driven: upfront design, predictable delivery.
θ
Sommerville's Key Points — Ch 3
Author's own summary from the end of the chapter.
  • 1Agile methods are iterative development methods designed to produce useful software quickly.
  • 2Agile Manifesto (2001): 4 values + 12 principles — people over process, working software over docs.
  • 3Scrum: time-boxed sprints, product backlog, daily standup. Most widely used agile framework.
  • 4XP: technical practices — TDD, pair programming, CI, refactoring, small releases.
  • 5Kanban: visualize work, limit WIP, optimize flow. Good for maintenance and operations.
  • 6Agile scaling: large systems need elements of plan-driven approaches (SAFe, LeSS).
  • 7Agile is not suitable for all projects — safety-critical systems need plan-driven approaches.

🌍From the Book & Beyond

📖

Case Study — The "Prescribing Medication" Story Card

Sommerville shows XP in action with a story card from the Mentcare system: Kate, a doctor, prescribes medication for a patient. The team breaks her story into task cards — change dose, formulary selection, and dose checking, a safety precaution against dangerously small or large doses. True to test-first development, "Test 4: Dose checking" is written before the code: single dose too high, too low, dose × frequency outside the safe range. One story, three XP practices — and a warning: the big weakness of user stories is completeness, because users leave things out.

2026 Perspective — Agile at 25, With AI on the Team

The Agile Manifesto turned 25 in 2026, and its values won so completely that "agile" is just how software gets built — though often as ritual Scrum rather than the XP engineering discipline this chapter describes. Two forces are reshaping it: remote-first teams replaced the shared room and physical story cards with Slack, Linear, and Jira; and AI assistants now draft code, tests, and even story breakdowns inside sprints. That makes the genuinely human parts — customer collaboration, prioritization, deciding what NOT to build — the parts that still need a standup.

🧠Quiz — Test Yourself

Think through your answer first, then reveal.

Q1
Recall
What are the 4 values of the Agile Manifesto? What does each one mean in practice?
Individuals & Interactions > Processes & Tools (talk to each other, not through tickets). Working Software > Documentation (ship it, don't just write about it). Customer Collaboration > Contract Negotiation (work with the customer, not against them). Responding to Change > Following a Plan (adapt the plan when reality changes).
Q2
Apply
What is the difference between Scrum and Kanban? When would you use each?
Scrum: time-boxed sprints (2-4 weeks), fixed team, sprint backlog, ceremonies. Good for feature development. Kanban: continuous flow, WIP limits, no sprints. Good for operations, support, maintenance, or any work that arrives unpredictably.
Q3
Analyze
Sommerville says agile is not always appropriate. When should you NOT use agile?
Safety-critical systems (avionics, medical devices) where full upfront specification and verification is required by regulation. Also: large distributed teams with contractual requirements, embedded systems with fixed hardware interfaces, and systems where the customer cannot participate regularly.
Up Next → Week 04
Requirements Engineering
Build the wrong thing fast = waste. Here's how engineers avoid it.
Continue → Week 04