Scheduling Software Development

Once software development effort is estimated, it can be used to estimate the schedule. Scheduling is affected by many factors, including:

  • staff availability;

  • budget availability;

  • an activity’s dependence on prior tasks;

  • the concurrence of scheduled activities;

  • the activities that make up the critical path;

  • the number of work shifts;

  • the number of effective work hours per shift;

  • whether overtime can be authorized; and

  • geographic location of workers, including effects of different time zones.

Significantly large software development efforts frequently experience cost and schedule growth. The complexities inherent in managing configuration, communications, and design assumptions typically hinder software development productivity. In addition, schedule delays have a ripple effect on support efforts such as program management and systems engineering.

Management pressure on software developers to keep to an unrealistic schedule can lead to other problems. For example, to meet schedule constraints, developers may reduce the time for requirements analysis, which can affect the quality of the software developed. In addition, developers may create minimal or no documentation, which can result in higher software sustainment costs. Moreover, to reduce schedule time, developers may decide to build more components in parallel, defer functionality, postpone rework, or minimize functional testing. While these actions may save some time initially, they can result in additional time, effort, and risk for the program.

Rework should be part of every software development schedule because it is unlikely that software can be delivered without any defects. Rework effort should include the time and resources associated with diagnosing the problem, designing and coding the fix, and retesting. To adequately account for rework, the estimate should anticipate a number of defects based on experience, and time and effort should be allocated for fixing them. We discuss scheduling more thoroughly in the GAO Schedule Assessment Guide,67 including how to account for these risks so that the schedule is realistic.


  1. GAO, Schedule Assessment Guide, GAO-16-89G (Washington, D.C.: December 2015).↩︎