I recently stated to a friend that anyone who is not implementing Agile methods now would be sorry. He asked me how I would make that pitch to a C-level executive. It was a valid question. Normally I look for problems, find the root cause, and recommend changes as solutions to the problems. Its rare that I focus on a solution first.
The problem is the nature of the problem that Agile will solve.
When I first started looking into Agile, I was agnostic. I could see benefits, but I couldn’t see that traditional methods were doomed. They also seemed to have their place. It was easy to add Agile to a list of approaches, one that was especially good at mitigating the risk that the requirements were wrong or poorly understood.
Over time, as I have had more opportunity to implement Agile methods, I’ve shifted to an all-out evangelist. I will encourage anyone to start implementing Agile now, with the caveat that you might be too late. Why?
The simple answer is, surprise.
Software Development is full of surprises. Surprises can be as meaningless as Apple announcing a new, smaller form-factor for the iPad to as significant as introducing the smart phone. When surprises happen, those who can react swiftly and accurately are those who will win. Agile methods are required when you need speed and accuracy.
Agile methods are faster because they are lean. By reducing overhead, everyone in the organization is freed up to be productive. And Agile methods enhance basic productivity by encouraging creativity in everyone. Unleashing your team’s creativity allows you to solve problems that had been insurmountable. So Agile methods allow maximum productivity and establish a higher maximum. That speed can make all the difference when your competition announces a game changing technology.
Agile methods are accurate because there is constant and rapid feedback. People can and will make mistakes. You minimize the impact of mistakes by recognizing and correcting them quickly. Agile methods are focused on fast failure with fast correction. Whether that correction is tweaking a feature, completely changing a product, or cancelling the project all together, Agile gives you the best way to ensure you’re spending your money exactly where you should be.
Back to my original dilemma, it’s hard to explain fully to a C-level executive what problem I’m trying to solve with Agile because, if the problem has manifested, it’s too late. I’m trying to solve the problem that hasn’t happened yet.
But make no mistake. It will. Will you be ready?