Show in graph

Software → Software Design

KISS

A design principle that favors simple solutions over unnecessary complexity.

Motivation

KISS solves the problem of unnecessary complexity. Complex designs are harder to understand, test, debug, and operate.

Where it fits

KISS belongs to software design and engineering judgment. It balances principles like SOLID, DRY, and extensibility.

Mental model

Prefer the simplest design that can honestly handle the current problem. Add abstraction when the cost of change becomes real, not when it is merely imagined.

Common mistakes

  • Using KISS as an excuse for poor structure.
  • Calling a design “simple” because it is short, even when it hides important behavior.