Management will do this when they feel market pressures to create a new software product or version because of some impending business event in the market. These market driven deadlines occur for a variety of reasons:
- Competitor is releasing a new product/version that will eat your market share
- Laws have changed that require compliance by your software system
- Merger with another organization requires software systems to be integrated
- You are a start-up and need to produce software to obtain financing
- Sales has sold vapor-ware and engineering now needs to produce it
Management will be adamant that the deadline is fixed and must be met at all costs. Some management groups are more dysfunctional than others.
The most dysfunctional management will expect all existing project not to be impacted by the addition of a high priority project. They will say things like 'You will just have to multi-task' or something equally ridiculous.
Anyone who has worked in a multitasking mode is familiar with Little’s law or that productivity drop-off that comes from trying to do multiple things at the same time.
Less dysfunctional management will realize that the high priority project will cause other projects to be late, but they will continue to expect that everything progresses even though resources will be committed to multiple projects.
This project will have fixed scope, quality, time, and resources which will lead to a feasible project only once in a million projects.
Unfortunately, most senior IT managers have neither the courage of their convictions nor the discipline to weather the storm.
This kind of environment if prolonged will lead to your better engineers quitting which will cause all the rest of your projects to get even later. With the loss of productivity that comes from trying to multi-task, the code that is produced is guaranteed to have more bugs than normal, which will then cause the problem to flow into QA. Even more insanity will follow when QA time is reduced or eliminated, after all, who needs QA?
Needless to say, when faced with such time sensitive projects the work done on the requirements is minimal and so the end product (even if delivered) will generally not satisfy the market pressure the project was designed to alleviate. In short, when senior management responds to market pressures by declaring a project and its deadline it is virtually guaranteed to fail.
Some managers make everything an emergency in order to get their way, they often say 'We have no choice '.
If the resources exist in the organization then they need to be dedicated to the high priority project and all other work that they were doing needs to be put on hold.
With high priority projects make sure that the engineers get some kind of bonus on a regular basis (free lunches, dinners) as well as a financial bonus on completion of the project. If no bonuses are available don't be surprised to see IT resources jump ship at or before the project completion date.