Wikipedia tell us that Reuben Garrett Lucius "Rube" Goldberg (July 4, 1883 – December 7, 1970) was an American cartoonist, sculptor, author, engineer, and inventor.
He was best known for a series of popular cartoons depicting complicated gadgets that perform simple tasks in indirect, convoluted ways, giving rise to the term “Rube Goldberg machines” for any similar gadget or process. Goldberg received many honors in his lifetime, including a Pulitzer Prize for his political cartooning in 1948 and the Banshees' Silver Lady Award in 1959.
Complexity sometimes start simply enough
Many times our ideas for improvement start simply enough. However, over time, what was once simple evolves—unintentionally—into convoluted complexity.
Right now I am working with two different companies where it seems apparent that technologies intended to aid in the execution of fairly straightforward tasks have become “Rube Goldberg machines.”
However, over time, we see (or, hear) that the description of the requirements evolved along these lines:
- “We just need it to do this….”
- “Oh. We need it to do this, too….”
- “And, this…”
- “But, not like that…”
- “And, it should end up with this outcome…”
- “Instead, it should work around that, and come to this result….”
There is no planning or design. There is just a lot of adding onto, tweaking, and adjusting as goals and concepts change over time.
This rapidly turns what was a simple idea (“We just need it to do this…”) into something very complex and frequently unwieldy.
Complexity more potential points of failure
This is true. The more complex a computer program or individual algorithm is, the greater the number of potential points of failure that are likely to exist in it.
Complexity leads to higher costs
Complexity in software and other systems almost always leads to higher maintenance costs. This is frequently because
- The causes of failure are more difficult to diagnose
- The causes of failure are more difficult to rectify
- Fixing the failure is more likely to cause some other part of the system to fail or function in a way other than anticipated
As a result, complex systems frequently cost more for each “repair,” and require more repair effort over their lifespan.
Helping companies and supply chains return to Inherent Simplicity
We are working now to help two major clients restore their “evolved complexity” to inherently simple capabilities. We help them
- Figure out what the system really needs to be able to do
- How to leverage standard code and modules to meet as many requirements as possible
- Design modular systems to meet their additional or custom requirements
- Manage the development in order to prevent the unintentional evolution of needless and wasteful complexity
While there is an up-front investment to return to inherent simplicity, the long-term savings in operating expenses can be very, very large. Plus, there is frequently improvement gained from just re-thinking what is being done today—along with the how’s and why’s.
Do you have systems and processes that have become needlessly complex? A good sign that you do is when your “levers” and “management actions” are no longer producing expected results, or error rates are high and increasing. If what you’re company is best at is firefighting—and you don’t have a fire station as an office—then chances are you are fighting complexity that’s hurting your chances at making more money.
Tell us about it below. Or, feel free to contact us directly, if you prefer.