Half our quotation list was invisible on a phone
On a phone the quotations list showed four of eight columns. Status, both totals and every action sat off the edge, and no automated check noticed.
Topic
What the software actually does to the person using it, which is not what the spec said.
25 articles
These are the failures that never appear in a log. A click that writes to a row nobody reads. A notification that is generated correctly and delivered to nobody. A status column that was true on the day it was written and has not been looked at since. A screen that reports a thousand missing pricing rules when thirty-three are real. Nothing errors, and the person using it slowly stops trusting the system.
The common cause is that the software was organised around how the data is stored rather than around the process somebody is trying to complete — filing cabinets, when the user is running a job from start to finish. The fix is rarely more features. It is usually noticing that the last step of a real workflow has no screen, because the requirement stopped where the data model did.
On a phone the quotations list showed four of eight columns. Status, both totals and every action sat off the edge, and no automated check noticed.
Every digital screen refused a booking for any dates, even with nothing on it. A missing slot count was read as zero. Two future bookings were also accepted.
Drivers rang the office instead of the customer on every job, or saw no number at all. In the live window, 16 of 16 assignments had none. Two faults stacked.
The owner asked whether the operations board told the truth. Its two busiest queues showed the fifty newest jobs and hid the oldest; two columns were always empty.
A 20-site proposal deck weighed about 90 MB and a 40-site one about 180 MB, past what WhatsApp or email will carry, because every photo went in at full camera size.
Forty-seven error codes had no wording in the web portal, so users read the raw code on screen. Nothing in the software treats that as a fault. We made it one.
In a compliance system a worker could close a gap by uploading any file. The dashboard went green before a manager looked and stayed green after a rejection.
The order module was reported complete. In a customer's shop, a rep could not create one on the phone. The tracker showed roughly double the real progress.
A hundred and fifty multiple-choice questions all had the answer in the first position. Each one was right. The distribution was the defect.
Every contract bug in the project had been between contributors, not inside one. So the mobile rebuild began by turning those disagreements into build failures.
Nine kinds of alert, each carefully built, every one delivered to zero people. Why app notifications fail silently, and the rule that stops people ignoring them.
A compliance dashboard guessed the unit of a stored figure. A true 1 per cent showed as 100 per cent, so the site that needed the alarm looked perfect.
Four places asked which credentials are about to expire and gave four answers. A credential ending today was counted on none of the dashboard's numbers.
Full marks on a safety quiz proves nothing about whether the lesson was read: the careful-sounding answer is obvious. What the app could and could not record.
The plan and the database said the product was largely built. About forty per cent had no server behind it, and taking a quiz failed everywhere.
A parent published a lesson, the screen said Published, and the child's tablet showed an empty list. Publishing and assigning were two separate steps.
In a car rental system, removing a driver worked from one screen and silently did nothing from another. The cause, what it cost the audit trail, and the fix.
A driver app said 86 jobs were still open this month. Three were. The other 83 had ended in ways the app was never told about, and the count grew every month.
A salesperson pitching a campaign that starts next quarter does not care what is free this morning. Availability needs a date argument, not a boolean column.
Nine modules named after data types. One job — book a hoarding and bill for it — spread across three of them. That is why software feels scattered.
A receivables card showed zero while the list beneath it showed forty-five unpaid invoices. The list was right; the total was adding text, not money.
A digital screen loops six to eight adverts at once. The system allowed one. That is a correctness defect, and it should be sequenced like one.
The data was a chain and the interface was a set of dead ends. No record linked forward to the one it produced, so every step meant going back to a menu.
A campaign on four hoardings was checked for clashes against one of them, so three could be sold again to someone else. The thing you sell is the face and its dates.
A driver dashboard counted work by a row's updated timestamp. The timestamp was stamped on insert and had never moved on any of 221 rows.