The buyer's playbook stages 05
Proving the requirements were delivered
How to check that you got what you specified: a traceability matrix, UAT run by the people who do the work, honest defect severities, and the one test that matters more than all the others.
After this stage: Evidence, requirement by requirement, of what was delivered and what was not.
“Is it finished?” is not a question anyone can answer honestly without a structure behind it. This stage is that structure.
It only works if your requirements were numbered. If they were not, go back and number them — everything below hangs off those IDs.
The traceability matrix
One row per requirement, carried from your BRD through to the end of the project. It is the document that turns opinion into evidence.
| ID | Requirement | Criterion | Test case | Result | Signed |
|---|---|---|---|---|---|
| FIN-014 | No duplicate vendor bills | Blocked with a message naming the existing bill | UAT-031 | Pass | 12 May, A. Hassan |
| SAL-003 | Orders over 500k approved by commercial manager | Cannot confirm before approval; approval visible after | UAT-012 | Pass | 12 May, A. Hassan |
| INV-011 | Stock per branch | Counts per branch match a physical count | UAT-044 | Fail — retest | — |
| HR-007 | Shift feeds payroll and billing from one entry | One entry produces both lines | UAT-050 | Pass with note | 14 May, M. Saleh |
Rules that keep it honest:
- Every requirement gets a row, including the ones marked Standard in the fit-gap. “Standard” is a claim until tested.
- Every row gets a test case, written from the acceptance criterion, not from the screen.
- Only Pass or Fail. Not “mostly working”. A conditional pass carries a written note saying what was accepted.
- The partner does not sign it. You do.
Run UAT properly
User acceptance testing goes wrong the same way everywhere: it is run by managers, on invented data, a week before go-live, as a demonstration.
Make it the opposite.
The people who do the work do the testing. The storekeeper tests receiving. The AP clerk tests vendor bills. Managers are the worst testers of their own departments, because they know how it is supposed to work rather than how it does.
Test on migrated data, not demo data. Half of all real defects only appear with your actual product names, your actual customers and your actual volumes.
Script it by role. Give each tester a numbered list of tasks in the order they would really do them, with the expected result written down. Testing without a script produces “it seems fine”, which is worth nothing.
Give it real time. Two to three weeks, with testers released from part of their normal duties. UAT squeezed into three days is a formality, and the defects it did not find will be found by your customers.
Classify defects honestly
Everyone argues about severity, so agree the definitions before testing starts.
| Severity | Meaning | Effect on go-live |
|---|---|---|
| Critical | Business cannot operate. Cannot invoice, cannot ship, wrong postings. | Blocks go-live |
| High | A core process needs a manual workaround every time. | Blocks go-live unless the workaround is written and accepted |
| Medium | Works, but awkward or slow. | Fix after go-live, with a date |
| Low | Cosmetic, wording, layout. | Backlog |
Two things to watch. Partners under date pressure reclassify Criticals as Highs — check the reasoning yourself. And your own team will report unfamiliarity as defects; some “this is wrong” is really “this is different”, and that is a training matter, not a defect.
The test that matters most
Everything above is preparation for one thing: run your real month on staging.
For one full period, enter genuine transactions into the new system in parallel with the old one. Real sales, real purchases, real receipts, real payments, right through to closing the period.
Then compare:
- Do the trial balances agree?
- Does stock in the system match a physical count?
- Do the margins look like the margins you know?
- Did the close take a sensible amount of time?
- What did people have to do outside the system to make it work?
The last question is the important one. Every workaround your team invented during the parallel run is a requirement that was missed, and finding it now costs a fraction of finding it in production.
No parallel run means no evidence. Whatever the pressure on the date, do not skip this.
Exit criteria
Agree these in writing before UAT starts, so nobody negotiates them under deadline pressure:
UAT IS COMPLETE WHEN
All Must requirements ............ Pass
Critical defects ................. zero open
High defects ..................... zero open, or accepted in writing
with a named workaround and a fix date
Parallel run ..................... one full period closed and reconciled
Trained users .................... every role, attendance recorded
Medium and Low ................... listed, owned, with dates
Signed ........... decision owner, date
If you are asked to go live without these met, that is a decision the sponsor makes deliberately and in writing — not a detail settled in a status call.