Ah, KISS.. life is just better with the simple action of a KISS. Do you KISS? I must admit that in the beginning it’s not something straight forward. But once you taste it’s positive aspect, it’s just magical.
You have most probably been close to KISS-ing whenever things appeared stupidly simple to the point that you started to think in a different perspective. “Wow, I should do this more often, it’s amazing how the rest goes on so comfortably well” – that’s the good feeling about KISS.
What if I were to ask you about your definition of KISS? I’m sure some possible answers would be:
- Keep it as simple as possible, you’ll derive the maximum benefit
- It should be stupidly easy to repeat
- Why over-complicate it, lets keep it short, simple and fast
- short but sweet
Most Common Definition Of K.I.S.S
By now I assume that you have already grasp that we are referring to KISS as an old, but effective, methodology or approach of solving a problem in programming. (Though this principle could be applied to any other daily problem solving)
As such, there are 2 most common definition of KISS:
i) “Keep It Simple, Stupid” or “Keep It Stupid Simple”
ii) “Keep It Short and Simple”
Whichever definition fits you, the reasoning behind is to understand the following:
1) When working in a company, you will be working in a team. Very often, the probability of someone else extending or modifying your code base, is very high. Now if you have used a complex approach in your coding style, like cramming several logics in one function, your fellow team mate will be having a bad day. Besides, the more “easy to learn and use” the system is, the less time will be spent and hence cost effective!
2) Your end users want something very simple to learn and use. Nowadays who would want to do 10 steps before actually using a product to get the intended satisfaction? No one, not even me! (Except if you have plenty of time on your hands)
Let’s take Twitter for example. What if you had to click like 10 times before actually getting the textarea to finally get the satisfaction of posting your status to your network? I’m sure this way Twitter would have been dead by now. But, the very idea of keeping things simple and straight forward, is what actually makes the success of Twitter (and facebook). You login, and bingo you just need to type your status and in one click, eureka! The world knows you have just eaten a Ferrero Rocher.
Some Apparent Benefit Of K.I.S.S
1) Problem solving is much quicker
2) Large projects will not scare you, the simplicity makes it enjoyable
3) Time spent to extend, modify or change existing code is less
4) Simplicity brings in more flexibility and hence code quality
Whenever you have been using the feature “Refactor” on Visual Studio, Netbeans, Eclipse, Aptana or your favorite IDE, it was just an attempt to KISS. Whenever, you broke your functions down into several different ones to ensure that each function is doing only one stuff, that too was an attempt to KISS. Bravo, you have been KISS-ing already!
As such, it seems to be much more difficult to make things simple as compared to the ease of making it complex or big. Simplicity is an art which you need to shape, for it brings in perfection in the long run.
Quick Facts About K.I.S.S
- The acronym KISS was first coined by Kelly Johnson, lead engineer at the Lockheed Skunk Works (taken from wikipedia)
- Famous figures who has been “simplicity” perfectionist are surely the alikes of Leonardo Da Vinci, Albert Einstein or William of Ockham..etc.
So as from now try to KISS more often if you haven’t been doing it! 😀