The First Law: If you ask a developer for a project estimate, and if he thinks the project is a good idea or would pose an interesting challenge, then he’ll say, “three weeks.”
The developer has no idea how long it will take, but “three weeks” sounds encouraging enough that you’ll probably go ahead with the project.
The Second Law: If you ask a developer for a project estimate, and if he thinks the project is a bad idea or wouldn’t be fun to work on, then he’ll say “six months.”
The developer still has no idea how long it will take, but “six months” sounds negative enough that you’ll probably say, “never mind.”
The Third Law: Whether the developer estimated “three weeks” or “six months,” if the project proceeds it actually will take a minimum of nine months.
That’s because, Mac says, developers are bad at software estimation.
The Fourth Law: When asked why the project is behind schedule, the developer will blame inadequate or incomplete specifications
Simply the truth. (via vowe@twitter)