Why does everything need to do everything? Is it really necessary for my car to tell me where to go or what restaurant to eat at? Does my phone really need to play music, take pictures and movies, answer my questions, and start my car? Over-engineering runs rampant in today’s society. We always want things to do more and be more. Doing this usually just opens up more doors to issues, problems, potential failures, and ultimately more work. If you need to spend time fixing the video camera on a phone, what does that do to the person that needs to use the phone? If the car’s GPS locator is not working, how do you get to work if the car is in the shop having it fixed?
When designing and building anything from a Marketing Campaign to a The Art of Over Engineeringcomputer program, if you stick with building to the need being addressed, you will avoid much unnecessary work. Don’t get carried away with what you want it to do or be, stay with addressing the problem or need that you started out with.
I learned many years ago from a software developer friend of mine that I was helping out to avoid over-engineering at all costs. I was not and am not a software developer, but can play one from time to time. When I first started working with him, he began his tutorial with these simple words: “Do not over-engineer anything you write.” He went on to emphasize them over and over again during the months that followed. Every time I went to him with a code writing problem, he would ask, “Why are you trying to make it do that?” While it may have been a really good idea, and a really cool concept to put into the program, it was, in fact, completely unnecessary for what the code was supposed to do. So, after his re-emphasis on not over-engineering, I went back, ripped out all the code that was causing me heartache, and was completely unnecessary, and lo and behold, the code worked just fine.
Similar concepts can be applied to troubleshooting. When you are aware that something isn’t working or not doing what is expected and you need to fix it, do not immediately assume that the internet must have gone down, or that a virus has infected all the computer systems in the world. Look at the problem, ask what is not working, and start from the top of the pyramid and work your way down. Don’t start at the foundation of everything and rule out all the unrealistic potential problems. This will only lead to doing more work than is necessary, and typically causes everyone too much frustration. The person having the issue has to wait while you play around with fixing the internet, only to learn that their co-worker tripped over their network cable causing the error message “Can’t connect to the internet.”
The overall concept has been around for a long time. Many people remember the K-I-S-S theory. And, no, not the band. Kiss stood for Keep It Simple Stupid. Not a very PC phrase these days, but on par with what this is about. Don’t over-engineer is the new phrase for KISS. If you kiss the over-engineering goodbye, you will save time, money, and energy to do more.
More Business articles from Business 2 Community: