Requirements Validation
- Requirements Validation
- the
requirements engineering
task during which the correctness of the identified and/or analyzed
requirements
is verified by their stakeholders
As illustrated in the preceding figure, Requirements Validation is part of the following inheritance hierarchy:
- Type: Abstract
- Superclass: Engineering Task
- Subclasses:
- Beta testing of new software applications
- Flight testing for new airplanes
- Sea trials for new ships
The typical responsibilities of Requirements Validation are to:
- Ensure the correctness of the analyzed requirements.
- Determine if the correct requirements have been identified, analysed, and specified.
- Certify that the requirements are an acceptable description of the
system, software application, or component to be implemented.
Requirements Validation can typically begin when the following preconditions hold:
- The initiation phasehas started.
- The requirements team
is staffed and adequately trained in requirements validation techniques.
- Some requirements to be validated have been either
analyzed (e.g., functional requirements) or else can be reused as is.
Requirements Validation is typically complete when the following postconditions hold:
- All requirements have been validated by an adequate number of stakeholders.
- All deliverable requirements work documents have been
approved, baselined, and accepted by the customer representative(s).
Requirements Validation typically involves the following teams
performing the following steps in an
iterative, incremental, parallel, and time-boxed manner for
each validation or related requirements document:
- Plan Validation.
The requirements team
develops plans documenting how (e.g., techniques to be used) and when (schedule)
the requirements will be validated.
- Prepare for Validation.
Make preparations prior to performing the actual validation steps:
- The requirements team identifies the stakeholders who will be the
members of the requirements validation team.
- The requirements team provides the requirements to be validated to the
members of the requirements validation team.
- Members of the requirements validation team read the requirements.
- Validate Requirements.
Use the agreed techniques to validate the requirements for correctness:
- Evaluate the requirements.
- Identify requirements that are incorrect.
- Develop action items for correcting the requirements.
- Perform Action Items
- Iterate Requirements
Requirements Validation can typically be performed using the following techniques:
- Inspection Checklists
- Prototyping
- Testing:
- Beta testing of new software applications
- Flight testing for new airplanes
- Sea trials for new ships
- Timeboxing
Requirements Validation typically results in the
production of all or part of the following work products:
- Validation Plan
- List of Action Items
- Problem Reports
- Requirements validation is a prerequisite to the approval of the requirements for implementation.
- All types of requirements should be validated. Too often,
the functional requirements are emphasized to the extent that
many other requirements remain unvalidated. This can especially
be a problem with quality requirements that can be critical to
the acceptability of the system.
- Validation and verification need to be carefully differentiated:
- Validation is used to answer the question:
“Is the right (i.e., correct) system being produced?”
Requirements validation determines if the requirements are correct.
- Verification is used to answer the question:
“Is the system being produced right (i.e., correctly)?”
Requirements verification determines if the requirements have the appropriate characteristics
(e.g., consistent, complete, etc.).