I was talking with a possible client the other day. He wanted a firm price for some of my services. I balked.
“But what possible objection could you have? I want to budget for you now, for next year,” he said.
“That’s the problem,” I replied. “I don’t quite understand your problems now. How can I know what you really need? I might want to propose something that would cost less. You might need something much more extensive. I don’t know. We’ve had a total of ten minutes of conversation. From what you’ve told me, your problems have existed for more than fifteen years. I don’t think a two-day workshop is going to solve those problems. I can give you a price for that workshop, but that’s going to raise your expectations and not fix your problems.”
Do you ever have conversations like this with people at work? I bet you do when it comes to estimates. Your managers want you to estimate features or projects months or even years in advance. But the work changes—or the code changes, or the people on the project change. What you thought might be a reasonable estimate four weeks ago looks wacko when you revisit it in six months.
But your managers want to make that estimate not a prediction or a guess, but a target.
What can you do?
Here are several ideas:
If you didn’t try these options, don’t worry. You can try them next time.
When someone asks you for an estimate just before you both commit to the project, you know you are in for significant change. You need to problem-solve together. On software projects, what your managers or product owners want might cost a lot less six months or a year from now.
The question is this: Can you take a more agile approach and solve problems together?