User acceptance testing works when four things are fixed before the build starts:
- The scenarios the client will test, written in their words.
- The length of the testing window, in the calendar.
- The name of the person who signs.
- The rule for sorting whatever they find.
Miss any of them and UAT turns into an open-ended tour of the product where sign-off never quite arrives. I learned this the slow way. For my first few years I sent a staging link with "please test and let us know", then spent three weeks chasing feedback that mixed real defects with colour preferences and brand-new ideas.
Why does UAT stall in the first place?
UAT stalls because nobody agreed in advance what the word "accepted" means. The client's testers explore the product, which is natural, and exploring produces opinions. Opinions are useful and they belong in a backlog. A backlog cannot be signed, so the window stays open while everyone waits.
There is a second reason. The people asked to test have day jobs. A branch manager asked to "try the new system this week" will do it on Friday at five, on a phone, half-distracted. If the request has no scenarios and no deadline, it lands at the bottom of a list that never empties.
Who writes the scenarios, and when?
The client writes them, at scoping, with our help. Twenty to forty short lines in plain language: "As a store manager, I approve a leave request and the employee receives an email within a minute." No technical wording. Each one describes a moment in someone's working day.
I ask for these before the estimate is final because they change the estimate. A scenario like "the payroll export matches what our accountant expects" reveals a whole integration nobody had mentioned. Better to find that in week one than in the testing window.
How long is the window, and who is in the room?
Five to ten working days, in the calendar from the start, with a daily fifteen-minute triage call. On that call sit the client's lead tester, our QA lead and me. Every finding gets a label on the spot, and the label decides what happens to it next.
| Label | What it means | Blocks sign-off? |
|---|---|---|
| Defect | A written scenario does not pass | Yes, and we fix it inside the window |
| Change | A new idea or a preference | No, it goes to the backlog with an estimate |
| Question | The behaviour was misunderstood | No, answered on the call and closed |
The labelling is where the trust is won or lost. If we call a genuine defect a "change" to protect the timeline, the client stops believing the triage. If we accept every wish as a defect, the project never ends. Doing it out loud on a daily call keeps both sides honest.
Who signs, and what does signing mean?
One named person, agreed at kickoff, with the authority to say yes. Sign-off means the scenarios pass. It does not mean the client loves every screen. I say that sentence in the kickoff and again at the start of the window, because it takes the emotion out of the decision.
Conditional sign-off is fine and common. The client signs with a punch list attached: six known items, each with an owner and a date. That is a far healthier outcome than an unsigned project with six open items and a vendor waiting on an invoice.
The QA work that has to happen before UAT
UAT is the client's test of fitness, and it only works when it is not also our first serious test. Before a client sees a release candidate, our QA team has already run the client's own scenario list against it, so the window becomes a confirmation rather than a discovery.
With AI assistants generating a large share of the code on our projects, the volume of things to check has grown faster than the number of hands, which is why I follow the thinking in the QA layer that keeps up when AI writes four times the code and budget internal testing before every window rather than after it. On the software development work we take on at Shanti Infosoft, that internal pass sits in the plan and in the price.
The best UAT window I ever ran ended on day four of ten. The client's tester finished the list, found two defects, and asked if she could go back to her actual job. That is what sign-off should feel like. If you want to talk through a window for your own release, my calendar is open here.
What does "accepted" mean on your current project, and could the person signing explain it back to you?
Sonal Jain heads project management at Shanti Infosoft, where a team of 80+ engineers ships into a UAT window like this one every few weeks.
Top comments (0)