NASA NPR 7150.2D Software Engineering Requirements
NASA's software engineering requirements: the 130 SWE requirements on Centers, projects and contractors for classification and tailoring, planning and cost, assurance and IV&V, safety-critical software, cybersecurity, the full life cycle from requirements to retirement, and configuration, risk, peer review, measurement and non-conformance management.
NASA NPR 7150.2D Software Engineering Requirements is a compliance framework from United States with 4 domains and 130 controls. The largest domains are Chapter 3: Software management requirements – NASA NPR 7150.2D Software Engineering Requirements (45 controls), Chapter 4: Software engineering life cycle requirements – NASA NPR 7150.2D Software Engineering Requirements (34 controls), Chapter 2: Roles, responsibilities and tailoring – NASA NPR 7150.2D Software Engineering Requirements (30 controls). Every control below carries what it requires and what an assessor expects to see.
Framework summaries on this platform are interpretations grounded in the published source, for educational and compliance planning purposes. They do not reproduce or replace the official standards. Refer to the authoritative source for the definitive text. Framework names and trademarks belong to their respective organisations.
Framework Domains (4)
Chapter 2: Roles, responsibilities and tailoring – NASA NPR 7150.2D Software Engineering Requirements
| Code | Title |
|---|---|
| nasa-npr-7150-2d-software-engineering-requirements::SWE-002 | OCE leads a NASA Software Engineering Initiative |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-003 | Center Director maintains a plan to advance in-house software engineering capability and monitor contractors |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-004 | OCE benchmarks each Center's software engineering capability |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-005 | Center Director establishes and maintains software processes per the directive |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-006 | Center Director maintains a reliable list of programmes and projects with Class A to D software |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-021 | Project manager updates plans and supplier contracts when software classification changes |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-091 | Center Director maintains a software measurement repository for Class A, B and C projects |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-092 | Center Director uses measurement data to monitor capability and improve quality |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-095 | Center Director reports on the Center's software engineering discipline on request |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-098 | OCE maintains an Agency-wide process asset library |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-100 | OCE and Center training organisations provide software engineering training |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-126 | Technical and institutional authorities assess mapping matrices and tailoring |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-129 | OCE authorises appraisals against selected requirements |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-140 | Center Director complies with the requirements marked for Centers in Appendix C |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-142 | Center Director maintains software cost repositories for Class A, B and C projects |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-144 | Center Director contributes process assets to the Agency library |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-150 | Engineering, CIO and SMA authorities review and agree all tailored requirements |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-152 | OCE periodically reviews project requirements mapping matrices |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-153 | Designated Engineering Technical Authorities define content requirements for software documents |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-208 | Chief SMA leads a Software Assurance and Software Safety Initiative |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-209 | Chief SMA benchmarks Center assurance and safety capability against NASA-STD-8739.8 |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-212 | Chief SMA periodically reviews project requirements mapping matrices |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-214 | Center Director performs the prescribed actions for each type of internal software transfer |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-215 | Center Director ensures Government rights before internal software sharing or reuse |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-216 | Center Director ensures catalogued reuse software conforms to NASA software policy |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-217 | Center Director keeps contributor lists and disclaimer provisions on reuse products |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-218 | Contracting Officers and Agreement Managers include the required software clauses in every acquisition instrument |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-221 | Chief SMA authorises appraisals against selected requirements |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-222 | Chief SMA provides for software assurance training |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-223 | Chief SMA makes the final decision on tailoring of the IV&V requirement |
Chapter 3: Software management requirements – NASA NPR 7150.2D Software Engineering Requirements
| Code | Title |
|---|---|
| nasa-npr-7150-2d-software-engineering-requirements::SWE-013 | Develop, maintain and execute software plans covering the whole life cycle |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-015 | Establish and maintain software cost estimate models and parameters |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-016 | Document and maintain a software schedule that coordinates with the project |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-017 | Plan, track and ensure project-specific software training |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-018 | Hold regular software schedule reviews with stakeholders and track issues to resolution |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-020 | Classify each system and subsystem containing software per Appendix D |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-022 | Plan and implement software assurance, software safety and IV&V per NASA-STD-8739.8 |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-023 | Implement the safety-critical software requirements of NASA-STD-8739.8 |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-024 | Track actual results and performance against the software plans |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-027 | Satisfy the conditions for COTS, GOTS, MOTS, OSS or reused software |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-032 | Acquire, develop and maintain software from organisations with the required CMMI-DEV rating |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-033 | Assess software acquisition versus development options |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-034 | Define and document software acceptance criteria |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-036 | Establish software processes, documentation plans, deliverables and Government actions on receipt |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-037 | Define the milestones at which developer progress is reviewed and audited |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-039 | Require developers to report status and give insight into development and test |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-040 | Require developers to provide products, traceability, change tracking and nonconformances electronically |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-042 | Require electronic access to source code in a modifiable format |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-046 | Require developers to provide a software schedule and updates for review |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-052 | Perform and maintain bi-directional traceability per software classification |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-121 | Document approved tailoring in the controlling plans or procedures |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-125 | Maintain a requirements mapping matrix against this directive |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-131 | Ensure an IV&V Project Execution Plan is developed, approved, maintained and executed |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-134 | Build the safe-state and integrity behaviours into safety-critical and mission-critical software |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-139 | Comply with the Appendix C requirements for the software classification |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-141 | Ensure IV&V is performed on the designated categories of projects |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-146 | Define the approach to automatic generation of source code |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-147 | Specify reusability requirements to enable future reuse for Government purposes |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-148 | Evaluate software for reuse and contribute candidates to the NASA sharing system |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-151 | Software cost estimates meet the stated conditions |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-154 | Identify and plan mitigations for cybersecurity risks in flight and ground software |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-156 | Perform a software cybersecurity assessment on the software components |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-157 | Protect communicating software systems against unauthorised access per NASA-STD-1006 |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-159 | Test and record the required cybersecurity mitigations |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-174 | Submit software planning parameters to the Center measurement repository at major milestones |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-176 | Keep records of classification determinations, mapping matrices and independent assessments for the project's life |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-178 | Give IV&V access to development artefacts, products, source code and data |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-179 | Respond to IV&V issues and risks and track them to closure |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-185 | Verify the code meets the secure coding standard using static analysis results |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-205 | Determine with SMA whether each software component is safety-critical |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-206 | Require electronic access to the models, simulations and data used for auto-generation |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-207 | Identify, record and implement secure coding practices |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-210 | Identify requirements for collecting, reporting and storing adversarial action detection data |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-219 | Achieve 100 percent MC/DC code test coverage of safety-critical components |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-220 | Keep safety-critical components at cyclomatic complexity 15 or lower |
Chapter 4: Software engineering life cycle requirements – NASA NPR 7150.2D Software Engineering Requirements
| Code | Title |
|---|---|
| nasa-npr-7150-2d-software-engineering-requirements::SWE-050 | Establish, record, approve and maintain software requirements as part of the technical specification |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-051 | Analyse software requirements from flowed-down and derived sources |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-053 | Track and manage changes to the software requirements |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-054 | Identify, correct and track to closure inconsistencies among requirements, plans and products |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-055 | Validate requirements against intended performance in the customer environment |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-057 | Transform the software requirements into a recorded software architecture |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-058 | Develop, record and maintain a software design that describes the lower-level units |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-060 | Implement the software design into code |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-061 | Select, define and adhere to software coding methods, standards and criteria |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-062 | Unit test the software code |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-063 | Provide a software version description for each release |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-065 | Establish and maintain software test plans, procedures, tests and reports |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-066 | Test the software against its requirements |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-068 | Evaluate test results and record the evaluation |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-070 | Use validated and accredited models, simulations and analysis tools for qualification |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-071 | Keep test and verification plans and procedures consistent with the requirements |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-073 | Validate the software system on the target platform or a high-fidelity simulation |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-075 | Plan and implement software operations, maintenance and retirement activities |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-077 | Deliver the software product with the records needed for operations and maintenance |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-135 | Use static analysis tools during development and test |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-136 | Validate and accredit the software tools required to develop or maintain software |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-143 | Perform a software architecture review on the designated categories of projects |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-184 | Include software-related safety constraints, controls, mitigations and assumptions in the requirements |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-186 | Assure that unit test results are repeatable |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-187 | Place software items under configuration management before testing |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-189 | Select, implement, track, record and report code coverage measurements |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-190 | Verify code coverage by analysing the results of test execution |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-191 | Plan and conduct regression testing |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-192 | Verify by test the requirements that trace to hazards |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-193 | Develop acceptance tests for loaded or uplinked data, rules and code |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-194 | Verify before delivery that requirements are met, changes implemented and defects resolved |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-195 | Maintain the software to the standards and processes of its classification |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-196 | Identify the records and tools to archive and the access procedures for retirement |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-211 | Test embedded off-the-shelf and reused components to the same level as custom components |
Chapter 5: Supporting software life cycle requirements – NASA NPR 7150.2D Software Engineering Requirements
| Code | Title |
|---|---|
| nasa-npr-7150-2d-software-engineering-requirements::SWE-045 | Participate in joint NASA and developer audits |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-079 | Develop a software configuration management plan |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-080 | Track and evaluate changes to software products |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-081 | Identify the software configuration items and versions to be controlled |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-082 | Establish procedures for control levels and change authority |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-083 | Prepare and maintain configuration status records |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-084 | Perform software configuration audits |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-085 | Establish procedures for storage, handling, delivery, release and maintenance of deliverable software |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-086 | Record, analyse, plan, track, control and communicate software risks |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-087 | Perform and report software peer reviews or inspections of the key products |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-088 | Run each peer review with checklists, criteria, action tracking and required participants |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-089 | Record the necessary measurements for each peer review |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-090 | Establish, record, maintain, report and use software management and technical measurements |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-093 | Analyse measurement data using documented procedures |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-094 | Provide access to measurement data, analyses and status on request |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-199 | Monitor measures to ensure performance and functionality requirements will be met |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-200 | Collect, track and report software requirements volatility metrics |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-201 | Track and maintain software non-conformances |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-202 | Define and implement clear severity levels for all software non-conformances |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-203 | Assess reported non-conformances in all off-the-shelf and reused components |
| nasa-npr-7150-2d-software-engineering-requirements::SWE-204 | Run closed-loop process assessments for high-severity non-conformances |
What is NASA NPR 7150.2D Software Engineering Requirements and who does it apply to?
NASA NPR 7150.2D Software Engineering Requirements is a compliance framework from United States with 4 domains and 130 controls. NASA's software engineering requirements: the 130 SWE requirements on Centers, projects and contractors for classification and tailoring, planning and cost, assurance and IV&V, safety-critical software, cybersecurity, the full life cycle from requirements to retirement, and configuration, risk, peer review, measurement and non-conformance management. It is used by organisations to establish and maintain compliance with industry standards and regulatory requirements.
What does NASA NPR 7150.2D Software Engineering Requirements actually require?
NASA NPR 7150.2D Software Engineering Requirements has 130 controls organised across 4 domains. The largest domains are Chapter 3: Software management requirements – NASA NPR 7150.2D Software Engineering Requirements (45 controls), Chapter 4: Software engineering life cycle requirements – NASA NPR 7150.2D Software Engineering Requirements (34 controls), Chapter 2: Roles, responsibilities and tailoring – NASA NPR 7150.2D Software Engineering Requirements (30 controls). Each control defines specific requirements that organisations must implement to achieve compliance.
If I already comply with another framework, how much of NASA NPR 7150.2D Software Engineering Requirements do I already cover?
NASA NPR 7150.2D Software Engineering Requirements does not currently have cross-framework mappings in our system. Check back as we continuously expand our mapping database.
How do I implement NASA NPR 7150.2D Software Engineering Requirements?
Start your NASA NPR 7150.2D Software Engineering Requirements compliance journey by running a self-assessment on our platform to identify your current compliance posture. Our AI advisory can answer specific questions about NASA NPR 7150.2D Software Engineering Requirements requirements, and cross-framework mapping helps you leverage existing controls from other frameworks you may already comply with. Create a free account to access all 130 controls and track your progress.
Start Your Compliance Journey
Create a free account to run self-assessments, get AI advisory, and track your compliance progress across 1,248 frameworks.
Get Started Free →Free forever, no credit card required