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