Lesson 6: The Agile Manifesto & Scrum
Agile is a lightweight, people-based (not plan-based) development approach, born from the Agile Manifesto published in 2001. In this lesson, which opens the Agile module, we meet the four values and the spirit of the manifesto's twelve principles, understand what an iterative and incremental methodo
In brief: Agile prefers people, working software, customer collaboration, and responding to change. Scrum is a framework to apply it — a self-organizing team that works in short cycles (sprints), meets for 15 minutes daily, and at each cycle's end shows working software and improves.
- Agile Manifesto
- A document published in 2001 by 17 authors (including Kent Beck and Martin Fowler) via the Agile Alliance; it states four values and twelve principles for lightweight, people-based (not plan-based) software development.
- The four values
- Individuals and interactions over processes and tools; working software over comprehensive documentation; customer collaboration over contract negotiation; and responding to change over following a plan. The right side has value — but the left is preferred.
- Iterative & incremental
- Development in short, repeated cycles (weeks to months, preferring the shorter), where each cycle (iteration) adds a working, accumulating part to the final product. This is the development style of Scrum.
- Scrum
- An iterative and incremental agile development framework, based on a self-organizing team, enabling rapid adaptation to change; named from rugby — the whole team 'goes the distance as a unit, passing the ball back and forth'.
- Scrum roles (R&R)
- Scrum Master (guides the team on Scrum rules and removes impediments); Product Owner (formally responsible on behalf of stakeholders and prioritizes the Product Backlog); the Team (self-organizes to meet sprint goals); the Customer; and Management (final decisions).
- Sprint
- A single iteration in the Scrum development cycle — of a fixed, pre-set duration up to 30 calendar days (in practice usually 1-4 weeks), ending with fully tested, fully functioning software for a demo.
- Product Backlog
- The current, prioritized list of all work remaining to be done on the product; from it items are chosen for the Sprint Backlog each sprint. The Product Owner is responsible for prioritizing it.
- Daily Scrum
- A short daily status meeting, timeboxed to 15 minutes, at the same place and time; each member answers three questions (what was done since yesterday? what is planned today? any impediments?). Impediments are resolved outside the meeting.