3.1.2.3 The project shall perform requirements validation to ensure that the software will perform as intended in the customer environment. Requirements validation includes confirmation that the requirements meet the needs and expectations of the customer. Requirement validation is confirmation, through the provision of objective evidence, that the requirements for a specific intended use or application have been fulfilled. Class A_SC A_NSC B_SC B_NSC C_SC C_NSC D_SC D_NSC E_SC E_NSC F G H Applicable? Key: A_SC = Class A Software, Safety-Critical | A_NSC = Class A Software, Not Safety-Critical | ... | - Applicable | - Not Applicable Requirements are the basis for a project. They identify the need to be addressed, the behavior of the system, and the constraints under which the problem is to be solved. They also specify the performance of the product to be delivered by a contracted provider of software. Requirements that accurately describe the need to be solved by the project team need to be defined before the main planning and building activities begin. Validation is one way to ensure the requirements define the need completely, clearly, correctly, and consistently to give the software engineers the best chance to build the correct product. Validation is a process of evaluating artifacts to ensure that the right behaviors have been defined in the artifacts. The right behaviors adequately describe what the system is supposed to do, what the system is not supposed to do, and what the system is supposed to do under adverse conditions. Marasco (2007) describes requirements validation as "making sure everyone understands and agrees on the requirements put forth, and that they are realistic and precise" 247 Other reasons for validating requirements: The basic validation process is shown below with the steps addressed by this requirement highlighted: Validation activities are not to be confused with verification activities as each has a specific goal. Validation is designed to confirm the right system is being produced while verification is designed to confirm the product is being produced correctly. Requirements validation, as used in this requirement, addresses all of the following: Validation activities are not performed in an ad hoc manner, but are planned and captured in a validation plan document. The validation plan is typically part of a verification and validation (V&V) plan, a software V&V plan (SVVP), or is included in the Software Management/Development Plan (SMP/SDP). All requirements need to be validated. Categories include, but are not limited to: To perform complete requirements validation, multiple techniques may be required based on the nature of the system, the environment in which the system will function, or even the phase of the development life cycle. Sample validation techniques or methods include, but are not limited to: When validating requirements, either new or modified, consider including the following roles because all roles will review the requirements from a different perspective: Sample Roles for Validation Activities Customer Developer Interface Representative Requirement/SRS Author Reviewer (topic expert, safety, software assurance, etc.) When available and appropriate, checklists and documented procedures are used for the various techniques selected for requirements validation to ensure consistency of application of the technique. Sample Checklists and Procedures Peer review/inspection checklists Formal review checklists Analysis procedures Acceptance test procedures Samples are included in the Resources section of this guidance, but Center procedures take precedence when conducting requirements validation activities at a particular Center. A requirements traceability matrix may also be useful to ensure that all requirements are validated. The matrix could include: Some common issues related to requirements validation include: 012 Additionally, it is important to confirm with stakeholders that their needs and expectations remain adequately and correctly captured by the requirements following resolution of conflicting, impractical and/or unrealizable stakeholder requirements. While the Software Requirements Review (SRR) addresses more than just "getting the requirements right", the SRR can include that action as part of the review. Additional guidance related to requirements validation may be found in the following related requirements in this Handbook: Small projects need to balance the effectiveness of the available methods against available resources to validate requirements associated with software. Safety-critical requirements, human-rated requirements, and other critical requirements need to be validated with appropriately rigorous methods which are documented in the project's software development/management plan. Tools to aid in compliance with this SWE, if any, may be found in the Tools Library in the NASA Engineering Network (NEN). NASA users find this in the Tools Library in the Software Processes Across NASA (SPAN) site of the Software Engineering Community in NEN. The list is informational only and does not represent an “approved tool list”, nor does it represent an endorsement of any particular tool. The purpose is to provide examples of tools being used across the Agency and to help projects and centers decide what tools to consider. A documented lesson from the NASA Lessons Learned database notes the following: Mars Climate Orbiter Mishap Investigation Board - Phase I Report. Lesson Number 0641: A mishap could have been prevented if requirements validation had caught a mismatch between interface documentation and the requirements. Because the mismatch was not caught, the Mars Climate Orbiter (MCO) spacecraft was lost due to "the failure to use metric units in the coding of a ground software file...used in trajectory models...The data in the ...file was required to be in metric units per existing software interface documentation. " The data was provided in English units per the requirements 513.
See edit history of this section
Post feedback on this section
1. Requirements
1.1 Notes
1.2 Applicability Across Classes
X - Applicable with details, read above for more | P(C) - P(Center), follow center requirements or procedures2. Rationale
3. Guidance
- As appropriate, multiple Reviewers could be included, each providing a specialized perspective4. Small Projects
5. Resources
5.1 Tools
6. Lessons Learned
SWE-055 - Requirements Validation
Web Resources
View this section on the websiteUnknown macro: {page-info}
Per the NASA IV&V Technical Framework 003 document, "The objective of Requirements IV&V is to ensure the system's software requirements are high quality (correct, consistent, complete, accurate, readable, and testable), and will adequately meet the needs of the system and expectations of its customers and users, considering its operational environment under nominal and off-nominal conditions, and that no unintended features are introduced..."
1 Comment
Anonymous
Joe Ponyik/GRC
I was having a discussion about this requirement with some members of my project team. What exactly does it mean to "validate requirements"? The requirement includes the phrase "to ensure that the software will perform as intended in the customer environment". Are requirements validated when the stakeholders have inspected them and signed off on the requirements document? Or are they validated when the final product shows that it meets its intended use in the customer environment? When in the life cycle should requirements validation occur? I did not see anything in the Guideline that discusses "to ensure that the software will perform as intended in the customer environment". Can this be clarified?
Also, there is a typo at the bottom of the Guideline page. There is an extraneous closing parenthesis by SWE-073.