DEV Community

Richard Wynn
Richard Wynn

Posted on • Edited on

KISS Design Principle in 100 seconds

πŸ’‘ What does KISS stand for?

πŸ’‹ KISS principle (or Keep It Simple, Stupid) is a design principal which states that most systems work best if they are kept simple rather than made overly complicated. KISS is used in a variety of disciplines, such as interface design, product design, and software development.

Alt Text

πŸ‘€ Origination

Alt Text
This principle is thought to have been coined by the late Kelly Johnson, who was the lead engineer at the Lockheed Skunk Works (a place responsible for the S-71 Blackbird spy plane amongst many other notable achievements).

Kelly explained the idea to others with a simple story. He told the designers at Lockheed that whatever they made had to be something that could be repaired by a man in a field with some basic mechanic's training and simple tools. The theater of war (for which Lockheed’s products were designed) would not allow for more than that. If their products weren't simple and easy to understand – they would quickly become obsolete in combat conditions and thus worthless.

⭐ Why KISS?

  • Less code takes less time to write, minimizes the amount of bugs, and is easier to modify and maintain.
  • The more complex something is, the more ways there are for it to fail, and the more difficult it is to explain to someone else who needs to understand it.
  • Perfection is reached not when there is nothing left to add, but when there is nothing left to take away.

πŸ”– Variants

  • Keep it short and simple
  • Keep it simple and straightforward

πŸ“ Side Notes

  • Not to make things so simple that they compromise the functionality of the final design.
  • Users will live with a little complexity if it enhances their overall experience.

Alt Text

πŸ“± Keep in Touch

If you like this article, don't forget to follow and stay in touch with my latest ones in the future by following me via:

πŸ“° Other Programming Principles

Be interested? πŸ˜ƒ You can visit the links below read my other posts in my programming principles series

Top comments (2)

Collapse
 
bradfor37418373 profile image
Bradford Robert McCormick

I worked with a Yale Computer Science PhD who had some other ideas for computer programming. One: If you don't know how to do something, you don't know how to do it on a computer. Another: If something can't be done, it won't be done. Corollary: Poor middle managers don't understand this. Finally: You can't have it until we've done it.

Collapse
 
alekseiberezkin profile image
Aleksei Berezkin

Making complicated is simple; making simple is hard πŸ˜‰