A common question posed to Product Managers in organizations interested in or transitioning into Agile is, “How do we know that we’re Agile?” Because agility is a cultural value, there’s no pre-determined checklist of things that one can step through and certify your company as 100% Organic Agile. There are, however, indicators that we look at to determine whether or not the company, a team, or even an individual, is thinking and acting in an Agile way. Here are a few key indicators that you can use to weigh your assessment of how agile you, your team, or your company are…
Perhaps the single most important cultural attribute that indicates a strong tendency toward agility is an acceptance of uncertainty — uncertainty in scope, uncertainty in difficulty, and uncertainty in delivery. The old classic waterfall methods of requirements definition and product delivery were founded on the belief that we can define everything that we want and need at the outset, and then simply execute against that checklist over time and be successful. And there are a lot of companies who still believe this, even some who claim to be Agile. The entire point of Agile development practices is that we do what we need to do most urgently, when we need to do it — if that’s a research spike, then we do it; if that’s user testing to validate a design, then we do it; if that’s postponing work in progress because something more important has come up, we do it. Agile is about assessing the current state of our market, our product, and our efforts at the end of every iteration to ensure that the next thing we do truly is the most important thing at that time.
Here are some indicators that your company might be paying lip service to Agility based on how they deal with uncertainty:
- If your company tries to define every nook and cranny of a project at the outset, they might be struggling with Agile.
- If your company tries to project reliable and accountable dates for delivery of a specific scope before any work is done, they might be struggling with Agile.
- If your company is not reviewing their tactical and strategic goals on at least a monthly basis, they might be struggling with Agile.
Agility is about accepting that there is uncertainty in our world and in our projects, and working our best and hardest to drive it out — to know as much as we can and learn as much as we need to with every single iteration of work that we do. When you accept that there are things that you don’t know, won’t know, and can’t control, you can make much more realistic plans and make decisions based on facts and data that you know now, rather than projections about a possible future that nobody knows will come to pass.
Sees Failure as a Learning Opportunity
Sometimes things go wrong. That is perhaps the truest truism that ever trued. But so many people in large (and even small) organizations fail to comprehend and apply this very simple and universal fact to their business lives. Managers demand perfection. Executives demand schedules that can never vary. All of which is entirely anathema to the fundamental concepts of Agile development and cultural agility. People make mistakes. Software doesn’t always do what you expect it to. Suppliers sometimes screw up a delivery. All of these things will happen during the lifecycle of your organization — probably many times over. And companies that see failures as something that should be punished often struggle, because they are disincenting people from being human — they’re treating them as cogs in a machine, entirely predictable and entirely replaceable.
Rather, successful agile companies see failure as an opportunity to learn something — to understand what happened, why it happened, and to put in place new ideas, processes, or checks to try to ensure that it won’t happen the same way again. Agile companies see failure as a trigger for evolutionary change in the organization — if a date is missed, we don’t just reset the date to a later time and clap ourselves on the back when we hit that date. We do a retrospective and look to see why we missed that date, and what we can do next time to increase the probability of hitting a target date.
Here are some indicators that your company might be struggling with understanding failure as a learning opportunity:
- If all status reports are green, all the time, no matter what’s actually happening, they might be struggling with Agile.
- If people are publicly chastised for making mistakes, they might be struggling with Agile.
- If you keep seeing the same mistakes made, time after time after time, they might be struggling with Agile.
There’s a reason that many Agile companies embrace a philosophy of “Fail Fast, Fail Often, Fail Cheap.” It’s because by embracing mistakes and failures, and using them as opportunities to learn, we can improve ourselves rather than wind up in a vicious cycle of repeating the same mistakes time and time again. When we accept that mistakes happen, that people and software is imperfect, we can then take the time to address those imperfections, rather than expecting unreasonable and unachievable perfection.
Constantly Challenging to Do Better
The third most important indicator of an Agile culture, in my opinion, really follows quite naturally from the other two — Continuous (or Continual) Improvement. Agile has many of its roots back in the lean manufacturing concepts introduced in 1940s Japan. And the single more important component of this approach that indicates a high level of agility in a company is just how seriously they take the idea of constantly challenging themselves to do better. The ultimate goal of manufacturing after lean entered the picture was “Just in Time” manufacturing — where every single component of the process was operating at its highest possible efficiency, and only using what was needed and only delivering what was needed when it was time to be used. But manufacturing lines don’t just magically start out using JiT principles — they have to develop to get there. Weaknesses need to be identified; waste needs to be reduced or driven out; people, tools, and processes have to be revised and tested and revised again. And the exact same things have to happen in Agile companies — we need to be constantly vigilant in knowing what’s keeping us from being as efficient and effective as possible.
Here are some indicators that your company might be struggling with continuous or continual improvement:
- If teams aren’t performing regular retrospectives at the end of every development iteration, they might be struggling with Agile.
- If the retrospectives that are being held are not resulting in actionable decisions and experiments to improve every iteration, they might be struggling with Agile.
- If teams are using the same tools, processes, and methods that they were a year ago, in the same exact way, they might be struggling with Agile.
Constant improvement should be a way of life for an Agile company — the idea that “if it’s not broken, don’t fix it” doesn’t apply. We should assume that everything that we do is broken or inefficient or ineffective in some meaningful way, and work every single iteration to drive some small amount of that wasted time, energy, and effort out of the process. If we just do the same thing, every single iteration, we’ll always wind up with the same results — and that’s not how agility works. We can always do better — and only through retrospection can we understand what we should try to improve next.