- 1. The Requirement
- 2. Rationale
- 3. Guidance
- 4. Small Projects
- 5. Resources
- 6. Lessons Learned
- 7. Software Assurance
3.3.3 The project manager shall require the software developer(s) to provide a software schedule for the project's review, and schedule updates as requested.
NPR 7150.2, NASA Software Engineering Requirements, does not include any notes for this requirement.
Click here to view the history of this requirement: SWE-046 History
1.3 Applicability Across Classes
Key: - Applicable | - Not Applicable
A & B = Always Safety Critical; C & D = Sometimes Safety Critical; E - F = Never Safety Critical.
Software supplier scheduling activities must be monitored to assure the software work products that are required by a project are produced when they are needed by the project. NASA's insight into a supplier's development schedule provides a view of the software developer's activities and plans. The supplier's schedule allows the software team to determine the expected state of development of the software product. It then serves as a benchmark for measuring supplier accomplishment during regular reviews or formal design reviews. The purpose of this requirement and schedule management is to provide the framework for time-phasing, resource planning, coordination, and communicating the necessary tasks within a work effort. Sound schedule management requires the establishment, utilization, and control of a baseline master schedule and its derivative schedules (e.g., software schedules). An Integrated Master Schedule (IMS) provides the framework for time phasing and coordinating all project efforts into a master plan to ensure that objectives are accomplished within project or program commitments. Schedule management encompasses the development, maintenance, control, and archival of the project schedules. The software schedule constitutes the basis for time phasing and coordinating all program/project software efforts to ensure that objectives are accomplished within approved commitments. Integrated schedules are crucial for all levels of management oversight within NASA and its contractor community. Software schedules contain the necessary tasks and milestones that reflect the total integrated plans for each software component within the program. While it is true that all software work scope must be included within a program IMS, the levels of detail may vary to accommodate the specific management needs established at the program level. Software schedule management entails the creation of a software schedule that contains integrated tasks and milestones for both contractor effort and effort being worked by in-house NASA government personnel. Regardless of the type of project being implemented, it is critical that the software schedule contains data addressing the total scope of work at a consistent level of detail to allow for discrete progress measurement, management visibility, and critical path identification and control. This approach will allow Program and Project Managers greater visibility and capability to adequately plan the necessary resources, and to ensure adequate budget will be available to accomplish the planned work.
Scheduling begins with project-level schedule objectives for delivering the products described in the upper levels of the Work Breakdown Structure (WBS) 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 VDD - Version Description Document and the Metrics - Software Metrics Report. The project team, through the contract Statement of Work (SOW) (see 7.3 - Acquisition Guidance), 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: 273
- 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 the 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 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. 273 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 supplied by the project to allow additional and appropriate insight into the activities to be developed and scheduled.
4. Small Projects
This requirement applies to all projects regardless of size. Smaller projects may get by with fewer levels of detail in the schedule for the life cycle.
6. Lessons Learned
6.1 NASA Lessons Learned
No Lessons Learned have currently been identified for this requirement.
6.2 Other Lessons Learned
No other Lessons Learned have currently been identified for this requirement.
7. Software Assurance
7.1 Tasking for Software Assurance
1. Confirm the project's schedules are updated.
7.2 Software Assurance Products
- Schedule of Software Assurance activities
Definition of objective evidence
- Evidence of project schedule update confirmations, including any risk or issues.
Objective evidence is an unbiased, documented fact showing that an activity was confirmed or performed by the software assurance/safety person(s). The evidence for confirmation of the activity can take any number of different forms, depending on the activity in the task. Examples are:
- Observations, findings, issues, risks found by the SA/safety person and may be expressed in an audit or checklist record, email, memo or entry into a tracking system (e.g. Risk Log).
- Meeting minutes with attendance lists or SA meeting notes or assessments of the activities and recorded in the project repository.
- Status report, email or memo containing statements that confirmation has been performed with date (a checklist of confirmations could be used to record when each confirmation has been done!).
- Signatures on SA reviewed or witnessed products or activities, or
- Status report, email or memo containing Short summary of information gained by performing the activity. Some examples of using a “short summary” as objective evidence of a confirmation are:
- To confirm that: “IV&V Program Execution exists”, the summary might be: IV&V Plan is in draft state. It is expected to be complete by (some date).
- To confirm that: “Traceability between software requirements and hazards with SW contributions exists”, the summary might be x% of the hazards with software contributions are traced to the requirements.
- Deviations of actual schedule progress from planned scheduled progress above defined thresholds.