Software Development Plan (SDP)

NASA Class A, Safety-Critical Software Project

For Space Vehicles Supporting ISS Cargo and Crew Missions


Table of Contents

1.   Introduction

2.   Project Organization

3.   Safety and Criticality Assessment

4.   Technical and Engineering Environment

5.   Project Execution and Planning

6.   Process and Standards Compliance

7.   Metrics and Continuous Improvement

8.   Training and Communication

9.   References


1. Introduction

1.1 Purpose

This document defines the Software Development Plan (SDP) for the development of Class A, safety-critical software for space vehicles delivering cargo and crew to the International Space Station (ISS). It outlines the processes, tools, and standards required to achieve NASA’s mission objectives.

1.2 Scope

This SDP applies to all software that is loaded and executes on the space vehicle, ensuring compliance with NASA's safety-critical standards and requirements.


2. Project Organization

2.1 Organizational Structure

The project involves the collaboration of software development, testing, software assurance, and software safety groups. Each group operates under separate management chains and supports project objectives.

2.2 Roles and Responsibilities

2.3 Compliance Matrices or Waivers

No waivers or tailored compliance matrices are applicable.


3. Safety and Criticality Assessment

3.1 Safety-Critical Components

Safety-critical components will be identified during the requirements phase using a system-level hazard analysis facilitated by tools such as Fault Tree Analysis (FTA) and Preliminary Hazard Analysis (PHA).

3.2 Software Classification

All software loaded and executed on the space vehicle is classified as Class A, safety-critical.

3.3 Hazard Analysis

Initial hazard analysis will be completed by the preliminary design phase. A specialized safety team will document the analysis using NASA's Hazard Tracking System (HTS).


4. Technical and Engineering Environment

4.1 Development and Test Environments

Development and testing environments will utilize:

4.2 Use of COTS Components

COTS components for development will include GitLab for version control and JIRA for issue tracking. Their use will be managed in compliance with NPR 7150.2D, including verification of licenses, functionality testing, and integration assessment.


5. Project Execution and Planning

5.1 Work Breakdown Structure (WBS)

A high-level WBS is as follows:

1.   Requirements Analysis

2.   System Design

3.   Detailed Design

4.   Implementation

5.   Testing (Unit, Integration, System-level)

6.   Verification and Validation (V&V)

7.   Maintenance

5.2 Key Activities and Milestones

5.3 Resources and Budget

Personnel will include:


6. Process and Standards Compliance

6.1 CMMI-DEV Process Areas

The project will implement all maturity level 3 areas, including Configuration Management (CM), Risk Management (RSKM), and Verification (VER).

6.2 Project Management Practices

A hybrid of Agile (for development iterations) and NASA’s traditional waterfall for milestone reviews will be employed.

6.3 Configuration Management

Configuration management will use GitLab with defined branching strategies. Changes will be reviewed by the Software Change Control Board (SCCB).

6.4 Document Control and Traceability

Bi-directional traceability will be managed using DOORS Next Generation (DNG). All documents will be version-controlled in a secure repository, accessible only to authorized personnel.


7. Metrics and Continuous Improvement

7.1 Metrics Collection

Key metrics include:

7.2 Audits and Peer Reviews

Audits will occur quarterly, with peer reviews conducted for each major deliverable. Results will be logged in JIRA for transparency.


8. Training and Communication

8.1 Training Requirements

8.2 Communication Plan

A Communication Plan will specify weekly stakeholder meetings, bi-weekly progress reports, and use of Slack for real-time team updates.


9. References

1.   NPR 7150.2D - NASA Software Engineering Requirements

2.   NASA-STD-8739.8B - Software Assurance and Software Safety

3.   CMMI-DEV v1.3 - Capability Maturity Model Integration for Development