6 ms·
> where there was a bug in a system designed by Fujitsu To clarify, there was not _one_ bug, but hundreds. https://en.wikipedia.org/wiki/British_Post_Office_s
by bobnamob 2y ago
> where there was a bug in a system designed by Fujitsu
To clarify, there was not _one_ bug, but hundreds.
https://en.wikipedia.org/wiki/British_Post_Office_scandal#Problems_with_the_software https://en.wikipedia.org/wiki/British_Post_Office_scandal#Pr...
From my read of the information publicly available, there was a fundamental lack of distributed/transactional system understanding from the developers at Fujitsu.
This[1] article recently posted here[2] reminded me of the Post Office Scandal.
The lack of respect for established CS theory (transactions and distributed systems) and established accounting practices (double entry book keeping or even the idea of a ledger) is mind boggling.
[1] https://news.alvaroduran.com/p/engineers-do-not-get-to-make-startup https://news.alvaroduran.com/p/engineers-do-not-get-to-make-...
[2] https://news.ycombinator.com/item?id=42269227 https://news.ycombinator.com/item?id=42269227
- movpasd 2y agoIt seems to me that it's a fundamental failure of software engineering culture. The number one rule for engineering domain applications is to understand the domain. I would blame the perennial neophilia and lack of (or inadequate adoption of/respect for) standardized texts in the industry. Though, to be fair, a lot of this does come down to the rapid changes in the technology. Iterative development is necessary for software, of course, but this should be understood as a necessity due to the medium, not as an excuse for skipping research and design. A lot of these domains (especially something as critical as accounting) should be solved problems.
- arethuza 2y agoFrom what I can see "software engineering" for the most part isn't really "engineering" in the sense that a PE or CEng would recognise?
- pjmlp 2y agoIt is partially on the countries where one cannot just slap engineering on their job title as they feel like. Where signing off contracts does have some implications beyond "it works on my computer".
- BartjeD 2y agoEngineering is a professional activity, a legal title is just a moat, it doesn't mean that it is Engineering, just a protected profession of some sort. In al seriousness, Engineering is about verifying systems to make sure their lifespans and failure modes are known, up front. This has a legal dimension and a practical one. Legally you can make people liable for unreliable systems. But you can also be liable for failure to maintain properly, or failure to warn about impending calamity. Because it's all documented and verified. Practical you can live worry free in earthquake and flooding proof buildings, trusting in the diligence of Engineers, and maintenance workers, because they and others have liability imposed on them. For software this is only the case in a few sectors. For buildings in all cases. Not comparable.
- pjmlp 2y agoWhen society depends on software is more than comparable. Any life can be absurdly destroyed via malware, security exploits, accounting gone wrong, a database deleted in production,.... People also don't put up with faulty products, why should computing be an exception, shitty ship now fix later culture? And above all, calling oneself "engineer" out of a bootcamp, has nothing to do with Engineering.
- cedws 2y agoThis is not a story of a failure in software engineering. Shit happens, no system is 100% reliable. The failure lies in how management handled it (pretend there’s no issue, don’t launch an internal investigation, blame others). No doubt management also oversaw the development of the system and rushed it to production. A healthy culture should accept failure as inevitable and learn from it when it occurs. It should also listen to the people who know best: the engineers who built the thing. You know, like the aerospace industry. The damage that morons in suits do in pursuit of their bonus cannot be overstated.
- nuc1e0n 2y agoThere's also the issue where public software engineering related projects are too broad in scope and poorly defined. Rather than making small projects that are useful and then expanding upon them the trend is to specify massive nationwide databases and then just throw money at them, often using 'Big bang' deployments. These are so called because you deploy them and then there's a large explosion ;)
- bobnamob 2y agoI'm not sure I entirely agree in this circumstance. Normally I'd give the developers the benefit of the doubt. But the sheer number of issues, and how fundamental some of them ~were~ are[1] leave me little room for sympathy. https://en.wikipedia.org/wiki/British_Post_Office_scandal#Problems_with_the_software https://en.wikipedia.org/wiki/British_Post_Office_scandal#Pr... Transaction idempotency is such a basic property for a financial system that I struggle to believe that Horizon was tested in any meaningful way. "the engineers who built the thing" (Gareth Jenkins) are also under investigation for perjury. [1] Horizon is still in use, in its buggy state, with replacement scheduled for 2030....
- cedws 2y ago>Normally I'd give the developers the benefit of the doubt. But the sheer number of issues, and how fundamental some of them ~were~ are[1] leave me little room for sympathy. The developers were just doing their job. It's management's responsibility to construct a functioning system of checks and balances and understand the limitations of their systems, both of which they failed to do. If it weren't for their hubris the fundamental issues with Horizon could have come to light much earlier. Let's also not forget that the reason executives are compensated well is for them to take accountability in situations like this.
- pera 2y agoSoftware engineering culture is still in a very primitive phase: just take a look at the comments of the category theory submission currently in the front-page https://news.ycombinator.com/item?id=42291141 https://news.ycombinator.com/item?id=42291141 Try suggesting to use a tool like TLA+ to validate some complex design and the most likely scenario is that people will laugh at you, even if it's a critical component for the business. Most decisions in the industry are based on weak anecdotes and unfounded opinions of underserved "authorities".
- djtango 2y agoIMO it's not really a lack of respect as it is software vendors and managers not really being incentivised to do the right thing. Therefore even if the engineers know the right thing to do, they are unable to solicit the buy in from stakeholders to invest the development into doing the right thing because there's no recourse for doing the wrong thing but it's more expensive. And even if you do the right thing, if a competitor comes in and offers to do the "job" quicker and cheaper because they're doing the wrong thing. You may have the moral highground but that doesn't pay your employees' salaries. What we need is a better framework for punishing bad software, in an ideal world without a bunch of red tape and reducing the burden on non experts identifying what is or isn't bad behaviour.
- exe34 2y ago> What we need is a better framework for punishing bad software So like engineering licensing and insurance?
- djtango 2y agoI'm pretty ignorant on the ins and outs and trade offs associated with accreditation but yes that sounds like one solution. It doesn't strike me as unreasonable, software engineers are now able to cause billions in damages and/or cause loss of life via primary or secondary effects. Sure, one of software's greatest strengths was that anyone could learn it and it'll be sad to lose that but that's not really a reason for structurally enabling things like the Post Office scandal. You probably don't need accreditation to serve cat pics but things dealing with money and life/death should. But IANAL so hopefully someone else can bring better insight to this area.
- rswail 2y ago> it'll be sad to lose that People will still be able to learn how to program and actually program. But if they take money or deal with people's private information, then they'll need to comply with the standards that will be regulated. I think we need to start thinking of an individual's persona which includes all the information about them that is online or in government (non secret) files. That needs to be considered when designing regarding regulations for software that interacts with someone's persona. So anyone can set up the equivalent of an art stand in the park (serving cat pics), but if they start either selling cat pics or selling advertising that relies on collecting information about the personas on the site, then that needs to be regulated.
- belter 2y agoThe many bugs are still there. Fujitsu should be renamed Bugitsu.... "Majority of Subpostmasters still getting unexplained Horizon discrepancies" - https://www.postofficescandal.uk/post/majority-of-subpostmasters-still-getting-unexplained-horizon-discrepancies/ https://www.postofficescandal.uk/post/majority-of-subpostmas...