When an Agile Project does not Seem to be Working
Colleague and friend Paul Beavers suggested writing a post on this topic. To quote Paul:
… it is clear the [Agile] methodology often gets blamed for poor quality and poor general execution. The root cause of these problems is not methodology but more the mere implementation of it. It would be valuable to read ideas on how to recognize things are not performing and how to keep leading an organization through the tough times.
Recognizing when things are not working
The post Early Warning Signs highlighted various specific indicators one could use to foresee problems. Examining the same subject from a somewhat different perspective, Jean wrote about Twelve Top Agile Adoption Failure Modes. Christophe Louvion has recently conducted a session on the topic 101 Things Leaders do that Kill Team Productivity. It should be fairly easy to sense that something is not right by consulting theses three sources in conjunction with your own intuition.
A good practice to follow is establishing a base line with respect to the state of your software engineering practices before starting an Agile implementation. Collect and record the data for a metric or two. For example, number of bugs per thousand lines of code is a useful metric for quite a few purposes. When you suspect the Agile implementation might not be working, compare the historical data you collected with current data. You will be able to assess your progress (or lack thereof) on a relative scale instead of an absolute one.
What to do about it
IMHO self-awareness is more than 50% of the solution. It comes in two “flavors”:
- If the things that do not work are under your control, start addressing them with realistic expectations in mind. For example, it might take a few months to get an inadequate build process to the point is satisfies the requirements of your Agile process.
- When the things that do not work are beyond your control, your task is to make the right folks fully aware of the obstacles. It is a minute of truth for you as an Agile champion: you might need to convey some hard facts to various senior folks in your eco system. It is not too hard to do if you are wholeheartedly convinced Agile is the right thing to do. It is next to impossible to do if you are ambivalent about Agile.
One other thing to do is assess whether Agile is indeed a good fit for your business imperatives and corporate culture. Chances are you had already made this assessment prior to starting Agile. Reassess in view of the actual experience of the Agile initiative.