1.1.1.1.1 Identify Software Project Deliverables

Overview

In this activity, the software organization’s work to be performed is identified as deliverable products that are generally categorized as software and related documentation.

Roles and Responsibilities

The project software manager determines what software products are to be delivered.

The project manager communicates to the project software manager the software products required.

Members of other engineering groups (e.g., hardware, optics) who may need software products and/or support, identify their software needs (e.g., prototypes to test developed hardware).

Controls

Project Plan outlining the project’s work, schedule, and items to be delivered.

Inputs

Preliminary Mission Needs Statement which establishes the justification for undertaking an agency objective or effectively pursuing an opportunity pertaining to an agency objective (as described in LHB 7122.1).

Any available system requirements and design documentation describing the system’s functionality.

Procedures

1) The project software manager first reviews the Project Plan, Preliminary Mission Needs Statement, and any other available system requirements or design documentation with the project manager to gain a general understanding of the project. The available documentation will vary widely between projects. The system’s identification and purpose are then documented in the Identification and System Overview sections of the Software Development Plan (SDP) (see Appendix E).

2) The project software manager reviews the Project Plan and discusses the software products that must be delivered with the project manager. Members of other engineering disciplines are consulted to identify software products that will be needed to test or demonstrate their products (e.g. simulators, data acquisition software). The project software manager should consider these products as required deliverables. The focus of this effort is the software deliverables (e.g., executable files, user’s guides, data files) that must be delivered to groups or organizations outside of the software engineering group, not the products developed internally to the software engineering group (e.g., preliminary design documents, detailed design documents). All deliverables should be identified as early as possible in the project life cycle, although some products may not be fully defined until later in the project because the needs of other disciplines (e.g., hardware, optics) may not be known early.

3) Once the deliverable software products are identified, the project software manager must determine the computer software configuration items (CSCI) that must be created.

For spaceflight projects, software is normally required in these areas:

Flight software - Software needed on board the instrument to control the various flight components.

Ground support software - Simulation software needed to test and validate the flight software or hardware and associated interfaces and data.

Mission operations software - Software needed to acquire the science/instrument data on the ground and issue commands to the system in-flight.

Post mission data analysis software - Software needed to analyze the mission data.

The CSCIs should be summarized in the System Overview section of the SDP, with the deliverables show under each CSCI.

At this point, the project software manager should consider whether a single SDP will suffice or if multiple SDPs should be developed for multiple CSCIs. For small projects, a single SDP should suffice. Multiple SDPs are often necessary for large projects with multiple contractors. A single SDP is assumed for this Guidebook.

4) For each deliverable, the project software manager identifies any project-level constraints on the deliverables (e.g., required development language, required standards), formatting requirements, interim required deliverables (e.g., initial drafts, final drafts), and other delivery requirements (e.g., hypertexting, hard copies). These are documented in the Overview of Required Work section of the SDP.

Outputs

The identified software deliverables divided into CSCIs which are documented in the SDP, along with the constraints and delivery requirements.