Software Requirements: Verified Baseline established at the software level.
Expand
title
Success Criteria Details
Adequate documentation exists to allow proceeding with software implementation and software testing.
All software requirements are verifiable.
All Safety mission-critical software designs/requirements have been through a peer review. Peer reviews have required participation.
TBD and TBR items are identified with acceptable plans and schedules for their disposition, and the software volatility metric is less than 20%. The % of TBD/TBC/TBRs in the software requirements document does not exceed 1%
High software requirements quality risk score (software requirements quality score of 3 or higher). Less than 3 is a risk, and fewer than 20% of the requirements have a high-risk or very high-risk score.
Software requirements volatility is less than 20%.
A sufficient number of detailed software requirements exist.
The software requirement volatility metric is less than 30%.
The detailed software requirements are agreed upon, finalized, stated clearly, and consistent with the preliminary design.
The software requirements reflect and include the Software Fault Tree Analysis (FTA), or Software Failure Modes and Effects Analysis results
The software's preliminary design features and architecture are represented by software requirements.
Adequate technical and programmatic margins (e.g., data throughput, memory) and resources exist to complete the software development within budget, schedule, and known risks.
Relevant software operational modes and states are defined (e.g., nominal, critical, contingency).
Software common cause addressed (if applicable).
Software design addresses the software safety-critical requirements.
Software design addresses unauthorized use of software applications, command issuing, memory changes, and data changes to the software configuration.
Software design provides automatic detection and safing for critical and catastrophic hazards.
Software fault management requirements, architecture, and design have been defined.
The software design logically isolates the safety-critical design elements and data from non-safety-critical data.
The Software command and telemetry design have been defined.
Software error detections have been defined.
Software design, architecture, components, and interfaces are defined and understood at the level needed for code development.
Software design addresses the Software Fault Tree Analysis (FTA) or Software Failure Modes and Effects Analysis results.
Cybersecurity has been addressed in the software design.
Bidirectional Traceability: Verified Exists between software requirements and design modules.
Software Architecture: Verified Exists and interfaces are defined.
Preliminary Software Data Dictionary: Verified Exists and data is defined.
Verified Completed IV&V Software Design Analysis
Verified Completed the IV&V Software Requirements Analysis
IV&V concurs that the project’s software requirements and design are sufficiently mature to proceed to CDR. (If IV&V is required)
B) Risk and Hazard Analysis
1. Software Hazards: Verified Identified and addressed in System Hazard Analyses: include all known software hazards.
Expand
title
Success Criteria Details
The software hazards are clearly defined.
Traceability between software requirements and hazards is complete.
Hazard controls are defined.
Hazard verifications are defined.
All software requirements that trace to a hazard analysis are to be verified by test.
Software hazards address the software Failure Modes and Effects Analysis (FEMAs) and software Fault Tree results.
2. Software Fault Tree Analysis (FTA): Verified Preliminary results available.
3. Safety and Mission Risks: Verified Understood and credibly assessed.
C) Compliance and Standards
NPR 7150.2 and NASA-STD-8739.8 Requirements: Verified Tailoring completed and approved.
Software Classifications and Safety-Criticality: Verified Updated as necessary.
D) Tools and Facilities
Software Development Tools: Verified Identified, including computers programming language, and facilities for implementation, .
Expand
title
Success Criteria Details
sufficient software analysis and development tools exist.
the software development organization is trained in the use of the software language.
Validated and accredited software tool(s) required to develop or maintain software exist. A defined approach to the automatic generation of software source code exists.
Software Development Facilities: Verified Planned and will be in place when needed.
Resource Utilization: Verified Estimates and margins provided.
Hardware resourcesVerified develop and test the software. The required Engineering test units, modeling, and simulations have been identified and planned
E) Quality Assurance and Process Audit
Software Process Audit Results: Verified Available.
Software Development Processes and practices by the organizations developing the critical software components exist and are being followed.
Expand
title
Success Criteria Details
Evidence exists with Software process audit results.
Evidence that the software development organization followed the required processes for this point in the software lifecycle.
Problem Reporting Process: Verified Acceptable and includes tracking and resolution.
Expand
title
Success Criteria Details
Change control is established (e.g., change tracking, review, approval, disapproval, change impact analysis, resolution, re-validation, and re-verification.)
F) Documentation and Metrics
Interface Control Documents: Verified Sufficiently mature for Critical Design Review (CDR). Avionics architecture, components, and interfaces are defined and understood at the level needed to move to CDR
Expand
title
Success Criteria Details
The project has identified software quality attributes in the software architecture definition.
Software Metrics: Verified In use to track software quality and maturity.
Expand
title
Success Criteria Details
Software risks, issues, and findings are documented.
The project has addressed all software assurance and Severity 1 or 2 findings.
Verify that the project does not have a risk associated with developing software at the same time as the hardware is being designed, the risk of misunderstanding the software-hardware interfaces, and not having the hardware available to use in the software development.
Software supply chain risks.
Sufficient software workforce or software skillsets exist.
Software Configuration Management: Verified Processes and tools are in place.
Software Products in electronic format. Verified that NASA has access to the software products in electronic format, including software development and management metrics.
G) Stakeholder and Organizational Readiness
IV&V Concurrence: Verified Software requirements and design are mature for CDR.
Certifiable Practices: Verified Followed by organizations developing critical software components.
Software Assurance Personnel: Verified Identified for the project and milestone review.
H) Testing and Validation Plans
High-Level Test Plan: Verified Identifies testing needed at each level of implementation/integration.
Software Test Plans: Verified Developed and documented.
Prototype Software: Verified If applicable, developed and evaluated.
I) Reviews and Approvals
Peer Reviews: Verified Completed for software preliminary design and requirements.
Configuration Control Board: Verified Established and Change Control Process in place.
Lessons Learned: Verified Documented from software areas of the project.
J) Project Management and Cost Estimates
Software Trade Studies: Verified Completed.
Cost Estimate: Verified Provided for project’s software support.
Operational Concepts: Verified Defined and documented.
K) Old Business - Items from earlier reviews
RFAs and RIDs from the previous review have been Verified resolved, and any resulting actions are complete.