bannerd
R045 - Incomplete, Missing, Or Unclear Software Requirements

1. Risk

Software requirements serve as the foundational blueprint for the development of a successful software product. They define what needs to be addressed, outline the behavior of the system, specify the desired quality attributes of the software, and establish the constraints within which the problem must be solved. Clear, complete, and unambiguous requirements are critical for accurately translating customer expectations into actionable deliverables. They also specify the product the provider is expected to deliver, forming the basis for contractual alignment between stakeholders.

The existence of incomplete, missing, or unclear software requirements jeopardizes this foundational process. Missing or insufficiently detailed requirements create ambiguity regarding project scope and deliverables, increasing the likelihood of misaligned expectations between the developer and customer. Such gaps can lead to improper implementation, the necessity for costly redesigns, schedule delays, and, in the worst-case scenario, software that fails to meet its intended purpose. Additionally, the presence of excessive TBDs (To Be Determined), TBCs (To Be Confirmed), or TBRs (To Be Reviewed) in software requirements signifies unresolved elements of the design, which further contribute to uncertainty and risk exposure in software development.

NASA’s data-driven risk benchmarks—such as the ratio of estimated SLOC (Source Lines of Code) to detailed software requirements exceeding 50, and/or the presence of more than 10 TBD/TBC/TBRs in a software requirements document—serve as quantitative indicators of insufficient requirement detail. These thresholds highlight significant warning signs that a project may suffer from unclear scope, undefined technical challenges, and inadequate preparation for downstream development and verification activities. Without clear requirements, verification activities cannot adequately judge the completeness, correctness, and quality of the software product, leading to compromised mission assurance.

Furthermore, when requirements are missing or unclear, it amplifies downstream risks, such as difficulties in functional verification, design, coding, integration, and validation processes. These issues can propagate into costly late-stage changes or missed deadlines. For high-stakes missions, the risk of unclear requirements is especially critical because it can erode confidence in achieving mission objectives, impacting safety, reliability, and performance.

This risk highlights the importance of thorough requirements definition and refinement, early engagement with stakeholders to clarify ambiguities, and rigorous requirements review to minimize gaps and ensure alignment between developers and customers. Proper management of software requirements is essential to mitigate variability, improve project predictability, and ultimately deliver a high-quality software product that reliably meets mission objectives.

2. Mitigation Strategies

Mitigation Strategies

This rationale provides a more in-depth explanation of why the risk exists, explicitly tying the issue to its downstream consequences, emphasizing the importance of quantitative benchmarks, and reinforcing the role of requirements in ensuring project success while outlining how gaps can impact mission-critical software.


3. Resources

3.1 References

[Click here to view master references table.]

No references have been currently identified for this Topic. If you wish to suggest a reference, please leave a comment below.





  • No labels