04 Exercise: Requirement Quality Review
January 2026 (631 Words, 4 Minutes)
Introduction
In requirements engineering, poorly written requirements lead to misunderstandings, scope creep, and untestable software. The INVEST criteria help us evaluate and improve requirement quality.
Learning Objectives:
- Identify violations of the INVEST criteria in requirements
- Rewrite vague requirements as testable specifications
- Classify requirements as Functional (FR) or Non-Functional (NFR)
Instructions:
- Study the INVEST criteria reference table
- Analyze each requirement for quality problems
- Complete both tasks in writing
- Check your answers against the solution
Total Points: 25 Time: ~20 minutes
Reference: INVEST Criteria
| Criterion | Meaning | Problem if Violated |
|---|---|---|
| Independent | Can be implemented without depending on other requirements | Creates coupling, harder to prioritize |
| Negotiable | Details can be discussed and refined | Too rigid, no room for better solutions |
| Valuable | Delivers clear value to stakeholders | Wasted effort on unnecessary features |
| Estimable | Team can estimate effort to implement | Cannot plan or schedule work |
| Small | Can be completed in one iteration/sprint | Too large to manage or test effectively |
| Testable | Has clear, measurable acceptance criteria | Cannot verify if requirement is met |
Requirements to Analyze
Below are 5 requirements collected from stakeholders. Each has quality problems.
Requirement 1
“The system should be fast.”
Requirement 2
“The user interface should be user-friendly and look modern.”
Requirement 3
“The system must save all data, export it to multiple formats, and recover automatically from any errors.”
Requirement 4
“API response time must be acceptable for users.”
Requirement 5
“The system should be secure and fully GDPR compliant.”
Task A: Identify INVEST Violations (10 points)
For each requirement, list which INVEST criteria it violates. Briefly explain why.
Your Answer:
| Req # | Violated Criteria | Explanation |
|---|---|---|
| 1 | ||
| 2 | ||
| 3 | ||
| 4 | ||
| 5 |
(2 points per requirement)
Task B: Rewrite and Classify Requirements (15 points)
Rewrite each requirement so it is testable with clear acceptance criteria. Also classify each as FR (Functional Requirement) or NFR (Non-Functional Requirement).
Your Answer:
| Req # | Rewritten Requirement | FR or NFR? |
|---|---|---|
| 1 | ||
| 2 | ||
| 3 | ||
| 4 | ||
| 5 |
(3 points per requirement: 2 pts for testable rewrite, 1 pt for correct classification)
Solution
Show Solution
Task A: INVEST Violations
| Req # | Violated Criteria | Explanation |
|---|---|---|
| 1 | Testable, Estimable | "Fast" is subjective with no measurable target. Cannot test or estimate without metrics. |
| 2 | Testable, Small | "User-friendly" and "modern" are subjective. Combines two concerns (usability + aesthetics). |
| 3 | Small, Testable | Three separate features bundled together. "Any errors" is too broad to test. |
| 4 | Testable | "Acceptable" is subjective. No defined threshold or measurement method. |
| 5 | Small, Testable, Estimable | "Secure" is vague. GDPR compliance alone is a massive scope. Cannot estimate or verify. |
Task B: Rewritten Requirements with Classification
| Req # | Rewritten Requirement | FR/NFR | Reason |
|---|---|---|---|
| 1 | "The system shall load the dashboard within 2 seconds for 95% of requests under normal load (100 concurrent users)." | NFR | Performance/response time |
| 2 | "The system shall follow WCAG 2.1 AA accessibility guidelines for all user-facing pages." | NFR | Usability/accessibility |
| 3 | "The system shall auto-save user data every 30 seconds to prevent data loss." (split required) | FR | Data persistence function |
| 4 | "The API shall respond to GET requests within 200ms for the 95th percentile under standard load." | NFR | Performance |
| 5 | "The system shall encrypt all personal data at rest using AES-256." | NFR | Security |
Alternative rewrites for Req 3 (compound - students may split):
- “The system shall export reports in PDF and CSV formats.” → FR
- “The system shall retry failed database writes up to 3 times before displaying an error.” → NFR (reliability)
Alternative rewrites for Req 5 (compound - students may split):
- “The system shall provide a ‘Delete My Data’ feature that removes all user PII within 72 hours.” → FR
Grading Notes
- Task A: Award 2 points if student identifies at least one correct violation with reasonable explanation.
- Task B: Award 3 points per requirement:
- 2 pts for measurable, testable rewrite (1 pt for partial improvement)
- 1 pt for correct FR/NFR classification
- Accept either answer for requirements that could reasonably be both (like “delete my data” feature)