Scheduling begins with project-level schedule objectives for delivering the products described in the upper levels of the and evolves down to the software development level. The supplier includes software version descriptions and functionality of any deliverable software work products contained in the schedule of deliveries in the Software Version Description document SWE-116 and the Software Metrics Report SWE-117. The project team, through the contract Statement of Work (SOW) (see SWE-048), must require delivery of a software work product development schedule from the software supplier. Schedule content provided by the supplier to NASA includes networked activities evolved down to a level sufficient for the project team to obtain the necessary insight (see SWE-039) into the state of the supplier's activities.
Networked schedule data consist of:
- Activities and associated tasks.
- Dependencies among activities (e.g., where an activity depends upon another activity for a receivable).
- Products or milestones that occur as a result of one or more activities.
- Duration of each activity.
The technical requirements need to be sufficiently detailed to assure that firm schedule estimates can be established. The schedule needs to show the major development activities throughout the life cycle, the milestones, and a critical path. See SWE-016 Software Schedule for in-depth information on the general preparation of software development schedules.
To be effective, the software supplier schedule needs to have linkage to the project schedules, if the two are different. The suppler schedule can be analyzed for risk issues related to the schedule (long lead hardware needs, critical path, or lack of schedule slack). Good scheduling systems provide capabilities to show resource requirements over time and to make adjustments so that the schedule is feasible with respect to resource constraints over time. The schedule can be resource loaded, thus enabling close tracking of technical parameters, milestones, and budgets to ensure that the team recognizes undesirable trends (such as an unexpected growth in lines of code or increase in its cost) early enough to take corrective action.
Once the supplier establishes firm software schedule estimates, the schedule can be baselined and controlled in the project's configuration management system. The project team needs to review these baselined schedules to ensure they are consistent with the overall project schedule.
Managing schedule variance is one of the key responsibilities of the software development team in dealing with software suppliers. The difference between the budgeted cost of work performed and the budgeted cost of work scheduled is called the schedule variance at time t. A negative value indicates that the work is behind schedule. Schedule management tools can be employed by the project team to assist in its evaluation of the software supplier schedules. Whenever the software development planning experiences major changes from a baseline, an update to the schedule can be requested from the software supplier by the project to allow additional and appropriate insight into the activities to be developed and scheduled.
Regular schedule submissions and periodic updates are typically scheduled as part of the software development SOW. Because NASA projects and their software development activities experience numerous changes in requirements, scope, and funding, an ability to request updates whenever needed is typically included in the contract clauses.