Uncle Bob Martin: The Agile Manifesto, 15 years later
Robert "Uncle Bob" Martin is one of the 17 software development visionaries who met at The Lodge at Snowbird ski resort in Utah in February 2001 to discuss the various lightweight development methods of the time. The result of that meeting would become known as the Agile Manifesto.
Ironically, the Agile Manifesto, which values welcoming and responding to change, seems to be the only thing in the software development industry that has not changed at all since the time of its inception. And even if it needed to be updated, there’s nothing built into the Agile Manifesto that would allow it to be changed. Is the Agile Manifesto the most un-agile thing about agile software development? Or could it be that its concepts are so timeless that it remains as agile as ever, with no need for changes?
I asked Bob to shed some light on what really happened during the meeting at Snowbird, how he views the legacy of the Manifesto fifteen years later, and the future of software development in general. The following article is based on our discussion.
The meeting at Snowbird
The meeting started with a very brief call to action, namely to write a manifesto, although no one knew what it would look like, or whether it would be a large or small document.
To seed the discussion, the participants all wrote down the issues that were most important to them on index cards. They then arranged the cards by topic and found that there were many ideas that were heavily represented. During the discussion that followed, someone, probably Ward Cunningham, was inspired to write down four sentences that would become the Manifesto, with the concept that they weren’t rejecting the ideas on the right, but rather valuing the ideas on the left more. This was the epiphany for the group, and it led to a lot of agreement. “That was startling for that group,” said Bob, “because we didn’t agree on anything! We didn’t vote; there was just a consensus. Once the four sentences were on the board, we all just looked at them and went, ‘Yeah!’”
The most disagreement was over what to call it. The name of the meeting itself was “Lightweight Methods Summit,” but no one liked the term “lightweight.” After proposing and discussing a number of alternatives, they used a show of hands to adopt Jim Highsmith’s suggestion of “agile.” This was the only actual vote of the meeting.
The Manifesto itself came into being in the first day of the meeting. On the second day, the group expanded the scope to include a set of 12 principles, which were negotiated by email afterwards, a process that apparently took several months.
The surprising legacy of the Agile Manifesto
The attendees had few expectations following the meeting. They thought that some people would read the Manifesto, and perhaps a few articles would be published, but it would fade away, just like many other movements in software. But reality was very different. “It was wildly in excess of anything I expected,” said Bob. “The adoption curve continues to grow at a very fast pace, with more and more people doing agile.” Almost everyone in the IT community has been involved in at least some kind of agile pilot, and the adoption rate continues to increase. Bob predicts that the growth curve will continue to the point where everyone will be doing it, although it’ll takes 20 to 30 years. We’re not there yet.
That said, today’s agile is not the same agile that was discussed at the meeting. There’s been a shift toward business, and away from technology, which was seen as critical at the meeting. Bob recalls Kent Beck saying at Snowbird that his motive behind extreme programming, or XP, “was to heal the divide between programming, or technology, and the business. And that divide has not been healed, at least not by mainstream agile.” The agile community has been taken over by project managers and scrum masters, which means the technology side of Beck’s equation has been abandoned by a large part of the agile movement. Bob finds this deeply disturbing. The technologists have created the software craftsmanship movement to correct the balance, so concepts like pair programming, test-driven development, and functional testing are growing in popularity among development teams, although they still lag behind the project management emphasis that seems to have overwhelmed everyone.
While the software development community has seen a focus in recent years on agile at large scale, Bob said that the meeting didn’t address scaled agile explicitly. He’s skeptical about the concept, though. “I doubt that there is any such thing as adoption of agile at large scale. It may be that the only way is to adopt agile is at small scale, and even in a large organization you wind up with a bunch of very small agile teams.”
The future of agile
As I noted earlier, the Agile Manifesto hasn’t been changed in its 15 years. I suggested to Bob that maybe the third principle should be updated, because it limits the frequency of software delivery to “a couple of weeks.” Don’t today’s DevOps and continuous delivery cycles — allowing some teams multiple software releases in a single day — make that two-week interval sound rather quaint? “At the time in 2001, we couldn’t imagine doing anything faster than a couple of weeks,” said Bob. “Tom Gilb was the one person in the community who could, but he wasn’t present at the meeting. We thought two weeks was the lower limit and no one bothered to challenge it, and that was clearly shortsighted.”
Yet, the Manifesto is not likely to change. For a start, there’s no process in place that would allow it to be changed, and no clause was built into it to allow it to be altered. “Think of the Manifesto as a call to action in a point of time, and not a script of how to behave,” said Bob. “It was a moment, not an era.”
The present: Do we need ethical standards?
The attendees at the Snowbird meeting were some of the thought leaders of the time and continue to be highly influential. Who else does Bob think we should we be paying attention to today? Rather than name names, he explained that he’s concerned that software development doesn’t have a defined profession and lacks an agreed set of ethical and moral standards. Software touches every part of our lives and has become so embedded in our society that society as we know it simply couldn’t exist without it.
“Software is being written by a very large cohort of people who do not agree on an ethical standard. So we see things like the Volkswagen debacle, which is deeply frightening. If that kind of thing continues, our society is very likely to demand some kind of regulation. And if society regulates us before we regulate ourselves, it will be a disaster. So I’d be paying serious attention to the people who are focusing on the issue of our responsibility to society. What are our ethics? What is our profession? Who are we as programmers? What rules do we have, and how do we enforce those rules?”
A snapshot in time
The background image on the Agile Manifesto website is a picture, taken by Ward Cunningham, of some of the Snowbird participants around a whiteboard. But the picture has been processed, which makes it impossible to see what’s written on the board. Bob told me that it was the text of the Manifesto, in its final form, or pretty close to it.
Last year, he was in Utah and went back to the Lodge at Snowbird. He found the room just the same as it was in 2001. He wrote the full text of the Manifesto on the same board and took a picture of it. He very kindly shared the photo with me so that I could publish it here for us all to enjoy.
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.