Home

04 Exercise: Requirement Quality Review

exercises chapter-04 requirements-engineering INVEST functional-requirements non-functional-requirements

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:

Instructions:

  1. Study the INVEST criteria reference table
  2. Analyze each requirement for quality problems
  3. Complete both tasks in writing
  4. 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)
© 2026 Dominik Mueller   •  Powered by Soopr   •  Theme  Moonwalk