One of the comments to my recent post on estimation is that people want to know how much “a thing” will cost. I totally agree! They also want to know how long “a thing” will take. Once again you will find no disagreement from me there! I understand that people want to ensure that their money is being spent responsibly. I do too!
The issue is not really about what people want as much as it is about whether you can give them an honest, accurate and beneficial answer. I believe the nature of the (knowledge) work you do highly influences your ability to do so.
If you happen to provide a service/solution that is highly repetitive, for example, your organization specializes in the development of tele-medicine websites, then the odds are that after doing this for a while, you’ll have enough data and experience to pull from such that if you are asked for a cost/schedule estimate, you’ll be able to provide one with a high level confidence and probably with a narrow estimate range (this will prevent people from rolling their eyes when you give them estimates). This doesn’t guarantee that it will cost what you say (because stuff happens), it just means that because you have the requisite experience, you can confidently predict (assuming all things remain equal) the outcome. I know this first hand, as my basement certificate of occupancy inspection which should have been done in a few days has been delayed due to the polar vortex and a subsequent inspection backlog.
But what if you don’t happen to provide such a service? What if you happen to be one of the many product development companies out there that spend their days developing brand new stuff? One of the product development companies that is learning what to build based on customer interaction and feedback? How do prove that you will “spend our/their money wisely”? Of course, you can fall back on some reliable estimation techniques out there, give them the possibly outcomes and then subject your team to the burden of that. That is definitely an option. It’s just not my first (or second really). I suggest another way.
Tell them you don’t know (yet). Tell them that that you’d like to take an approach that is focused on learning, risk mitigation and building trust. Tell them you’ll focus the team on the highest priority item(s) for a few iterations and then have an inspection with everyone involved. If this is a contract type situation, they pay for those iterations only. Tell them that if they don’t like the progress, then discussions can be had around what can be done better (or even if the team should continue). Assuming the team continues, over subsequent iterations, the team will learn enough to begin “predict” cost and schedule (if that is truly needed).
I know this sounds unreasonable but progress is dependent on the unreasonable man isn’t it?
After typing this, I realized that the question of “how much” and “how long” could also be an indicator of a bigger dysfunction within an organization, low trust. In my experience, in high trust relationships, organizations trust that the team(s) is making every effort to get things done as soon as is possible. If you are in an environment of low trust, what can be done to change that?