DEV Community

Richard Wynn
Richard Wynn

Posted on โ€ข Edited on

6

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

Image of Datadog

Create and maintain end-to-end frontend tests

Learn best practices on creating frontend tests, testing on-premise apps, integrating tests into your CI/CD pipeline, and using Datadogโ€™s testing tunnel.

Download The Guide

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 ๐Ÿ˜‰

Image of Datadog

The Essential Toolkit for Front-end Developers

Take a user-centric approach to front-end monitoring that evolves alongside increasingly complex frameworks and single-page applications.

Get The Kit

๐Ÿ‘‹ Kindness is contagious

Discover a treasure trove of wisdom within this insightful piece, highly respected in the nurturing DEV Community enviroment. Developers, whether novice or expert, are encouraged to participate and add to our shared knowledge basin.

A simple "thank you" can illuminate someone's day. Express your appreciation in the comments section!

On DEV, sharing ideas smoothens our journey and strengthens our community ties. Learn something useful? Offering a quick thanks to the author is deeply appreciated.

Okay