avatarThe Secret Developer

Summary

The article discusses the negative impact of dollar-driven development decisions, exemplified by the British Post Office scandal, where a flawed Horizon software system led to severe consequences due to prioritizing financial gains over quality and ethical software development practices.

Abstract

The article titled "The Danger of Dollar-driven Development Decisions" delves into the catastrophic outcomes of prioritizing short-term profits and cost-cutting in software development, as evidenced by the British Post Office scandal. The scandal involved the Horizon software system, which incorrectly indicated financial discrepancies, causing significant harm to individuals. Despite the developers' awareness of the system's flaws, the pressure to release and financial incentives led to the system's deployment without adequate fixes. The article argues that the structure of work in software development must change to prevent such disasters, emphasizing the importance of ethical practices, quality assurance, and the responsibility of developers to speak out against flawed decisions that could have severe repercussions.

Opinions

  • The Secret Developer believes that the current state of software development is precarious due to the overriding influence of financial considerations.
  • The author suggests that the British Post Office scandal is a stark example of how a profit-driven approach can lead to disastrous outcomes, including the destruction of lives.
  • There is a call to action for software developers to prioritize fixing bugs and addressing issues as part of their job, and to recognize when and how this fails to happen.
  • The article implies that the Horizon project's failure was due to a combination of poor development practices, business pressure to release software prematurely, and a lack of resources to address known issues.
  • It is highlighted that the best developers often avoid problematic projects, leading to a concentration of less skilled resources on such projects, which further compromises quality.
  • The author expresses that software development should be motivated by more than just money, and that developers should refuse to participate in decisions that compromise ethical standards and project quality.
  • The conclusion emphasizes the responsibility of software developers to uphold moral standards and to act when they observe wrongdoing in their work.

The Danger of Dollar-driven Development Decisions

It Destroyed People in the Great Uk Post Office Scandal

Photo by Karl Hedin on Unsplash

The Secret Developer thinks that the whole deck of cards might be on the verge of collapse. Software development decisions are so driven by the short-term and the dollar value that things turn out for the worse.

In the case of the British Post Office scandal things turned out much worse than they might because of the penny-pinching attitude of Fujitsu who employed the software developers and delivered the system.

“This story isn’t just about bad development decisions (although those happened in droves). This is about the structure of work and why our development practices need to change, and fast.”

Fixing bugs and calling out issues needs to be part of our jobs as software developers.

I’d like to explore when and how this fails to happen, and why we are all at risk of being part of disastrous projects that can even contribute to ending lives.”

The Story

The British Post Office is a centuries-old Government corporation, so you may not be surprised that a major software project might overrun and function poorly.

The Horizon software system incorrectly showed money missing from Post Office accounts, it frankly couldn’t add up (which you’d expect to for a financial system). Although the issues were well understood by the developers, this problem failed to be fixed so that they could release the software and Fujitsu get their fee.

“I’ve worked on some dodgy projects in the past. I think a software shop I worked at, took a Japanese travel agent to the cleaners with their implementation of a hotel booking system.

Still, nobody died in the projects I worked on. We just were not capable of getting the requisite quality software out. The business owners put great pressure on us to get releases out though. It seems that the same issues happened to this famous Horizon project in the UK.”

Money on Release

Developers knew a problem was brewing with the Horizon system that would cause so many issues within the UK Post Office.

‘Everybody in the building, by the time I got there, knew it was a bag of s***. Everybody.’ SOURCE

They didn’t just keep this issue private. The error handling needed to be rewritten but devs were told the company didn’t have the resources to fix it. The Post Office as a corporation rejected the system, only to accept it into production accepting iterative improvement to the crucial parts of the system.

The rumor is that without payment Fujitsu would cease to be a going concern without immediate payment so needed the system to go into production at any cost.

“When I worked for a large IT outsourcer, they had a large number of ‘red’ projects. These were contracts that were signed that would never make a profit, so were under-resourced and stretched.

The best developers would avoid working on those projects, so they had few resources and even fewer good resources.

This sounds like the situation with the Horizon project. I haven’t ever worked for Fujitsu (I think I interviewed once) but I’m super happy I didn’t join them now.”

This could be one reason that the quality of the development resources was called into question at the time. The best developers would not want to be part of the project and would either leave the project or the organization entirely.

“I can fully believe this one. On every software project I’ve worked on, some devs simply don’t know what they are doing. ”

Software Development Should Be About More Than Money

“I’m not someone who thinks that passion in the broadest terms of the word is a good way to motivate developers.

Yet I think if you’re doing any work just for the money, you’re likely to do a bad job. In this case, the project seems to have been awful and it got pushed to production without being close to ready.

As developers, we should say no to decisions like this. They aren’t right and we need to make sure our businesses succeed for the right reason. “

Conclusion

This is about responsibility and how we hold ourselves to moral standards as software developers.

“It’s important to do things for the right reasons. Yes, even when creating pull requests, we should be doing it for the right reasons.

If you are working and something is hideously wrong, you should say something though. It’s your responsibility to do so.”

About The Author

Professional Software Developer “The Secret Developer” can be found on Twitter @TheSDeveloper and regularly publishes articles through Medium.com

The Secret Developer probably would be a spot welder if they were not a software developer.

Tech
Technology
Software Development
Software Engineering
Recommended from ReadMedium