More Reflections on 10 Years Since the Agile Manifesto
InfoQ is far from the only organisation commemorating and commenting on the state of Agile ten years after the signing of the manifesto.
Here are some of the articles which have been published over the last couple of months:
One thing, at least, is clear from these reflections: What was defined at the Snowbird meeting remains a work in progress. It wouldn’t be agile otherwise.
A common theme from PragPub contributors is the need to focus on the simple principles and disciplines that were the foundation of the Agile movement. A number of them talk about the "bad" agile implementations that are hurting the perception of agile in the marketplace, they also lament the many formulaic adoptions of the agile practices whithout underlying acceptance of the need to proactively adapt them to local conditions.
For example Andy Hunt says:
That’s a big part of the picture we haven’t got quite right yet: helping people work out new practices in particular contexts that work well for them. That’s the secret to real agility; it’s not about doing pair programming, or having stand-up Scrum meetings. Anyone can dogmatically follow the practices prescribed by others.
But true agility goes beyond the dogma, beyond the practices. Agility is about adapting; adapting your process, your language, your tools, your team, and yourself to respond to the situation at hand. We need to be positioned to be able to do that in order to fully realize the promise of agility, and maybe even move beyond it.
Frankly, though, I had imagined more. I had hoped that many people would adopt these ideas, and I had imagined a significant step upward in project success among those who did adopt them. I had imagined the industry really moving up a notch. What happened is that many have adopted the ideas, at least in name, but that few of them have attained anything like the benefit that is possible.
There is at least one new problem ten years after. Now we have organizations that have a few Scrum Masters and proclaim themselves Agile, but that continue to spend months in analysis and design, and similar amounts of effort in test and fix. They have stories and iterations, but ignore relative effort estimates and velocity. Code is deteriorating. Tests are not written. And they wonder why Agile is not working for them.
Jim Highsmith has an article in Dr Dobbs in which he encourages the community to "Keep Agile Going" - he is encouraged by the way that the agile movement has "learned to deliver value to customers faster, how we’ve brought quality to the forefront in ways that haven’t happened before, and how we’ve improved the quality of work places around the globe".
He provides advice on ways to ensure that the agile community continues to move forward: continue to innovate, balance idealism and practicality, reinvigorate our Agile value roots, and unify rather than splinter.
Innovate. I’m encouraged by the continuous innovation I see in Agile: DevOps, continuous delivery, the conversations over technical debt, Lean, Kanban, Agile/Adaptive Leadership, and more. Continued innovation combats the creep of staleness that tends to infect movements after a few years.
Idealism vs. Practicality. As Agile permeates into larger organizations; we have to focus on both idealism and practicality. Many people don’t care much about esoteric arguments — they care about results. Idealism and innovation are absolutely necessary for a vibrant movement, but they need to be balanced with a dose of practicality in organizational transitions.
Reinvigorate. The power and attractiveness of the Agile movement lies in its values as expressed in the Agile Manifesto and the Declaration of Interdependence. The more we can emphasize the dual importance of both doing Agile (practices) and being Agile (values), the better we can move forward on a more solid foundation.
Unify vs. Splinter. As any movement grows, there are times when it tends to splinter and times (sometimes) when it unifies. I appreciated Mike Cohn’s recent Scrum Alliance update in which he said, “We want Scrum teams to look beyond the Scrum framework and experience the great ideas found in our sister approaches of Lean, Extreme Programming, Kanban, Feature-Driven Development, DSDM, Crystal, Adaptive, and more.” Efforts like this to bring the Agile/Scrum/Lean/Kanban/etc. communities together, rather than continue to splinter further, leaves less space for the idiots to exploit.
Dr Dobbs also has an article by Scott Ambler titled "Agile at 10: What We Believe" talking about the 10-year anniversary meeting organised by Alistair Cockburn that he attended. The participants examined the state of the agile movement and discussed the future direction of the agile community. Denis Stevens also attended the 2011 meeting and posted his thoughts in a blog entry titled "WHAT’S NEXT FOR THE AGILE MANIFESTO"
Both Ambler and Stevens talk about how the attendees came to a set of four belief statements:
We, the undersigned, believe the Agile community must::
- Demand Technical Excellence
- Promote Individual Change and Lead Organizational Change
- Organize Knowledge and Promote Education
- Maximize Value Creation Across the Entire Process
Stevens summarises the thinking behind the four statements as follows:
Demand Technical Excellence
At the end of the day, you can’t deliver value through technology if you are not delivering quality. This category brings in aspects of architectural, engineering, and design. This is still a pressing issue and must be addressed in the community to deliver on the promise of the Agile Manifesto.
Promote Individual Change and Lead Organizational Change
Here is an example of a sentence that we had a broad range of perspectives on. Without adoption by individuals and alignment of organizational governance and management models, Agile won’t deliver on its value proposition.
Organize Knowledge and Promote Education
This isn’t just about the practitioners, it includes the broader business context as well. The community needs to build on the broad body of knowledge that exists within and outside the community – we have to avoid reinventing everything. Diversity of thought is important to the ongoing growth of the community – but we don’t actually do a very good job of intentionally building on the body of knowledge.
Maximize Value Creation Across the Entire Process
Software Development is not an end unto itself. Too many organizations moving toward Agile are focused on just the software development team. This is only valuable to the point that the software development team is the constraint in the organization. We need to learn how to do a better job of defining value and aligning the cadence across the organization and improving the flow of value from concept to delivery.
The editors of SD Times have declared that the term "agile" is no longer going to be used in their publications, after ten years agile practices are now mainstream and are the way software is now built:
Enough with “agile” already! It’s been 10 years since the Agile Manifesto, and the conclusion is inescapable: Agile methodologies are a key part of the foundational software development universe.
We believe that the broad acceptance of agile software development, and its validation broadly throughout our industry, says that agile is mainstream. That’s not to say that we’re not going to use the “A-word” ever again, but rather we’re going to change how we talk about it. Our intent is to stop treating agile development as something new, unusual, niche or experimental
Where is agile heading, and what thoughts do you have when reflecting on 10 years since the agile manifesto?
What makes Agile agile?
I like the distinction made here between:
- Doing agile (practices) = iterative development etc.
- Being agile (value) = self-organizing team, trust etc.
He also emphasizes why both are required.