Horizon Developers and The Obvious
The best software developers must have empathy
A suboptimum developers' attitude is that it is entirely the users' responsibility to identify and report the occurrence of bugs. There was an example of this in the evidence given to the Post Office Horizon IT Inquiry by former Fujitsu employee and distinguished engineer Gareth Jenkins on 27/06/2024. One issue being discussed was a software fault in the Horizon system known as the Receipts and Payment Mismatch bug.
Mr Jennings identified the symptom that Fujitsu software engineers used to identify that this fault had occurred during transactions at a specific Post Office. He argued that subpostmasters had the necessary information to be aware that there was a fault in Horizon, stating:
"If they had looked in detail at the branch trading statement, they would have seen that there was a problem there ... There was one figure in there which should always be zero and, in this particular case, it wasn't."
Mr Jenkins had assumed that the subpostmasters would report this information to the Horizon Helpdesk.
It is highly unlikely that that was covered in Horizon training for subpostmasters.
As the Inquiry Counsel pointed out, a message to the user stating that an error had occurred would have been far more helpful. Subpostmasters certainly were contacting the Helpdesk - but only because their accounts did not balance, not because some particular field in a report was not zero. Programming an application to detect an anomalous value
Making unfounded assumptions about user behaviour
It was obvious to Mr Jenkins, as a software developer, that a particular non-zero field in a report indicated that a software fault had occurred. It was obvious to Mr Jenkins that subpostmasters would notice and report such occurrences; but they did not.
What is obvious to some may not be obvious to others.
Obviously?
Portfolio Programme Manager at Thales
1yTo true Frank Milsom 👌 I work for Thales now in a software environment and this is integral to our work. We have software and System engineers, as well as our Architects who have become SQEP in how the users use the system, not least to understand the emerging requirements but also ensure we deliver what the users need, to provide maximum impact. We even have regular user working groups, at user locations, for the entire community to come together during the development cycle, to show them what we are developing and to take on board their feedback. This ensures that the system updates meets their needs and that we have understood the requirements fully. The industry standard of 80% simply isn't good enough and as a result of the way we work, we have developed a genuine partnership with the users that allows us to pick up the phone and ask questions when needed and for the users to do the same! It's vital to any software product and always has been, but not all companies will invest in the small additional cost to do this, even though it's a complete false economy!