KICK is my brand new backronym for " keep it complex and kludgy ". It is related to Macco's razor , which holds that the weirder and more obscure answer is always the correct answer. This seems to be the main ground rule for way too many self-appointed systems architects I've met over the years. I'm about to unveil this advanced guiding principle which will boost your design skills, turning you in a real professional. The KICK principle states that you should design every system as complex as you are able to (not that you need to understand it). This way you will make sure nobody could comprehend it whatsoever . The goal of this philosophy is to become irreplaceable in the context of the project. A disciplined and tenacious work will make you an essential part of your organization ! In order to achieve this objectives, there are a number of well-known techniques at your disposal: Class explosion : follow the wise aphorism " the more, the merrier "....
KISS stands for the guiding principle " keep it simple and stupid ". It is related to Occam's razor , which states: entia non sunt multiplicanda praeter necessitatem (entities must not be multiplied beyond necessity). This should probably be the main ground rule in any design, but it's often overlooked, if not plain unknown by many self-appointed systems architects. The KISS principle states that every system should be as simple as possible ( but not simpler ). It doesn't talk about the easiness of a system, but the complexity . Some people tend to mix these two concepts up. There is nothing to be proud of when designing complex systems per se . It is always way harder to design simple systems. They are also superior to more complex systems, provided that they support the same functionality. This philosophy is also related with some other aphorism, such as: Perfect is the enemy of good . This means that, most of the time, trying to design the best (the m...