KISS
Also known as: Keep It Simple, Stupid
Design principle favoring simplicity over unnecessary complexity.
KISS is a design principle articulated by US Navy aircraft engineer Kelly Johnson at Lockheed's Skunk Works in the 1960s, originally meaning 'Keep It Simple, Stupid' as advice for designing aircraft that could be repaired in field conditions by mechanics with basic tools. Johnson's prescription was that systems work best when kept simple rather than made complex — and that simplicity should be a key design goal, not an afterthought. In software the principle is widely cited as guidance to favor straightforward solutions over clever or complex ones, particularly when the simpler solution meets requirements adequately. KISS pairs naturally with YAGNI (don't build what you don't need) and stands in productive tension with various forms of premature optimization, premature abstraction, and over-engineering. The principle's apparent simplicity belies the genuine difficulty of identifying what 'simple' means in a given context — Rich Hickey's 2011 talk 'Simple Made Easy' draws the distinction between 'simple' (one-fold, not interleaved) and 'easy' (familiar, near at hand), arguing that what feels easy may be deeply complex while genuinely simple solutions often require sustained work to find.
Core components
- Simplicity as primary design goal
- Bias against unnecessary complexity
- Distinction between simple and easy (Hickey)
- Pairs with YAGNI
- Tension with premature optimization and abstraction
- Connection to aviation and engineering origins
- Recognition that simplicity is hard-won rather than incidental
Primary use case
Software design heuristic and code review guidance; teaching tool in introductory programming and software engineering; widely-cited reference in software craftsmanship; complement to YAGNI and DRY; design culture rallying point.
Common criticisms
- Genuinely contested in application — 'simple' has multiple meanings (fewer lines, fewer concepts, fewer dependencies, more familiar) that often conflict
- can rationalize avoiding necessary complexity in legitimately complex domains
- Rich Hickey's 'Simple Made Easy' point that what feels easy is often deeply complex (and vice versa) is widely cited but hard to operationalize
- KISS can be invoked to dismiss design discussions that warrant engagement
- the 'Stupid' framing carries unhelpful condescension that some communities have softened to 'Keep It Stupid Simple' or 'Keep It Super Simple'
- works as design culture rather than as concrete decision tool.
Lineage
- Siblings
- DRY, YAGNI, SOLID Principles