The brief asked for "a barcode scanning app for the warehouse". We spent a day watching people work before writing anything down, and the scope that came out the other side barely resembled the brief.
What the brief assumed
That the bottleneck was data entry — staff writing item codes on paper, then someone typing them into a spreadsheet later. A scanning app fixes exactly that problem and nothing else.
What we actually saw
Staff already had barcode scanners, connected to nothing useful. The real delay was that nobody could see current stock levels without walking to the shelf and counting, because the existing system updated once a day on a batch job. Orders were placed against numbers that were, on a bad day, twenty hours stale.
The scope that followed
- Real-time stock visibility, not faster data entry, became the primary goal.
- The scanners stayed — replacing working hardware would have added cost and training for no benefit.
- The batch job was replaced with an event stream, so a scan updates the visible stock count within seconds rather than at midnight.
- A discrepancy queue was added for the cases automation could not resolve on its own — damaged stock, miscounts, items scanned in the wrong location.
None of this appeared in the original brief, because the person writing the brief experienced the problem as "our app is old", not as "our stock numbers are stale by design".
Why the day was worth it
A requirements document written from the brief alone would have delivered a modern-looking app that solved the wrong bottleneck, on schedule and within budget, to a client who would have discovered the real problem three months later.
The client who writes the brief is usually describing the symptom nearest to them, not the cause. A day spent watching the actual work finds the difference for free, before either side has spent money on the wrong scope.
What we measured afterwards
Time between a physical stock change and that change being visible to whoever is deciding whether to place a reorder. It went from roughly a day to under a minute, which was the number the client actually cared about — not app installs, not scans per shift.
The general habit
We now default to a half-day of direct observation on any project involving a physical workflow, before discovery moves to documents and interviews. It is cheap relative to the scope it corrects.
