I sat in a meeting one day with a group of managers and engineers discussing how we might solve a vexing customer problem. We started out trying to articulate a problem statement because you can’t solve a problem unless you can agree on what it is.
I presented a simple problem description which I hoped would lead to an equally simple solution.
One of the managers suggested we “step back” and develop a better understanding of what was happening. Fine. Questions were asked and answers offered. Then someone else suggested we “step back” and take a broader view. Okay.
Round we went until finally yet another person suggested that we “step back”. I think that’s when I lost it. I said that if we stepped back any further we’d lose sight of the customer!
It’s fine to take a broad view of a problem. People often refer to the 50,000 foot view or some such metaphor. That’s okay as long as everyone realizes that the solution is at ground level and can only be implemented by people with their feet on the ground. From far away, you’ll miss too many details.
That’s what makes agile development so powerful. It’s grounded. People actually do stuff. They don’t spend vast amounts of time studying and analyzing. Competition moves so fast today that by the time the analysis is complete, it’s outdated. Time to re-evaluate. Nothing ever gets done!
From an agile perspective, the goal is to study and analyze enough to rough out an approach and be able to intelligently try a few things. Learn and repeat.
Yes, assumptions will be proven wrong and mistakes will be made but the learning experiences will be priceless. A good agile team will pick up speed as they go because they will get smarter and make fewer invalid assumptions.
As for the customer problem I referenced above, it really was a simple problem with a simple solution. It just took getting everyone’s feet on the ground.