We developers spend a lot of time learning about programming. Unless you work on project management software, you probably don’t spend a lot of time thinking what happens outside the realm of programming. However, you need to take this seriously, as there are a lot of conversations going on all around us, and they define what we do on a daily basis.
One of these non-programming activities to pay attention to is Estimation Bargaining. This is one of the project management tricks people play on us. In this article, you’ll see what it is, why we’re fooled by it, and how to best defend yourself against the dark art of Estimation Bargaining.
To start, let me set the scene for you. Someone strolls up to your desk. It could be a manager, a customer, or even another developer. Let’s just call him Peter:
Peter: How long would it take to replace our billing system?
You: It’s pretty complicated; maybe eight weeks?
Peter: We need it by the end of July.
You: But that’s in two weeks!
Peter: This is really important. When is the soonest you can you get it done?
You: Well we can shoot for four weeks.
How did you suddenly agree to do eight weeks of work in four 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 you’re 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 achieve those requirements.
You can negotiate time, but you shouldn’t. The trick in our scenario is that Peter changed the discussion from effort to time. You’re still doing eight weeks’ worth of work, you just have half the time to do it in 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 all the work, and then cut anything that simply can’t be done in time. As you learn more about the requirements, you might be able to change that 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 issues that you feel 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.
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.