Bad Code Quality Case Study: Boeing 737 MAX Aircraft

devsmanship
Javarevisited
Published in
4 min readJun 7, 2021

October 29, 2018, Lion Air Flight 610 was a scheduled domestic flight from Jakarta, Indonesia to Pangkal Pinang. 13 minutes after takeoff the plane crashed into the Java Sea, killing all 189 passengers and crew. It was the first major accident involving the new Boeing 737 MAX aircraft.

March 10, 2019, Ethiopian Airlines Flight 302 was a scheduled domestic flight from Ethiopia to Nairobi, Kenya. 6 minutes after takeoff the plane crashed near the town of Bishoftu, killing all 157 people on board.

March 13, 2019, The Federal Aviation Administration (FAA) grounded all Boeing 737 MAX airplanes, when it received evidence of accident similarities. All 387 aircraft were banned from service.

But what could cause these two crashes?

A little bit of history: the top aircraft manufacturers are Boeing with 38% and airbus with 28%. On Nov 30, 2010, Airbus planted to update their most popular model, A320. for this update, they plan to have a bigger engine that would be up to 15% more efficient. That would save a lot of money for the airline companies. At the same time, the plane itself wasn’t that different than the old version, meaning that the pilots won’t require much additional training. That was a big thing.

This was a problem for Boeing. To compete with them they wanted to do the same: put a bigger engine. The problem was — Boeing 737 was lower to the ground.

Meaning that putting a bigger engine would be dangerous because the engine would be very close to the ground.

A few months later they figured it out:

They will put the engine a little bit higher, that way it will have room for a bigger engine. However, doing so also meant that the centerline of the engine’s thrust changed. Meaning that when the pilots applied power to the engine, the plane will raise its nose — more than expected.

There were two solutions to this problem:

The first solution was to redesign the plane. This will push the deadline of the plane release by a significant margin and their competitors, Airbus, will probably be way ahead of them. This also meant that this would be a significantly different plane from the Boeing 747 and the pilots will need to take additional training to pilot the plane. This means spending millions of dollars both for Boeing and the customers who buy them.

The second solution was a software solution. When a sensor detects that the airplane is flying at a too-high angle it automatically pushes down the plane.

Needless to say, they implemented the second solution.

Those crashes were linked to an outsourcing company that employed temps making just $9 an hour to develop and test software. After the crash, they found several bugs in the software controlling the push-down motion.

A former Boeing software engineer, Mark Rabin, told Bloomberg that coders were working to specifications set by Boeing but that “it took many rounds going back and forth because the code was not done correctly.”

After the accident, the company reported a net loss of -$2.9 billion on earnings.

The exact software problem is not public, since the code is not outsourced, but the facts remain — you need to learn how to write quality code and improve your software craft daily because the code we write affects people’s lives.

Before You Go — Our Amazing Clean Code Course currently available at an 87% off discount

If you loved this article, you will love our course:

  • 46 lectures
  • 3 hours of content
  • Working on a real-life project that will test your knowledge
  • 27 downloadable resources
  • 30-Day Money-Back Guarantee

You can sign up for the course here — Clean Code: Skyrocket Your Programming Career in 7 Days

--

--