Note: This is a post from 2007 that I just updated a little bit because I think there’s still some value in it.
A lot of people have written to say that it’s unfair that I think developers should never say “I’m 75% done,” or “I’m 90% done.”
So, to explain myself, here’s why I think you should never use a phrase like that:
Manager | Developer |
---|---|
I hear you’re 75% done with the XYZ effort, is that right? | Yep, absolutely. |
Well, first things first. When you say “done,” what do you mean exactly? | Um, what do you mean? |
Let me give you a few standard options: You’re done with initial development and you or a partner haven’t tested it. Or, you’re done with initial development and a partner has tested it. Or, you’re sending your code to QA. Or you’re also including bug-testing time in your estimate. Or you mean something else. | Well, there’s no way to estimate bug-testing time, and nobody else on the team has tested the code, so I guess I’ll be ready to have a partner test it before we send it to QA. |
Okay, now back to your “75% complete status.” Your original estimate was 10 days, and you haven’t revised that, so you’ll be done in 2.5 days, is that right? | Um, well, it’s probably a little closer to 3.5 days. |
So, 3.5 days until someone nearby tests it? | Yes. |
All right. Does that include the changes to component #1? | Um, well, huh, no, I forgot about that. That’s probably an extra day. |
How about the meeting tomorrow morning to discuss the design changes to the Foo Bar page? | Oh man, I forgot about that meeting. Uh, no. |
Oh, and you start vacation on Wednesday, right? | Yeah, we’re going to the lake for a few days. |
Okay (sounding like the manager on Office Space) ... so your initial estimate was 75% done, which meant 2.5 days, but now, barring any further changes, it’s really looking like you won’t be submitting your code for pre-QA testing until the end of next week, at the earliest. Why don’t we get together at the end of next week and see where you are then? | Okay (thinking that his manager sounds like the manager from Office Space), sounds good. |
FWIW, when I’ve been a project lead, this is a typical conversation I’ve had with developers, not an exaggeration or atypical conversation.
I understand that developers are typically introverts, but they/we also need to see the big picture. My biggest problem here is that someone wants me to go to the Project Sponsor and say “It looks like we're 75% done with the XYZ Widget,” when in fact we have no clue when it will be done. That’s just irresponsible. If I say stuff like that too many times the Sponsor is going to quit believing anything I say, and I won’t stand for that.
So that’s where my angst with the “75% done” phrase comes with. First of all, you’re 75% done with what? Next, does this factor in all the changes, meetings, and other time? Finally, let’s put a date on your deliverable.
I know estimating is hard, I used to be as bad at it as anyone, but when people that say they’re “75% done,” that really makes me cringe.