Defense Against the Dark Art of Estimation Bargaining
We spend a lot of time learning about programming. Unless you work on project management software, ahem, you probably don't spend a lot of time thinking about all the work around programming. We need to take this seriously, it surrounds and defines what we do on a daily basis.
Today we're going to talk about Estimation Bargaining, one of the project management tricks people play on us. We'll see what it is, why we are fooled by it, and how best to defend yourself against this dark art.
Let me set the scene for you. Someone strolls up to you. It could be a manager, a customer, or even another developer. Let's just call him Peter:
- How long would it take to replace our billing system?
- It's pretty complicated, maybe a 8 weeks?
- We need it by the end of July.
- But that's in 2 weeks!
- This is really important, when is the soonest you can you get it done?
- Well we can shoot for 4 weeks.
How did you suddenly agree to do a 8 weeks work in 4 weeks?
Why They Engage in Bargaining
Peter isn't evil. If he were he'd have Force Choked you or maybe performed the Cruciatus Curse. He's just trying to get this project done as soon as possible. He views this as a negotiation of cost, much the same way you might negotiate with someone painting your house.
If Peter engages in bargaining, he probably assumes one of two things about your estimate, either you're lazy or lying. If you're lazy, Peter figures you just need to work harder and faster. Alternatively Peter might think you've just padded your estimate with extra time.
Remember, Peter is trying to bargain the cost (time) down.
Why We Engage in Bargaining
People mistake time and effort when they enter into Estimation Bargaining.
You can't negotiate effort. Effort is like mass, it's a physical property of a project. Given a set of requirements, you're going to have to do a certain amount of work to do to achieve those requirements.
You can negotiate time, but you shouldn't. The trick is that Peter changed the discussion from effort to time. You're still doing 8 weeks of work, you just have half the time now.
Defense Against Estimation Bargaining
At this point you might think, “Okay, just double your estimate”. Don't, this just leads to an arms race of deceit, and encourages more bargaining in the future.
Instead, rephrase the discussion in terms of scope. If Peter really wants this done in two weeks, break down your estimate and talk about how much work each part will require. Prioritize the work and cut anything that simply can't be done in time. As you learn more about the requirements, you might be able to change hat estimate.
If you don't feel confident in your estimate, don't give one. Instead, tell Peter you'll get back to him. Look into the things that you were uncertain about. When you feel prepared, go find him and tell him what you learned. If he sees you're not pulling numbers out of thin air he'll respect that.
Principled, Not Stubborn
It's ok to say no. There are times when people will push, plead, and wheedle. Agreeing to the impossible sets you both up for failure.
Don't stop here though. As you learn, revisit your estimate. As it changes, convey that back. Remember, we're all just guessing until we're done with a project, so be humble.
I need some awesome coworkers.
When faced with Estimation Bargaining remember the following:
- Bargain scope, not time
- Explain your estimates, don't pad them
- Say no if you need to, but communicate back often
Remember, nobody wins when you haggle over estimates.blog comments powered by Disqus