The KISS principle, Keep It Simple, Stupid, is a design principle associated with Kelly Johnson of Lockheed Skunk Works in the 1960s and later Robert C. Martin, holding that systems work best when kept simple. It favours the simplest working solution, readability over cleverness, and no complexity beyond what the current problem requires. Simpler designs reduce the cognitive load of understanding, maintaining and extending a system, and the principle pairs with YAGNI.
KISS Principle
Details
- Full Name
-
Keep It Simple, Stupid (also: Keep It Super Simple)
- Also known as
-
KISS, Keep It Simple
Core Concepts:
- Simplicity as a design goal
-
Systems work best when kept simple; complexity should be avoided whenever possible
- Avoid over-engineering
-
Don’t add complexity, abstraction, or features beyond what the current problem requires
- Readability over cleverness
-
Code that is easy to read and understand is preferred over sophisticated but opaque solutions
- Simplest working solution first
-
Implement the most straightforward approach that satisfies the requirements, then refine if needed
- Cognitive load reduction
-
Simpler designs reduce the mental effort required to understand, maintain, and extend a system
- Progressive enhancement
-
Start simple; add complexity only when justified by concrete requirements (pairs with YAGNI)
- Key Proponents
-
Kelly Johnson (Lockheed Skunk Works, 1960s), Robert C. Martin ("Clean Code", 2008)
When to Use:
-
When facing the choice between a simple and a complex solution
-
Reviewing code for maintainability and readability
-
Designing APIs, interfaces, or data models
-
Onboarding new team members to an unfamiliar codebase
-
Refactoring code that has grown unnecessarily complicated
Related Anchors:
-
YAGNI - Don’t implement what you don’t need yet (complementary simplicity principle)
-
DRY - Eliminate redundancy to keep codebases simple and consistent
-
SOLID Principles - Structured guidelines that reinforce clean, simple designs