10.2 Acceptance Criteria and Requirements Validation
Key Takeaways
- Acceptance criteria define the specific conditions that a deliverable must meet to be accepted by the stakeholder or customer
- Validation confirms that the right product is being built (meets stakeholder needs), while verification confirms it is built correctly (meets specifications)
- User Acceptance Testing (UAT) is performed by end users or their representatives to confirm the solution meets their actual needs
- The Definition of Done in agile serves as a quality gate that must be met before any increment can be considered complete
- Requirements validation should occur continuously, not just at the end — through reviews, prototypes, demonstrations, and UAT
Acceptance Criteria and Requirements Validation
Requirements validation ensures that the project delivers what stakeholders actually need. This is Domain 4, Task 6: Validate requirements through product delivery.
Validation vs. Verification
| Concept | Question | Focus | Who |
|---|---|---|---|
| Validation | "Are we building the RIGHT product?" | Meets stakeholder needs | Customer/stakeholder |
| Verification | "Are we building the product RIGHT?" | Meets specifications | Quality/engineering team |
Memory Aid: Validation = Value to the customer. Verification = Verifying against specifications.
Acceptance Criteria
Acceptance criteria are the specific conditions that a product, service, or result must satisfy to be accepted by the customer or stakeholder.
Characteristics of Good Acceptance Criteria
| Characteristic | Description |
|---|---|
| Specific | Clearly state what must be true for acceptance |
| Measurable | Can be objectively evaluated (pass/fail) |
| Achievable | Realistic within project constraints |
| Relevant | Directly related to the requirement |
| Testable | Can be verified through testing |
Acceptance Criteria Formats
Given-When-Then (Gherkin Format)
Used primarily in agile for behavior-driven development:
- Given [precondition/context]
- When [action/trigger]
- Then [expected outcome]
Example:
- Given a registered user is on the login page
- When they enter valid credentials and click "Login"
- Then they are redirected to their dashboard within 2 seconds
Checklist Format
Simple list of conditions that must be met:
- User can log in with email and password
- Failed login shows error message after 3 attempts
- Password must be at least 8 characters
- Login session expires after 30 minutes of inactivity
Rule-Based Format
Business rules that define behavior:
- If order total exceeds $50, free shipping applies
- If payment fails, order status changes to "pending"
- If user is inactive for 90 days, account requires reactivation
User Acceptance Testing (UAT)
User Acceptance Testing is the final testing phase where end users verify that the solution meets their actual needs in a real-world context.
UAT Process
- Define UAT plan — Scope, schedule, participants, success criteria
- Create test scenarios — Based on acceptance criteria and real-world use cases
- Prepare test environment — Set up a realistic testing environment
- Execute tests — End users perform tests following scenarios
- Document results — Record pass/fail for each scenario, log defects
- Decision — Accept, accept with conditions, or reject the deliverable
UAT vs. Other Testing Types
| Testing Type | Performed By | Purpose |
|---|---|---|
| Unit Testing | Developers | Verify individual code components work |
| Integration Testing | QA Team | Verify components work together |
| System Testing | QA Team | Verify the complete system meets specifications |
| User Acceptance Testing | End Users | Validate the system meets actual user needs |
| Regression Testing | QA Team | Verify changes haven't broken existing functionality |
Validation Through the Project Life Cycle
Validation should occur continuously, not just at the end:
Predictive Validation Points
| Phase | Validation Activity |
|---|---|
| Planning | Requirements review and sign-off |
| Design | Design review against requirements |
| Build | Prototype reviews, walk-throughs |
| Test | System testing, UAT |
| Deploy | Acceptance sign-off, go-live review |
Agile Validation Points
| Event | Validation Activity |
|---|---|
| Backlog Refinement | Story review against acceptance criteria |
| Sprint Planning | Requirements clarification and confirmation |
| Sprint | Ongoing demonstration and feedback |
| Sprint Review | Stakeholder inspection of the increment |
| Release | UAT and formal acceptance |
Readiness Assessment
Before delivery, the BA or project team should assess readiness using the RTM or product backlog:
Readiness Checklist
- All acceptance criteria are defined and agreed upon
- All required testing is complete and passed
- All critical defects are resolved
- Training materials are prepared (if applicable)
- Transition plan is in place (data migration, cutover)
- Stakeholders have signed off on acceptance
- Support processes are ready
- Documentation is complete
Using the RTM for Readiness
The RTM can serve as a readiness checklist by verifying:
- All requirements have associated test cases
- All test cases have been executed
- All required test cases have passed
- All requirements are marked as complete
- Traceability is maintained from business need to verified deliverable
What is the key difference between validation and verification?
In the Given-When-Then format for acceptance criteria, what does "Given" represent?
User Acceptance Testing (UAT) is performed by:
Which statement about requirements validation is TRUE?