Like many programmers, I often live in project time estimating fairy tale land. I think that everything will go as planned and of course I’ll bill 6 hours each day.
The fact is that life happens and when life happens, often work doesn’t happen.
Another common mistake made when estimating software development centers on the myth of the eight-hour day. If you’ve compiled your estimate figures in terms of hours, which in and of itself is rare enough, many project managers will then convert these numbers to calendar days by simply dividing by eight.
Clients an do the same thing if you let them. I’ve had more than one client assume that they a the only project on my list. They then add up the hours I’ve quoted and figure 8 hour working days. There is more than the issue of 8 hour days here though.
The biggest thing that slows projects down, in my experience, is the client. In almost every project I end up waiting on the client for something. Currently I have 1 project 3 months overdue while the client works on adding their products to WooCommerce.
When you’re putting dates to a project, remember that you won’t bill 8 hours a day and it’s highly likely that you’ll be waiting on your client for something. I make sure that my contract says for every day I wait, I get a day on the end of the project. If I’m busting my ass to meet their deadline, they need to be doing the message thing.
The quote is from The Career Programmer which is an awesome book I’m currently reading.