Was the lightbulb over engineered?

I recently posted a question over on reddit - "Personality Types and Agile". An interesting discussion emerged about 'over-engineering' code.

I find people use the label 'over-engineering' too frequently, and I don't even think the 'great Wikipedia' gets the definition quite right.

Overengineering (or over-engineering, or over-kill) is the act of designing a product to be more robust or have more features than often necessary for its intended use, or for a process to be unnecessarily complex or inefficient. - Wikipedia


Let us take for example the 'lightbulb'.  What is 'too robust?' for a lightbulb. - A bulb that lasts too long ?, A bulb that is energy efficient ? A bulb that doesn't suddenly explode when exposed to various environmental conditions ?

The lightbulb in the picture above is known as the "Centennial Light", it has this name because it is the worlds longest lasting lightbulb, burning since 1901 and has yet to burn out.

Was the lightbulb over-engineered ?

I think if you asked a scientist or engineer he/she would marvel at the achievement. Congratulate the designer and the user for showing what can be done though experimentation and careful usage. Building something as 'robust' as this lightbulb represents shinning star of what can be accomplished in our modern world.

Ask a business person and you might just get a different story.  What happens to the light bulb industry when selling these near "perfect" lightbulbs to the mass public?  Once everyone has an everlasting lightbulb, no one will need to ever buy any more.. and the sale of lightbulbs plummet into eventual non-existence. An everlasting lightbulb is an amazing achievement for the designer, and the customer - However - it is not in the business's best interest to produce products that never break!

Sound like a conspiracy theory ?

You may have heard of this theory before - It goes along the lines of why many diseases (eg: diabetes) have yet to be cured. It is not in Big Pharma's best interest to 'cure' diseases, because they will stop making money selling life saving drugs that do not cure but simply maintain life.. but in the case of the lightbulb - it's not a theory it's actual historical fact!


Even the Institute of Electrical and Electronics Engineers (IEEE) acknowledges the work of the Phoebus cartel who successfully created an environment to  intentionally reduce the lifespan of the lightbulb (less then it's fullest potential) in order to continue to sell more lightbulbs, to you the consumer.

While the cartel does not exist today, the legacy it leaves behind is a new term known as "Planned Obsolesce". The deliberate design of products to plan to fail within a pre-defined period of time, in order to ensure people will need to continue to buy them in the future.

Planned Obsolesce occurs all the time in our modern world. Some examples include:

a) Your washing machine, which suddenly stops working within days of the warranty running out (Let me guess ? The 'agitator' failed right?)

b) Your car's check-engine light coming on just after the 100,001 reading of the odometer (I'll bet you have been told it is your failing O2 sensor that needs replaced right?!)

c) The modern cellphone, which no longer has a replaceable battery. When the battery dies you need to replace the entire phone!

d) Kitchen Cupboards, Computer Desks, and Dresser's, all of which seem to fall apart or weaken considerably within the first year. (likely due to the invention of the "cam lock nut" which while seemingly convenient for assembly tends to loosen and fall out, where a simple wooden dowel and glue will last far longer!)

My family operated an upholstery shop for almost 60 years. Near the end of the shop's operation - it was cheaper for most customers to simply buy new  (lower quality) furniture, then it could cost to re-upholster a chair or couch, which were build to last for 40-60 years!

None of these examples have anything to do with "over engineering", if it were up to the craftsman's, the scientists, and the engineers, these products would continue to improve in their lifespan, year after year, creating near 'perfect products'..but that isn't good for business!

Sadly, Wikipedia's definition of "over-engineering" suffers from the same consumerist / materialistic problem.  It is better to have something cheap and "right now" and if too much robustness exists in the design it is labelled as 'bad'  over-engineering!

What really is over-engineering ?

I suggest a better definition for over-engineering would be as follows:

Overengineering is the act of designing a product or  providing a  solution to a problem in an overly complicated manner, where a simpler solution  can be demonstrated to exist with the same efficiency and effectiveness as that of the original design.

A fictional simple example of overengineering is the pen that writes upside down. Although many of the versions of this story are false, the message holds true, there is no good reason to make a pen that can write upside down, when an existing writing instrument (the pencil) will do just a good job (albeit perhaps not a safe idea in outer space)

Deliberately producing a product with cheaper materials, lower quality tools, and so-called "watering down the chowder" has nothing to do with fixing 'overengineering' and everything to do with trading off short term success for long term hardship.

When products are first designed (or if trying to re-invent the wheel), it is likely that the initial product although effective, may not really be all that efficient. Through continuous improvement, learning from mistakes, we can re-design & re-imagine better and better ways to provide a better product to the user. Each iteration if done correctly, should produce a more efficient product of improved use to the consumer (regardless of what it means for the bottom line of business). (We developer types refer to this as 'code refactoring' sound like a very 'agile'-like approach does it not?

In my own life, I can be obsessed with automation. I once designed a set of macros to automatically create reports for the client.  The automation reduced the time it took to produce these daily reports from about 4 hours to about 15 minutes!  A great accomplishment right? - My manager at the time congratulated me, and I was offered new growth opportunities. But others at the same time advised caution suggesting  "I 'almost worked my self out of a job".  The company cannot justify the resource any longer, if the work no longer exists!.  To this day, the idea seems crazy to me! The promise of technology to make our lives easier.. trampled upon, by the fear of efficiency taking away our jobs! Don't let fear prevent continual improvement. Let it guide us to grow in bigger and better ways, to fulfill the potential inside each and every person!  "Planned Obsolesce" is a snake-oil gimmick that takes you way from the human potential to achieve and grow. Not to mention its impact on the environment producing NEW rather then re-use, reduce, and recycle! 

The lightbulb was never over-engineered!

TL;DR ?: The Lesson:  Be very careful when someone is complaining that a piece of software has been 'overengineered'.  If this means a simpler solution has been found without a cost to the product quality, then by all means use it - That's called Kaizen BUT if the design change lowers the cost of quality in order to ensure a future 'planned failure'...This has nothing to do with over-engineering, and everything to do with trying making a quick buck at the expense of the consumer!


If you liked this post please consider sharing via your favorite social networks!!

and ..if you like my blogging, video, audio, and programming - please consider becoming a patron and get exclusive access @ Patreon.com/GeekWisdom

Comments

Popular posts from this blog

There's a bug in the keyboard driver...(dear liza)

Password Security Challenge - Last Pass & 1Password

What is Multi Factor Authentication (MFA / 2FA)?? and Why does it matter??

About the Book - Geek Wisdom

The Programmer's Dilemma

Despite of how it looks - I'm not part of a coup d'etat

Brad's Weekend of Coding - Day 1 - Summary

The Most Dangerous Software on the Internet!

Eco Cycle Planning Resources, Toastmasters & Unicorns

IT Security Myths & Legends