An Agile Answer to “Are we Agile if…?”
The Agile software development movement and the realization that Agile techniques work in non-software environments have led to practitioner discussions asking “Are we Agile if…?”, or the Agile-but counterpoint “We’re Agile, but we don’t…”
Of late, many have repeated the mantra that Agile is a mindset, not just a set of cookie-cutter elements to be applied unilaterally. These elements need to be tailored to fit the organization based on it’s stage of development and environmental factors in order to create positive results.
It seems to me that deciding an organization’s level of agility based on adherence to a prescribed practice and ceremony list is not an evaluation process that fits with the key concepts of Agile itself!
The first element of the Agile Manifesto is “Individuals and interactions over processes and tools.” Here is my approach, focusing on individuals and interactions, for answering the question “Are we Agile if…?”
* If how we interact and how we make progress as an organization has improved, and repeated communication and process enhancements generate better results over time, then we are agile.
* If we regularly evaluate our process and results throughout and after projects, figure out what worked well and how it could be improved, and incorporate those improvements to our processes, then we are agile.
* If the people who need and will use the output of our work get the opportunity to use completed functioning portions of it with their own hands, as it is being built, on a regular basis, and feedback is taken openly to improve, re-prioritize and improve the end product, then we are agile.
* If we respond to criticisms, complaints or objections to the current design of a product with a sincere attempt to understand the perspective of the commenter, work to extract the value from their concerns, and figure out how to regularly add that value to the product, then we are agile.
* If the prioritization of work is based on perceived value to those who will actually use the product (rather than the people who are building the product), and if they regularly review and re-prioritize the work based on their real-world needs and understanding of the product’s value, then we are agile.
* If the product is built in order of descending value and priority, so that at any point in time halting work would result in the highest value and priority items being complete and ready for use, then we are agile.
* If we recognize that no one can fully know, understand and articulate in detail the highest value output of a project at the beginning, that working with partially complete elements will trigger learning and changes that will improve the value of the resulting product, that change thus is a value creation step, and continue to perform the work in ways that improve our ability to make changes along the path as learning happens, then we are agile.
* If we create ways to measure the value, quality and cost of our process and results, review these metrics on a regular cycle much shorter than the project length, and find ways to improve on a regular basis, then we are agile.
Perhaps the most important measure of the answer to “Are we Agile if…?” lies not with the builders, but with those served…
* If those who need and will use the outcome of the work perceive that they got higher value during and at the end of the process than some time in the past, that the results are useful at the time they are delivered, and that the time investment in the process was a net positive value, then we are agile.
Some may think this an unconventional way to answer “Are we Agile if…?” since it does not focus on evidence of the well-known Agile ceremonies such as retrospectives, daily scrum meetings, particular charts and graphs, code reviews and pair programming, test-driven design, continuous integration and many other artifacts related to Agile. Past all of these details, these simple questions are at the core of the value of Agile, and can be guides to both “What should we focus on next?” and “Is it working?”
It happens that many of the standard Agile practices are good ways to make improvements in one or more of these areas. The practices are a tactic towards a strategy, however, and not necessarily the only path to improvement.
In some cases, an organization is not ready for a particular practice, yet it is ready for a different approach that will create improvement and movement towards being ready. I think that path represents the best of Agile, even if the attendant ceremony does not match “the Agile way” in a textbook sense.
What do you think of this approach to answering the question “Are we Agile if…?”