I was talking to a colleague this morning about why change is difficult. So often everyone is working so hard, and although everyone knows change is needed, it seems to be impossible to stop for long enough or to invest any of the already over-committed resources to make a change. Even if the benefits of the change in the long run are clear, the short-term costs are too high to contemplate.
In other words, it’s like being in a shark tank with a bleeding cut. You haven’t time to stop to bind up the wound because the shark is coming. So you go on bleeding, and the shark goes on smelling the blood. And the longer you fail to bind up the wound, the weaker you get and the harder it is to out-swim the shark.
So you have a choice. You can face the dilemma, bind up the wound and hope that you’ll stop losing blood and the shark will lose interest in you. Or you can keep on swimming, but know that you’re getting weaker and weaker and the shark isn’t going to stop.
Of course this is the same as many investment decisions in times of trouble. You make the investment, because although it raises a risk of failure, not taking the risk turns the risk into a certainty.
So what has all this to do with Agile? Well, here’s a list of Agile components that bear on this problem, either to ensure that the problem never arises in an Agile environment or to help you dig your way out. But you have to make the basic call yourself.
- Quality First.
- Definition of Done.
- Creating a spike.
- Iteration 0.
- Technical debt.
- Refining the backlog.