Definitely worth a read whether you're a developer or one who commonly interacts with developers.

Why are software development task estimations regularly off by a factor of 2-3?