Wednesday, May 16, 2007

The Perfect Engineering Lie

Do you estimate the time it will take you to finish your task in the mythical unit called "perfect engineering day"? Have you ever wondered why?

A perfect engineering day is the time you assume a task would take if you could work uninterruptedly, knowing exactly what to do and without making errors for one day. It's about as real as dowsing.

The big problem with the perfect engineering day is that is has nothing in common with what normal people consider to be a day. If you multiply it by pi you may be in the right order of magnitude, but then again it's not really a time span, but a probability distribution of a time span.

The next time you say "I'll be finished in five minutes, honey" at six in the evening and find yourself facing your wife and the dirty laundry at nine, I'd like to see her face when you try to explain the concept of "perfect engineering five minutes".

But, some may argue, isn't it better to truthfully explain the complex context to your customer? Maybe, if you're either knowing exactly how long it will take (which you don't - just face it), or if you always communicate the context clearly: it will take two perfect engineering days, and there are 1.8 of these in a week, but in the last few weeks we had a standard deviation of 50%.

If you ever forget about the context and tell product management at the coffee machine that "it will take two days", you're lying. A perfect engineering lie.

Update: Hello, this is Manuel's wive. I just want to say that his "perfect engineering five minutes" are more like two weeks than three hours - at least when dirty socks are involved.


  1. Too funny.
    I'm currently in the state of watching project managers trying to negotiate estimates for their MSProject. From this they are trying to determine the scope of development.

    We don't even have requirements yet.

    I call this the Perfect Engineering Fantasy

  2. If you want to give the project managers something interesting to read, look at Ron Jeffrie's Etudes.

  3. A friend once told me that when estimating the effort of boat maintenance projects, you should take the estimate, multiply it by 3, and increment the unit of measurement. E.g., a 5 minute project would take 15 hours; a 2 hour project would take 6 days, and a 1 day project would take 3 weeks.