It feels like there’s a huge backlash against Agile with a capital A recently, or more accurately Agile as methodology, as opposed to agile/agility as a mindset.
One example is the talk of #noestimates. Which could be summed up in this statement from Neil Killick on the topic;
“I believe teams ought to commit at the outset to building and delivering the best possible product by a given date and/or for a given amount of money”
In principle I like the idea. Estimation causes massive uncertainty and anxiety for everyone involved.
But I think, as ever, it depends on the context, whether you’re a team working within a large organisation, a well-funded startup, a bootstrapped startup or working with a client within an agency setting. In any situation where there’s a team delivering working software that’s intended to achieve a certain purpose, that team needs to get paid (excluding that pro-bono work you did for your aunt last summer). And in order to pay the team, there needs to be some capital raised in order to pay them. In order to raise capital, certain emotional concessions need to be made to those raising the capital (or providing the capital). The capital may come from re-investment of excess profit, a line of credit, angel investment, savings, whatever, it’s good if you can give some kind of indication of, given the information you have available right now, what that party might get in exchange for that.
Given that my context is usually to work for clients within an agency, my preference is to have the team make very loose estimates and to work hard to let the client know that they may get more of the stories they’ve want for or they may get less, depending on how it goes. When you say these stories are about x points, you’re creating an anchoring effect. Providing you are doing regular estimates (more flow, less stock), you can move up or down from your initial estimate, ensuring that the client is aware of the movement. This way, it’s not so painful, the client has a good way of understanding that their capital investment is worth something from the beginning and your estimates can move somewhere towards reality as you go.
It’s difficult to say with a straight face to a client “We’ll deliver the best we can in the time we’ve got” and, I find, the rare occasions when you can say that is when you’ve worked with them for years and they trust that you’ll create something that achieves their intended purpose in the time they’ve given you. After all, if you as a client are prepared to go without an estimate, you’re essentially getting somewhere between 4% and 10% extra working software because of the time you’re saving by not estimating.
So, I think the key to making #noestimates work may lie in being able to convince a client that ‘you’ll get what you get within the time you’ve given us’. If you can trust us, then you’ll get more value out of us.
I really don’t know whether #noestimates can work or not. I am keen to try it, but I just can’t get over the idea that someone somewhere has to get a rough idea of what they are actually going to get before they invest in the building of the thing before they invest.