Despite the amorous title, this article is about an iron law for master engineers everywhere. It is an acronym that stands for:
Keep It Simple Stupid
A typical workflow for tackling a problem it involves breaking down the problem into small chunks that the developer can easily understand then build the solutions and integrate. This is called modular design.
The problem is we typically don’t get to an appropriate level of modularity. To define the appropriate level then we must consider the quote by renowned aeronautical engineer Antoine de Saint-Exupéry
Perfection is attained not when there is nothing more to add, but when there is nothing more to remove
So there we have it, our first advantage of applying the KISS principle in cracking a programming challenge.
There are many advantages including:
- Understand-ability: Systems designed with the principle tend to be much easier to grok.
- Team size: Because the systems are easier to understand, developers of varying skill sets and exposure can contribute to its development.
- Flexibility: With clear understanding of the system, it becomes much more easier to modify its components.
- Size: The architecture allows for much bigger applications.
- speed: It is much quicker to design simple systems than complex ones.
- Quality: Simple systems tend to have less bugs, and bugs that occur can be detected and fixed much more easily.
There are many more advantages to this principle, even over and above engineering software.
Have you applied this principle in any of your own projects? Comment below lets keep the conversation going.