Mr. KnowAll WantItYesterday, project manager for ThreeTonsOfCode Ltd, pays a visit to Zach WontDoIt to discuss about a new project. As usual, Zach is in a peaceful trance reading latest MSDN blog posts and doesn’t even notice KnowAll coming.
KWY: (Yelling) Zach! We have a new project! Exciting times!
ZWD: (Almost falling of his chair) What? Who? Wh...
KWY: Our client, WeOwnYourWallet LTD, asked for a new app to help manage their stock of blue clothespins. When should I tell them it’s going to be ready?
ZWD: Well, do you have any specs? What are the requirements?
KWY: Come on Zach, it’s an extremely simple application. Here you go (hands over a torn, badly-faxed page, filled with incomprehensible scribblings sent by the client.)
ZWD: These aren’t features. This is a grocery list!
KWY: Don’t be ridiculous, we’ve been discussing this with the client for over 10 days.
ZWD: And this is what they came up with?
KWY: Of course. They had trouble understanding some advanced concepts. It took me 2 days to explain the difference between “the Web” and “Internet Explorer” to them.
ZWD: Anyway, am I going to develop this on my own?
KWY: Yes, it’s nothing special.
ZWD: Well...
KWY: Extremely easy.
ZWD: Yes, but...
KWY: Piece of cake.
ZWD: Yes, I got that, thank you. You see, it’s just that these aren’t exactly..
KWY: (Abruptly) When will it be ready?
ZWD: Well, I can’t really say, can’t commit to anything based just on this. How about a month?
KWY: (Starts turning red, looking like on the verge of a stroke) A WHOLE MONTH?
ZWD: (Thinking: This won’t turn out well...) I really want to be within bounds, there are many undefined parameters here...
KWY: What undefined parameters? It’s all here!
ZWD: Where?
KWY: On PAPER!
ZWD: (Eyes rolling) Of course.
KWY: (Furious) A month is too much! You should be able to finish it earlier!
ZWD: OK, I’ll do my best to have it ready in 3 weeks.
KWY: (Madman’s look) THREE WEEKS? Pull yourself together boy, that’s way too long!
ZWD: But...
KWY: Give me a reason why it’ll take you three weeks!
ZWD: Well, a week for the GUI, a week to design the database and develop the processes and a week for testing...
KWY: Why a whole week for the GUI? It’s just two forms, you could do this in 4 hours. The database is 8 stored procedures, that’s 8 hours... for testing, 2 days is more than enough...
ZWD: All right, since you are calculating MY time, and you KNOW how much time is needed for everything, it looks like you just want me to tell you that I can do it in 4 days!
KWY: Oh, no, I don’t want to force a deadline on you. YOU decide. After all, there may be some undefined parameters that I’m not aware of. I’m not responsible for the technical part of the project.
ZWD: (Thinking: Oh, now there ARE undefined parameters...)
ZWD: Two weeks.
KWY: (Starts drooling uncontrollably, lower lip trembling) TWO WEEKS? We just said it would take you 4 days, didn’t we?
ZWD: WE did not, YOU did! If you need it in 4 days why don’t you tell me that I have 4 days so we can get things going?
KWY: No, I want YOU to estimate how much time you need. I can say whatever I want, but you are the one who’s going to build it. You know better.
ZWD: Two weeks.
KWY: Unacceptable.
ZWD: If I say “4 days” will that be acceptable?
KWY: Of course. Because that’s YOUR estimate.
ZWD: (Trying desperately again) 4 days.
KWY: (Facial expression of a constipated senior citizen after a successfull visit to the nearest public bathroom) Excellent! I’ll let the management know. Of course, the client is going to be notified as well, so if it takes longer, you’ll have to work overtime.
ZWD: Overtime? But...
KWY: It is YOU who estimated 4 days. Would you like to rethink your workflow?
ZWD: Yes. I need TWO WEEKS..
KWY: No, that’s too long. Are we going to have the same conversation all over again?
ZWD: (Tries to keep himself from performing acts of extreme violence) I’ll get started and we’ll see. 4 days is way too soon though.
...after 4 days...
KWY: Are we ready? Are we going to meet our deadline today?
ZWD: Nope. We’re at just 30%.
KWY: What...how... why? But you asked for 4 days!
ZWD: Not me. YOU gave me 4 days.
KWY: But we can’t charge the client for more than 4 days.
ZWD: And why didn’t you say so from the beginning?
KWY: I’m not the one to decide how much time you need. It’s you who’s making the estimates.
ZWD: …
KWY: Oh well. It seems that you’ll have to work all weekend. We have to deliver on Monday. Ah, I almost forgot. The client asked for one more tiny little extra feature, but it shouldn’t be a big deal for you, really. The app will also have to update the company’s stock management database. You’ll just have to create a bridge or something to their UNIX or BSD or whatever server, that’s all there is to it. Have a nice weekend!
ZWD: ...