House for Ants

[House Buyer]: I'd like for you to build me a house.

[House Builder]: Sounds great, I'd love to!

[House Buyer]: It needs to have 2 stories, a 2.5 car garage, and it must be done in a month.

[House Builder]: Sorry, that can't be done in a month. And, I'd definitely need some more information before I can even begin.

[House Buyer]: It's got to be done in month! Work extra hours! I'll be back in a month!

[House Builder]: Uhhh, Ok.

1 month later...

[House Builder]: [Shows House Buyer the 1:10 scale 2 story house with 2.5 car garage, lacking windows amongst other things... ]

[House Buyer]: What is this? A house for ants? How can we be expected to have a home... if we can't even fit inside the house?

[House Builder]: But, you insisted that I have a house completed in a month...

[House Buyer]: I don't want to hear your excuses! I want a real house with windows, cabinets and other stuff. It has to be at least... 3 times bigger than this! It's got to be done in month!

[House Builder]: Sorry, that can't be done in a month. And, I'd definitely need some more information before I can even begin.

Rinse. Repeat.

Why does this never happen (ok, rarely) in real life? Because people looking to have houses built, think logically when dealing with the people who build houses. House buyers respect the expertise of house builders.

Yet, in the world of software, estimation and project deadlines, we see this same situation happen over and over and over again.

Why?

Who knows, the rational will never understand the irrational. (OK, we know why, but that's for another blog post.)

The best we can do, as software engineers, is try to educate the "house buyers" and sometimes the easiest way to do so is by using a simple analogy such as the one above.

Cheers!