- Forces developer to work under pressure as fast as they can.
- The word basically means death of the project if the project is not finished when the deadline time is passed.
- It is used as a way to see if workers actually do their work with sub deadlines.
Basically I think that forcing someone to work under pressure as fast as they can hurts the project and when the time estimate is not enough. When deadlines are missed even some good developers are fired if they seem to be the cause of the missing deadline and managers can easily push the fault to the developers instead of himself. When developer works as fast as they can they might miss key things and cause bugs in the project which will lead to more delays. Some people just can no work under pressure which will make them uncomfortable and they most likely will resign from the work and find easier work like teaching.
Deadline means basically death of the project if the deadline is passed without completing the project but usually the deadline does not kill the project because more time is assigned to the project if there is money to keep paying the employees.
Something I hate is that if employee who is actually good fails to meet the deadline and as meeting the deadline is basically used as proof of working instead of scratching ass. The employee might get fired even though he might have been working as fast as he could, because some manager decided to give short deadline or some unexpected problem arrived.
Deadlines should be gone at least from the world of programming, because estimating the time required for completing software project is hard, because software projects are complex. Software will be finished anyway at some stage if the developers are given enough time and to create this time money is required for paying employees.
If you run out of money you have either employed too many people or you under estimated the size of the project. So if you do not want to let the project die because you ran out of money you need to find it from somewhere else to continue the project or kill the project and become a failure, the employees most likely will be able to find new jobs anyway.
If you do realize that you are running out of cash, you should start dropping features to make size of the project smaller or find existing solutions to the features to implement them faster instead of making your employees work faster.
God did not create the world in 6 days because he set a deadline for himself. He did it because he is god, but he could also have taken 12 weeks.