Imagine I’ve given you the task of putting a ball through a basketball hoop. You have an hour. If you manage to to do it once, you win a holiday at a resort of your choosing, all expenses paid.
If you’re anything like me, it’ll take you a few attempts to get it right. Some throws will be short, others long. You look at what happens every time you throw the ball, and you try again. You instinctively make small adjustments, until bingo! You hit the hoop, the ball falls through the net and you’re off on holiday.
What about if I blindfold you? The task becomes more than a little harder. You can’t see what happens, you can’t learn from your mistakes, and you’re essentially guessing, hoping the various things you try work out. But though your feedback loop has been taken away, the task is still just about possible.
Imagine that next I spin you around a few times – and don’t tell you where the hoop is. Now, the task has become pretty near impossible. If you knew these were the rules of the game beforehand, you’d probably say no thanks, the odds of hitting that hoop are far too low.
Now, imagine that we add pain. Every miss earns you a lash across the legs.
Still keen on this challenge?
Let’s change the rules a little more. If you don’t manage to get the ball through the hoop in an hour, I’ll be going on that holiday at your expense. Reasonable, right?
I’m guessing you’re not agreeing with me by this point.
No sensible person would sign up to this challenge. But the scenario isn’t so different from what’s happening when software projects are set up to be managed to a fixed time and budget and without customer feedback.
The people building the software can’t see the target and get no clues as to how close they’re getting, so hitting it becomes virtually impossible. To make matters worse, we add in deadlines. Plus pain if the deadlines are missed.
What could you do instead? Well, remove the blindfold for a start. Define clearly where the target is (vision), and give the person enough help to get the ball through the hoop (information and knowledge).
Allow for small, frequent changes by taking feedback. Test in the real world with real customers, and listen to what they say. Stop when you’re done. Once you’ve hit the target and won the holiday, there’s little point in throwing hoops for another hour just to make a point.
This is how we’re able to develop digital products at speed. We set a clear target, we take feedback and we stop when we are done. We don’t impose artificial measures such as time on the process – but we do limit the damage by making sure the game is not rigged.