Project scheduling and tracking
While there are various reasons why software is delivered late most can be traced to one or more of the following root causes.
An unrealistic deadline develop through someone outside the software engineering group and forced on managers and practitioners within the group.
Changing customer needs which are not reflected in schedule changes.
An honest underestimate of the amount of attempt and/or the number of resources that will be needed to do the job.
Predictable and/or unpredictable risks which were not considered when the project commenced
Technical difficulties which could not have been foreseen in advance.
Human difficulties which could not have been foreseen in advance.
Miscommunication between project staff which results in delays.
A failure through project management is to recognize in which the project is falling back schedule and a lack of action to correct the problem.
At sometimes such deadlines are demanded for reasons which are legitimate from the point of view of the person who sets the deadline but common sense says that legitimacy must also be perceived through the people doing the work. Aggressive deadlines are a fact of life in the software business.