What is the Agile Manifesto, who are the authors, what are the values and principles?
The Foundation of Values
The agile software development with its prominent representatives like Scrum or Extreme Programming is based on a foundation of values, which were published in 2001 as “Manifesto for Agile Software Development” – short: Agile Manifesto. The Agile Manifesto was written by experts in software development with the following claim:
“We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value.”
The following four values are defined by the Agile Manifesto:
- Individuals and interactions over processes and tools.
- Working software over comprehensive documentation.
- Customer collaboration over contract negotiation.
- Responding to change over following a plan.
In the practice of agile software development there are always discussions about these values. Although the authors explained when publishing the Agile Manifesto that they find the values on the right important, they rate the values on the left (the bold values) higher. However, you are not saying that there should be no documentation in agile software development, but only that functioning software is more important.
The Agile Manifesto was signed by 17 people who are still very much respected in the agile community today. Namely in alphabetical order: Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland and Dave Thomas.
The Principles in the Agile Manifesto
In the course of the manifesto, 12 principles of agile software development were also documented:
- The highest priority is to satisfy customers through early and continuous delivery of valuable software.
- Changes in requirements – even late in development – are welcome. Agile processes use changes to the competitive advantage of the customer.
- The delivery of functioning software should take place in regular, ideally short periods of a few weeks or months.
- Technical experts and developers must work together continuously, i.e. on a daily basis.
- Motivated individuals must be trusted. They should be supported by an environment that they need for their projects.
- If possible, communication from outside and within the development team should take place face to face. This is the most efficient and effective method.
- The most important measure of progress is the functionality of the software.
- A steady pace that clients, developers and users can maintain over an unlimited period of time promotes sustainable development.
- The focus should always be on technical excellence and good design.
- Simplicity is essential. (Elsewhere – not in the Agile Manifesto – this is also referred to as the KISS principle).
- The self-organisation of the teams in planning and implementation leads to the best requirements, designs and architectures.
- At regular intervals, the team reflects on how it can become more effective and adapts its behaviour.
These 12 principles complement the four values of the Agile Manifesto; together they form the basis for a number of methods and practices that apply in agile software development (e.g. at the Daily Scrum, at the Sprint Review or at the Retrospective) and also in product development. The current version of the Scrum Guide states that the Agile Manifesto is not only suitable for software development but also for product development in general.
What remains when you put aside methods, processes, frameworks, and certifications when it comes to agility and focus on the important things? 4 modern agile principles! Learn more here.