If you’ve spent more than a few days building sites or software you’ve had an email or call where the client mentions:
> It’s pretty simple, it won’t take long. Really I could do it but I just don’t have the time.
It certainly gets my hackles up to hear that since it’s typically a ploy to get the pricing as low as possible, but it’s also more than that as stated by [this article][timeest].
> The real reason I’m annoyed is not that their estimate is wrong. It’s that they assume that they can even make an estimate. That’s because as developers we unconsciously realize that the way a layperson naturally estimates complexity breaks down when it comes to software.
Dan goes on to talk about how the layperson estimates time and why it falls apart on software projects. I think he gives a bit too much of a pass to experienced developers estimating a project, we all underestimate all but the simplest projects for a few reasons.
1. Things crop up (which he acknowledges) and we almost always anticipate that things will go smooth.
2. Clients start throwing out dates and we want to make them happy so we say ‘yes’.
Not much one can do about the first item except add more padding the more complex the project is. The second item has a solution, stop being so nice and learn to say no!
Sadly there are a few former clients out there that have fallen victim to me being too nice, if you end up picking up those projects after me sorry.
Lets all try and be better developers by learning to say no instead of blindly accepting dates, and lets realize that things happen so pad your time. Seriously web developers are getting a bad name and we can do something about it.
[timeest]: http://danshipper.com/non-technical-people-cant-estimate-developmen “I’m Sure it Will Only Take You a Few Days to Code”