SE Notes
Verifying that requirements accurately reflect stakeholder needs.
Requirement validation is the process of confirming that documented requirements accurately, completely, and consistently represent what stakeholders actually need. It is the quality control gate for requirements—catching errors, ambiguities, and omissions before they propagate into design and code where they become exponentially more expensive to fix. Validation answers the question: "Have we documented the right requirements correctly?" A requirement document can be internally consistent and well-formatted yet completely wrong if it does not reflect actual stakeholder needs.
Why Validation Is Critical
Requirements defects that escape validation and propagate into development are the most expensive category of software defects. A requirement misunderstanding that reaches production can cost 100x more to fix than if caught during validation. Consider: if a banking system misinterprets a regulatory requirement, the cost is not just code changes—it includes regulatory penalties, customer notifications, potential legal liability, and reputation damage.
Studies show that approximately 56% of defects found in software systems originate from requirements errors. Yet organizations typically spend less than 10% of project effort on requirements activities. Requirement validation is the most cost-effective quality investment a project can make.
Validation Techniques
Formal Reviews (Inspections)
Structured examination of requirements documents by a group of reviewers using defined checklists:
Review Checklist Questions:
- Is each requirement unambiguous (only one possible interpretation)?
- Is each requirement testable (can we write a test to verify it)?
- Is each requirement feasible (can it be implemented within constraints)?
- Are requirements consistent (no contradictions between them)?
- Is the specification complete (all scenarios addressed)?
- Are requirements traceable (linked to their source)?
- Is each requirement necessary (traces to a business need)?
- Are boundary conditions specified?
- Are error handling behaviors defined?
Prototyping
Building a working model that stakeholders can interact with to validate understanding. Prototypes reveal misunderstandings that text documents cannot—seeing a feature implemented (even roughly) is more revealing than reading about it.
Test Case Derivation
Attempting to write acceptance test cases from requirements. If you cannot write a clear pass/fail test for a requirement, the requirement is too vague:
| Requirement | "The system shall provide a user-friendly interface" |
| Can we write a test? | No. What does "user-friendly" mean? How do we measure it? |
| Requirement | "New users shall complete account registration in under 3 minutes |
| Can we write a test? | Yes. Conduct usability test, measure completion times. |
Model Validation
Creating formal or semi-formal models (use case diagrams, state machines, data models) from requirements and reviewing them for completeness and consistency. Models make gaps visible that text descriptions hide.
Scenario Walkthroughs
Walking through specific usage scenarios step by step with stakeholders, asking "what happens next?" at each stage. This reveals missing requirements for exceptional cases and edge conditions.
Real-World Example: E-Commerce Validation
Requirements for a product review feature are validated:
Requirement as written: "Customers can review products they have purchased."
Validation questions reveal gaps:
- Can customers edit or delete their reviews? (Missing requirement)
- Can customers review a product multiple times? (Ambiguous)
- What constitutes a valid review? (Missing validation rules)
- Can reviews contain images? (Unclear scope)
- When do reviews become visible? (Missing workflow - immediate or moderated?)
- What about offensive content? (Missing requirement for moderation)
- Can sellers respond to reviews? (Missing stakeholder perspective)
Validated requirements:
- REQ-R-001: Customers may submit one review per product per purchase
- REQ-R-002: Reviews shall contain a 1-5 star rating (mandatory) and text (optional, 10-5000 characters)
- REQ-R-003: Reviews shall be visible after automated content moderation (within 4 hours)
- REQ-R-004: Customers may edit their review within 48 hours of submission
- REQ-R-005: Reviews containing prohibited content shall be flagged for manual moderation
- REQ-R-006: Sellers may post one public response per review
Validation vs. Verification
Validation: "Are these the right requirements?" (Do they reflect actual needs?) Verification: "Are the requirements written correctly?" (Are they clear, consistent, testable?)
Both are necessary. Requirements can be perfectly written (verified) but wrong (not validated). They can also be correct in intent (validated) but poorly expressed (not verified). Validation involves stakeholders; verification can be performed by the requirements team alone.
Common Validation Findings
- Missing requirements for error and exception handling
- Ambiguous terms interpreted differently by different stakeholders
- Requirements that conflict with each other
- Requirements that are technically infeasible
- Gold-plating (requirements nobody actually needs)
- Missing non-functional requirements (performance, security, usability)
- Incomplete specifications of business rules and calculations
- Assumptions stated as requirements (or requirements stated as assumptions)
Best Practices
Validate early and often—do not wait until the entire requirements document is complete. Involve actual end users (not just managers representing users). Use multiple techniques (reviews find different issues than prototyping). Document validation results and track resolution of identified issues. Treat validation as an iterative process—findings lead to refinement, which requires re-validation of changed requirements.
Exam Focus
Revise definitions, diagrams, examples, and short-answer points for Requirement Validation.
Interview Use
Prepare one clear explanation, one practical example, and one common mistake for this Software Engineering topic.
Search Terms
software-engineering, software engineering, software, engineering, requirements, requirement, validation, requirement validation
Related Software Engineering Topics