How we Should not Use Software to Compensate for Systems that are not Properly Designed

The now famous crisis of the Boeing 737 Max shows us that there are limits to what software can compensate when a system it not properly designed. This post ‘Boeing 737 Max: Software patches can only do so much‘ is worth reading.

It actually boils down to a system-engineering issue. Adding layers upon layers of fixes to try to compensate functionalities on legacy systems only work up to a certain point. The author “cautioned his customers against using software as a patch for systems that for economic reasons or reasons of expediency, were not purpose-built. This applies not just to the most complex heterogeneous networks of systems but also small devices.”. This leads to “spaghetti architecture, or architecture by committee“, missing the important step of first listing all requirements and making sure there is consistency in the overall system and no systemic flaws.

More generally, “the old stuff just doesn’t migrate well; it needs to be redesigned from scratch“. In the next few years we can expect that many platforms used in many industries will indeed need to be redesigned to overcome their obsolescence and take advantage of the benefits of modern technology.

Existing platforms can only be upgraded to a certain point of complexity and layering, before we lose control. Then they need to be redesigned from scratch.

Share