---
title: 5 Major Software Engineering Fails And What You Can Learn From Them
description: Software engineering is an approach to software development that uses engineering principles to improve the architecture used in software production.
image: https://blog.foreworth.com/hubfs/software%20engineering.jpg
---

[![foreworth-logotype-header](https://blog.foreworth.com/hubfs/foreworth-logotype-header.svg)](https://blog.foreworth.com)

- [Platform](https://blog.foreworth.com)
- [Methodology](https://www.foreworth.com/about)
- [Cases](https://blog.foreworth.com)
- [FAQs](https://app.foreworth.com/)
- [About](https://www.foreworth.com/request-a-demo)

[The 21st century executive](https://blog.foreworth.com)

# 5 Major Software Engineering Fails And What You Can Learn From Them

[Tech News & Resources](https://blog.foreworth.com/tag/tech-news-resources) [Software Development & Team Management](https://blog.foreworth.com/tag/software-development-team-management)

[Juan Pablo González](https://blog.foreworth.com/author/juan-pablo-gonzalez)

February 21, 2022

 4 min 

![software engineering](https://blog.foreworth.com/hubfs/software%20engineering.jpg)

### Compártelo con tus contactos

- [![Linkedin icon](https://cdn2.hubspot.net/hubfs/136661/icon-linkedin.png)](http://www.linkedin.com/shareArticle?mini=true&url=https://blog.foreworth.com/software-engineering&utm_medium=social&utm_source=linkedin)
- [![Facebook icon](https://cdn2.hubspot.net/hubfs/136661/icon-facebook.png)](http://www.facebook.com/share.php?u=https://blog.foreworth.com/software-engineering&utm_medium=social&utm_source=facebook)
- [![Twitter icon](https://cdn2.hubspot.net/hubfs/136661/icon-twitter.png)](https://twitter.com/intent/tweet?original_referer=https://blog.foreworth.com/software-engineering&utm_medium=social&utm_source=twitter&url=https://blog.foreworth.com/software-engineering&utm_medium=social&utm_source=twitter&source=tweetbutton&text=5+Major+Software+Engineering+Fails+And+What+You+Can+Learn+From+Them:)
- [![Whatsapp icon](https://cdn2.hubspot.net/hubfs/136661/icon-whatsapp.png)](whatsapp://send?text=5+Major+Software+Engineering+Fails+And+What+You+Can+Learn+From+Them:%20https://blog.foreworth.com/software-engineering&utm_medium=social&utm_source=whatsapp)
- [![Email icon](https://cdn2.hubspot.net/hubfs/136661/icon-email.png)](mailto:?subject=5+Major+Software+Engineering+Fails+And+What+You+Can+Learn+From+Them&body=5+Major+Software+Engineering+Fails+And+What+You+Can+Learn+From+Them:%20https://blog.foreworth.com/software-engineering&utm_medium=social&utm_source=email)

We’re more reliant on software than ever before. As more enterprises go digital, the demand for software solutions increases. Being so ubiquitous, it’s easy to forget how complex software can be and why having airtight software engineering is so important.  

Software engineering [approaches the development process using engineering principles.](https://www.techopedia.com/definition/13296/software-engineering#:~:text=Those%20describing%20software,development%20life%20cycle.) The focus is on creating robust development architecture, using the best tools for the project, and working within established parameters to meet client expectations.  

[![Download free eBook: Top KPIs for Optimizing Software Development](https://no-cache.hubspot.com/cta/default/8818978/a5d82e69-98e0-4b41-98d2-f36901fd6b24.png)](https://cta-redirect.hubspot.com/cta/redirect/8818978/a5d82e69-98e0-4b41-98d2-f36901fd6b24)

## When Software Engineering goes wrong  

As technology becomes more widely adopted, the need for well-designed and secure software systems increases. When sound software engineering principles aren’t prioritized, bugs and design flaws can slip through the cracks. Software failures can manifest as mildly annoying feature disruptions, unexpected hardware behavior, or even crippling system crashes.   

The costs of software failures can be devastating. This is why monitoring software quality, tracking bugs, and testing are so important in software engineering. Here are 5 of the biggest software failures––and what you can learn from them.  

### [Therac-25 Radiotherapy Bug](https://ethicsunwrapped.utexas.edu/case-study/therac-25)  

Radiotherapy is a common treatment for certain cancers. Radiotherapy machines deliver precise doses of radiation to destroy cancerous growths. The Therac-25 was one such machine.  

The Therac-25 used software controls to manage the radiation output during treatment unlike its predecessors which included hardware interlocks for safety. This proved fatal when a [race-condition](https://docs.microsoft.com/en-us/troubleshoot/developer/visualstudio/visual-basic/race-conditions-deadlocks#:~:text=A%20race%20condition,previous%20thread%20wrote.) bug in the software resulted in several deaths from radiation overdose.  

Investigation into the software failure found the Therac-25’s control system had several glaring flaws. These included insufficient timing analysis, unit-testing, and fault-tree analyses.  

### [Boeing 737 MAX MCAS](https://www.washingtonpost.com/business/economy/boeings-737-max-design-contains-fingerprints-of-hundreds-of-suppliers/2019/04/05/44f22024-57ab-11e9-8ef3-fbd41a2ce4d5_story.html)   

In 2019, two Boeing 737 MAX carriers crashed, taking the lives of 347 passengers in total. Boeing lost $18.4 billion from grounded flights, lawsuits from bereaved families, and cancelled orders.  

Investigations uncovered several [flaws in Boeing’s patented Maneuvering Characteristics Augmentation System (MCAS)](https://www.nytimes.com/2019/06/01/business/boeing-737-max-crash.html#:~:text=The%20flights%20were%20uneventful.,with%20knowledge%20of%20the%20flights.). One major oversight was the MCAS didn’t account for external events affecting the sensors located outside of the plane.  

While the 737 Max has two angle-of-attack sensors, the MCAS in use only took data from one of them. Failure or malfunction of that sensor would have caused the MCAS to “correct” the perceived course of the craft. This forced both planes into nose dives mid-flight and restricted the pilots’ ability to correct course.   

Two of the key bugs in the MCAS were its: 

- inability to register information from both sensors 
- security measures overriding manual control 

Had the software engineers understood the realities of aircraft operation and the need for pilot control, perhaps these issues could have been addressed in production.   

### [Fastly Internet Outage](https://www.cnbc.com/2021/06/08/fastly-outage-internet-what-happened.html)  

Fastly offers edge computing solutions to help large websites deliver rapid connections to users globally. In June 2021, a Content Delivery Network (CDN) bug crashed service to major websites including The New York Times, Amazon, and Reddit.   

The cause? An undiscovered bug in a recent software update.   

When a Fastly customer attempted to update their CDN configuration, it triggered the bug causing disruptions in communication across Fastly’s data centers.   

This incident underscores the importance of thorough unit-testing, bug detection, and code quality review throughout the development process.    

### [Log4J Security Exploit](https://www.scientificamerican.com/article/the-log4j-software-flaw-is-christmas-come-early-for-cybercriminals/)  

One of the most serious software engineering fails of 2021 was the Apache\_Log4J 2 exploit, called Log4Shell. Log4J is a popular library used primarily to track activities or errors that occur during regular use of applications.   

On its own, Log4J isn’t malicious, but it can easily be exploited via text messages, giving attackers access to users’ computers––and their data.  

Since the discovery of the Log4Shell exploit, companies and service providers around the world have been scrambling to fix their vulnerabilities. Apache has released patches to fix the vulnerability since then, but with affected machines in the hundreds of millions, [the risks are still high.](https://www.zdnet.com/article/log4j-flaw-attacks-are-causing-lots-of-problems-microsoft-warns/)  

### [Kyoto University Data Disaster](https://techxplore.com/news/2022-01-bug-backup-software-results-loss.html)  

Innocuous-seeming software updates can often cause big problems, like functional failures, key software changes, or data loss. In the case of Kyoto University, a faulty bit of code resulted in [the loss of 77 Terabytes of critical research data](https://www.techspot.com/news/92822-japanese-university-loses-77tb-research-data-following-buggy.html). Research from 14 different groups, amounting to over 34 million files were lost.   

To prevent further data loss, Kyoto University scrapped its backup program and is now actively working to restore functionality. Fortunately, most of the files were recoverable, but for four unlucky research groups, the data is likely gone forever.  

The service provider, Hewlett Packard Japan publicly apologized, taking responsibility for the incident. They also confirmed that they will be working to ensure such incidents don’t happen again. However, their credibility has certainly taken a hit in Japan.   

## What's The Takeaway? 

Throughout the software development process, software engineering principles need to be implemented. These can ensure security, stability, and reliability not just of new features, but of existing products. It is especially important that software engineers continuously test and re-test code and software configurations in a variety of environments.   

Measuring individual developer contributions and reviewing code quality are also necessary to help catch bugs in development before they cause harm.  

You can learn more about KPIs for measuring your software development process [here.](https://blog.foreworth.com/development-team) 

[![New call-to-action](https://no-cache.hubspot.com/cta/default/8818978/a8fa7ffb-31d1-40a3-9799-41c20e56abfd.png)](https://cta-redirect.hubspot.com/cta/redirect/8818978/a8fa7ffb-31d1-40a3-9799-41c20e56abfd)

[![Juan Pablo González](https://blog.foreworth.com/hubfs/JuanPablo_About_blue-1.jpg)](https://blog.foreworth.com/author/juan-pablo-gonzalez)

###### About the author

 Juan Pablo González

Working as Foreworth’s Chief Technical Officer, Juan Pablo (JP) manages the company’s technical strategy. With nearly 20 years of experience in software development, he ensures the development process at Foreworth is meeting its keys objectives and technical requirements.

[More info →](https://blog.foreworth.com/author/juan-pablo-gonzalez)

What do you think? Leave us your comments here!

[![Nueva llamada a la acción](https://no-cache.hubspot.com/cta/default/8818978/cfc17deb-7d77-450d-a4e5-6675aa29bdff.png)](https://cta-redirect.hubspot.com/cta/redirect/8818978/cfc17deb-7d77-450d-a4e5-6675aa29bdff)

### Subscribe to the blog

[![New call-to-action](https://no-cache.hubspot.com/cta/default/8818978/d0e521b6-2327-44a7-9d9e-dd0d53a8b9d9.png)](https://cta-redirect.hubspot.com/cta/redirect/8818978/d0e521b6-2327-44a7-9d9e-dd0d53a8b9d9)

### Categories

- [Software Development & Team Management (54)](https://blog.foreworth.com/tag/software-development-team-management)
- [Business Strategy (51)](https://blog.foreworth.com/tag/business-strategy)
- [Investing in Tech (46)](https://blog.foreworth.com/tag/investing-in-tech)
- [Tech & Software Essentials (37)](https://blog.foreworth.com/tag/tech-software-essentials)
- [Tech News & Resources (30)](https://blog.foreworth.com/tag/tech-news-resources)
- [Software Development Metrics (23)](https://blog.foreworth.com/tag/software-development-metrics)
- [Digital Innovation (14)](https://blog.foreworth.com/tag/digital-innovation)

Ver todas...

[![Foreworth Logo](https://blog.foreworth.com/hubfs/foreworth-logotype-header.svg "Foreworth Logo")](https://www.foreworth.com)

Providing efficiency-boosting quality and team productivity metrics to maximize your ROI on software development.

![ISO_IEC_27001_RGB-1](https://blog.foreworth.com/hubfs/ISO_IEC_27001_RGB-1.svg)![ENISA](https://blog.foreworth.com/hs-fs/hubfs/ENISA.jpg?width=3582&height=330&name=ENISA.jpg)

![pyme_innovadora_meic-SP_web](https://blog.foreworth.com/hs-fs/hubfs/pyme_innovadora_meic-SP_web.png?width=200&height=260&name=pyme_innovadora_meic-SP_web.png)

[About →](https://www.foreworth.com/about)

- <https://www.linkedin.com/company/foreworth/>
- <https://www.facebook.com/foreworth>
- <https://twitter.com/Fore_Worth>
- <https://www.youtube.com/channel/UCdFSxu4Y64AIWGxTCB2swLw>

#### Blog Categories

- [Software Development & Team Management](https://blog.foreworth.com/tag/software-development-team-management)
- [Software Development Metrics](https://blog.foreworth.com/tag/software-development-metrics)
- [Tech & Software Essentials](https://blog.foreworth.com/tag/tech-software-essentials)
- [Investing in tech](https://blog.foreworth.com/tag/investing-in-tech)
- [Digital Innovation](https://blog.foreworth.com/tag/digital-innovation)
- [Business Strategy](https://blog.foreworth.com/tag/business-strategy)
- [Tech News & Resources](https://blog.foreworth.com/tag/tech-news-resources)

#### Privacy

- [Cookies](https://www.foreworth.com/cookies)
- Configuration
- [Privacy](https://www.foreworth.com/privacy-policy)
- [Terms](https://www.foreworth.com/terms)
- [Editorial Policy](https://recursos.foreworth.com/editorial-policy)
- [Security](https://www.foreworth.com/security-policy)

#### Request a live demo with one of our experts

 Learn how to measure and maximize the business impact of your software development efforts. 

[Book a Demo →](https://www.foreworth.com/request-a-demo)

Copyright © Foreworth 2026

Arquitecto Blanco Soler 2, 1ºDcha. 29005 Málaga

hello@foreworth.com

 Phone: +34 952 977 079

```json
{
  "@context" : "http://schema.org",
  "@type" : "Article",
  "author" : {
    "@type" : "Person",
    "name" : "Juan Pablo González"
  },
  "dateModified" : "9/06/2022",
  "datePublished" : "2022-02-21 18:31:14",
  "description" : "Software engineering is an approach to software development that uses engineering principles to improve the architecture used in software production.",
  "headline" : "5 Major Software Engineering Fails And What You Can Learn From Them",
  "image" : "https://recursos.foreworth.com/hubfs/software%20engineering.jpg",
  "mainEntityOfPage" : {
    "@id" : "https://blog.foreworth.com/software-engineering",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "height" : "60",
      "url" : "https://f.hubspotusercontent10.net/hubfs/136661/ICC%20-%20Logotipo%20-%20Gris.png",
      "width" : "417"
    },
    "name" : "Foreworth"
  }
}
```