Agile Manifesto
The Agile Manifesto (formally the Manifesto for Agile Software Development) is the short 2001 document that defines what “agile” means: 4 core values and 12 supporting principles. When anyone argues about whether a practice is “really agile,” this is the reference they’re appealing to.
It was written in February 2001 when 17 software practitioners, advocates of lighter-weight methods like Scrum, Extreme Programming, and others, met at a ski lodge in Snowbird, Utah, to find common ground. The word they agreed on was agile. The whole thing fits on one page, which is the point.
Also known as
the Manifesto · agile values and principles · “the Snowbird manifesto”
Don't confuse with
The four values
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.
The most misread sentence in software
The last line matters enormously. Agile does not say “no documentation,” “no plans,” or “no processes.” It says that when the two sides conflict, prefer the left. A team that ships zero documentation and calls it agile has misread the manifesto.
The twelve principles
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
- Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
- Business people and developers must work together daily throughout the project.
- Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
- The most efficient and effective method of conveying information is face-to-face conversation.
- Working software is the primary measure of progress.
- Agile processes promote sustainable development. Sponsors, developers, and users should be able to maintain a constant pace indefinitely.
- Continuous attention to technical excellence and good design enhances agility.
- Simplicity, the art of maximizing the amount of work not done, is essential.
- The best architectures, requirements, and designs emerge from self-organizing teams.
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
How to use these principles
They’re a checklist for calling out fake agile. “We’re agile” but releases happen twice a year? That breaks principles 1 and 3. No retrospective ever? Principle 12. The team can’t sustain the pace? Principle 8.
See also
- Agile software development: the mindset this document defines
- Scrum · Kanban · Extreme programming: frameworks that implement it
References
- K. Beck, M. Beedle, A. van Bennekum, A. Cockburn, W. Cunningham, M. Fowler, et al., Manifesto for Agile Software Development (2001). https://agilemanifesto.org. The principles are at https://agilemanifesto.org/principles.html
- History: The Agile Manifesto. The signatories’ own account of the 2001 Snowbird meeting. https://agilemanifesto.org/history.html