The original Agile Manifesto, first published in 2001, defined for our generation the meaning and philosophy behind "Agile development," in which IT professionals and business users team up to work on solutions iteratively. The Agile Manifesto also provided the model with which we wrote the SOA Manifesto last year.
With Agile, instead of developers staying in a room somewhere for months building a gigantic solution, which is then handed off either IT management, the QA team, or users themselves to sort through, rollouts are staged in more digestable, and collaboratively developed, increments.
He boiled the four values and 12 principles of the Agile Manifesto down to one value statement and seven principles:
A simpler manifesto for agile software development:
Every day we learn about how to develop software more effectively by doing it and helping others do it. We have learned to value doing what we now need over clinging to old promises.
These beliefs guide our work:
- Delivering valuable software early and often, weekly if we can and monthly if we must, satisfies customers more than any other activity.
- If our customers can’t change what they want, then they risk losing to competitors that can.
- Customers and developers need each other every day.
- To work well, teams need to care about their work, work steadily, decide how they’ll work, and revisit those agreements regularly, and everyone else needs to let them focus.
- Talking daily works better than any other way to communicate.
- We work best when we design both products and systems with the greatest care and attention.
- We work best when we continually and ruthlessly eliminate all unnecessary work.
Herbjörn Wilhelmsen, one of the co-creators of the SOA Manifesto, proposed his own set of simplifications to the Agile Manifesto, boiling the value statements down to two lines. Here are Herbjörn's thoughts:
Simplified Agile value statements:
- People working together over precise rules
- Doing what’s needed over keeping old promises
Instead of these original statements:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan