What is “Agile”? Is it the Manifesto?
It all started when Kevin Trethewey tweeted “Agile is inspect and adapt. The rest is just a serving suggestion.”
Unwisely, I replied “no”. Jim Benson chipped in with “Ron is saying agile isn’t even inspect and adapt. :-)”. He’s very funny, is Jim.
I replied “I’m saying Agile is what we said it was. Inspect and Adapt is a good way to improve and is orthogonal to Agile”.
You can find most of the thread here.
Meanwhile, I’ve tried to organize my thoughts and express them better than I did or could, in a Twitter thread.
Values, principles, ideas.
- The Agile Manifesto is a list of values and principles which 17 people shared with each other, and which thousands of people have since endorsed.
- Things ought to be called “Agile” when they are consistent with those values and principles.
- New Agile-related ideas arise all the time. All wise people hope that we find them.
- The important thing is new ideas. It would be inappropriate to update the Manifesto every time someone has a new idea. But keep those ideas coming!
The Manifesto lists values and principles.
In 2001, 17 aging1 white men met and the result was the Manifesto for Agile Software Development, a list of four values and twelve principles which those 17 men held in common. They believed (and all of them present at a meeting a decade later still believed) that those values and principles were good principles and values for developing software.
Thousands of people have subsequently endorsed those values and principles, indicating that they share them. Each of those individuals almost certainly has many other values and principles, some in common with other individuals, and perhaps even some unique ones.
And friends, they may think it’s a MOVEMENT.
The Agile Manifesto founded the idea of Agile Software Development, which has grown over a decade and a half into a very large movement, spawning methods, companies, books, conferences, and a multitude of consultants. I am surprised and pleased to have been present at a meeting that had such substantial impact. Nonetheless, the Agile Manifesto is simply a list of values and principles which the 17 authors shared, as have the thousands of people who have endorsed it subsequently.
Let’s use “Agile” to mean “consistent with the Manifesto”.
At the time of the Manifesto, there were already frameworks called Scrum and Extreme Programming. Since those frameworks supported the Agile Values and Principles, their respective creators, Sutherland & Schwaber for Scrum, Beck for Extreme Programming, felt they could properly call their frameworks “Agile”. That makes sense to me, and I hope it does to you.
More a guideline than an actual rule.
I’m suggesting that, as a rule, when people say that some FOO is an Agile FOO, everyone should understand from that phrase that FOO supports the values and principles of the Agile Manifesto.
New values, principles, and ideas arise all the time!
People are devising new values, principles, ideas and tools all the time. These may well be consistent with the Manifesto. When they are, we call them “Agile”.
Surely we all hope that more and more good ideas are discovered, that will help us more and more. In the years after the Manifesto, most of the Authors have contributed to the growing understanding of “Agile”, by presenting writings, techniques, ideas, practices or tools. The Authors continue to grow “Agile”.
Much more exciting and valuable, in my opinion, are the contributions of the many other people who have added to our understanding of this exciting collection of ideas.
New ideas don’t belong in an old document.
The Manifesto is not a definition of what techniques, ideas, practices, or tools are good or valuable or useful. It’s not a definitive list of all things “Agile”. It is just a statement of the four shared values and twelve shared principles which the Authors wished to endorse at that point in time. It has been a surprisingly powerful and motivating statement, but it is merely the rallying cry: it is not the whole of “Agile” and was never intended to be.
The contributions to “Agile” since the Manifesto have been numerous and immensely valuable. They have all been created by people who share the values and principles, and who have worked in that light to create their own contributions. Should all these contributions be put back into that old document? I think not.
To me, it makes no sense to update an historical document written by 17 men back in 2001. If one were to update it, what would be the mechanism? A vote of the Authors? A vote of the thousands of Signatories? I think not.
What is far more important is to keep building the body of knowledge and understanding which that historical document has spawned. And we’re all doing that in our own way. Frankly, it’s an insult to the creative new ideas to relegate them to an update of a document that’s a decade and a half old.
“Agile” is growing and updating every day. No one owns Agile Software Development, no one owns the word “Agile”. The founding document simply stands as a marker of an historical moment in time. If the document were a constitution one might update it. It’s more of a declaration. It’s a Manifesto. One does not update such a thing.
Seventeen men, at a meeting in 2001, described an approach to software, “Agile Software Development”, shortened commonly to “Agile”2. It seems to me polite to let those words stand as meaning, roughly, “Agile Software Development is software development done consistently with the Manifesto’s values and principles”.
Following this pattern, I’m suggesting that a thing should be called “Agile” if it is consistent with the Manifesto3.
You may know better than any of us how to develop software consistently with the Manifesto. I hope you do. I hope you tell us: I’d like to learn from you.
And you may even know some values and principles that are better and should be used instead of or in addition to the Manifesto’s. I hope you’ll tell us: I’d like to learn those as well.
The Manifesto itself stands as an historical document, no more and no less. It belongs to a moment in time; its words belong to the Seventeen who wrote it. Its meaning and implications belong to the thousands who signed it and to all of us. It’s not a thing one updates. “Agile” is a thing one updates. Its founding document is not.
This is the real universe,
not the Marvel universe. (AFAWK)
Your ideas may be founded in the Manifesto. They may stand near it and yet be founded on other values and principles. We need those wonderful ideas. Your ideas update and improve the thing we call “Agile”. We don’t need to retcon the Manifesto to include them.
James Grenning says that he was not aging at that time but that he has since begun to do so. Let’s take him at his word, shall we? ↩
Some recall that the word “Agile” was used to describe software development prior to the Manifesto. That’s not my recollection, but I was not then nor am I now aware of everything that ever went on. It’s certainly possible that one or more of the Authors had introduced the term already, or even that someone else did. If there’s documentation for prior use of the term, I’d certainly like to know. ↩
People are free to use words as they choose, although sometimes at the risk of reduced communication. Everyone is certainly free to use the word “Agile” to describe most anything. Some products and approaches already do. Everyone is free to make up some other history of the word’s use in software development. I’m just reporting my recollection and suggesting a potentially useful way of using the term. ↩