Developer Dan Shipper:
When a non-technical person attempts to estimate software development time they come armed with their two basic heuristics: complexity based on size and complexity based on speed. But what they don’t realize is that software is different. Software is by nature not physical. It exists in the ether. A tiny portion of it shows up on our computer screens from time to time. Because of this when it comes to building web apps (or any type of software for that matter) our basic heuristics break down.
So many tech articles include a throwaway sentence on how developers aren’t good estimators of their work time. Rarely do they go further into the why behind that statement, but Dan’s does, and does so effectively. (via Watts Martin)