Posted by Dave West on February 22, 2011
Last week Agile reached the milestone of 10 years. Ten years ago a group of 17 thought leaders met to draw up the original guiding principles and manifesto for Agility. These principles not only define the approach of many Agile methods but are the line in the sand when discussing if something is Agile or not. There is little doubt in my mind that the creation of these principles set in motion one of the most important transformations that the software development industry has seen ― focusing development teams on the things that really matter and challenging ideas of work, processes, and practices that make no sense in the development of software. But the question is, after 10 years, should the guiding principles be updated?
Reviewing the principles
When working with organizations that are introducing Agile methods, conflict sometimes occurs when reviewing the principles in the following areas:
- Individuals and interactions over processes and tools. The words individuals and tools usually cause the most concern when adopting Agile. Software development is a team sport, but this principle focuses on individuals. And as Agile grows in use, increasingly tools play a key role.
- Working software over comprehensive documentation. The challenge of documentation is often discussed when talking about this principle. As the adoption of Agile grows, so does its use in industries where documentation is crucial and legislated.
- Customer collaboration over contract negotiation. This is very true with internal development teams, but when external vendors enter the mix, contracts are important and will form the basis of the engagement.
- Responding to change over following a plan. Implementation of this principle often results in lack of upfront planning, which is contrary to most organizations' funding processes.
In addition to the issues with the core principles, many Agile adopters look for two other principles:
- Team-based process improvement. For successful Agile, it is important that Agility does not just apply to the result but also the means.
- Transparency and reporting. Another key tenet to effective Agile is that the whole team and other stakeholders understand the status.
A changed set of principles
The principles of working software, customer collaboration, and responding to change have stood the test of time. However, I would think about changing and adding the following:
- Teams and interactions over processes. Introducing the team concept reminds Agile adopters that teams are more important than individuals. I removed the emphasis on tools because though without tools, many large-scale Agile adoptions would not function, adopting a tool in support of a process that is not Agile would be a major mistake as well; thus, it is importance to use tools that support the team rather than the process.
- Transparent reporting over management dashboards. Putting in place simple open reports rather than focusing on dashboards that only support management provides consistent organizational knowledge.
- Team-led process improvement over process-group-developed change. The importance of retrospective and process ownership by practitioners needs to be front and center in any Agile adoption. Putting these principles at the front of Agility enables organizations to put in place the right organizational constructs and practices to encourage practitioner-driven change.
The Agile manifesto was a major success. Even after 10 years, it is difficult to improve on those original principles. That is a testament not only to the original 17 people who created it but also to the truth that those principles describe. However, Application Development & Delivery Pros should not just think that Agile is finished; instead, they should continue to extend the ideas, challenge their use, and apply what makes sense in their organizational context. The changes that I made to the principles are illustrative of the need for App Dev & Delivery Pros to continue to challenge the status quo and strive to improve the way software is delivered. I am looking forward to the next 10 years.