Issues we gonna discuss in this post is about deadline.
The problem of a Project Management is the pressure to meet deadline. We specify work breakdown structure do make sure we know what we need to do and how many hours we need to complete it and set appropriate deadline.
But, programmer knows that deadline makes sloppy works. But how to do a good project management? By loosing up deadline, If we miss deadline for a feat, just move it to another release.
Some task also need exploring and researching to find optimal solution. Deadline kills that, so we tend to apply first solution we can find. We can schedule time for research and exploration in the project, but can you assert that the result would be optimal solution?
The problem with deadline is often political than technical, we set the deadline in next month not because we reasonably think that the project will finish in next month, but because our boss pressure us to finish the project in next month.
The problem with enforced deadline is our reasonably prediction in how many man-hours the project will need will prevail. If we think we need 2 months to finish the project, and management insist with one month, than our team will cramp up two-month worth man-hour to one month. That means many overtime(that in most of the company is unpaid).
The issues of (unpaid) overtime will be discussed later. But the point is deadline make unnecessary pressure to your team. Tommy De Marco book Peopleware discuss it further.