If I had asked people what they wanted, they would have said faster horses.
There’s no single recipe that results in perfect software every time. Agile teams recognize this. Instead, they have ideas and ground rules that help to guide teams to make the right choices and avoid problems—or deal with those problems when they inevitably happen.
There are 12 principles that every agile practitioner should use when working on a software project team. When the 17 original signers of the Agile Manifesto met at Snowbird, Utah, they came up with the four values in the Agile Manifesto quickly. It took them longer to come up with the 12 additional principles that accompany the Manifesto. Manifesto signer Alistair Cockburn recalled:2
The group of 17 quickly agreed on those value choices. Developing the next level of statements proved more than we could settle on in the time left in the meeting. The values included in this section make up the current working set.
These statements should evolve as we learn people’s perceptions of our words and as we come up with more accurate words ourselves. I will be surprised if this particular version isn’t out of date shortly after the book is published. For the latest version, check the Agile Alliance.
Alistair was right, and the language on the website for the principles is, in fact, currently slightly different than the language in his book. The language may always be evolving, but the ideas and principles have stayed ...