NASA Software Engineering Requirements Now in Effect
August 30, 2019
NPR 7150.2C, NASA Software Engineering Requirements went into effect Aug. 2. This policy applies to the complete software development life cycle, including software planning, development, testing, maintenance, retirement, operations, management, acquisition and assurance activities. The requirements of NPR 7150.2 cover software created, acquired or maintained by NASA or for NASA.
The revised directive addresses several key software areas:
- Improved requirements for software testing
- New requirements to allow internal software sharing across NASA
- Requirements to use automated static analysis of coding standards, statically-enforceable coding standard rules and secure coding standard rules
- Revised determination process for selecting which software components are considered to be software safety-critical components
- New requirements on software defect or nonconformance management
- Improved Independent Verification and Validation (IV&V) requirements
- Commercial Off-The-Shelf software requirements clarification
- Requirements to capture metrics of software development efforts and software product quality
- Improved software cybersecurity requirements
“This directive is intended to bring NASA’s engineering and software development and management communities together so they can better use the resources and talents throughout the agency across center boundaries,” said Tim Crumbley, Software Assurance technical fellow.
NPR 7150.2 provides a common framework of Software Engineering and Software Assurance requirements which allows for engineers to effectively communicate and work seamlessly across the agency. This policy establishes the agency-level Software Engineering requirements, Software Assurance requirements, software safety-critical requirements and the scoping requirements for IV&V support for all software acquired or developed at NASA.
The requirements contained in NPR 7150.2 were adapted from industry standards and proven NASA experience in Software Engineering. NASA ensures that programs, projects, systems and subsystems that use or develop software follow a standard set of requirements.
Questions can be directed to Crumbley.