KISS

expression

programmingops culture

Stands for: Keep It Simple, Stupid

The design principle that systems work best when kept simple rather than made complex.

Attributed to aircraft engineer Kelly Johnson, KISS urges you to prefer the plainest thing that solves the problem, since complexity is where bugs, cost, and misunderstanding breed. It is a constant counterweight to the temptation to over-engineer.

Keep it simple, stupid comes from US Navy aircraft design in the 1960s, where the requirement was that a jet be repairable in the field by an average mechanic with basic tools under combat conditions. That origin is a better guide than the slogan, because it defines simplicity by who has to work on the thing rather than by aesthetics.

Applied to software, the question becomes simple for whom. A clever one-line expression is simple by one measure and opaque by another; a long explicit function is verbose and obvious. Simplicity is not shortness, and code golf is the reduction of one metric at the expense of the one that matters, which is whether the next person can safely change it.

The tension worth naming is with essential complexity. Some problems are genuinely hard, and a simple solution to a complex problem is usually an incomplete one that will be discovered at the worst moment. Einstein's formulation is the safer one: as simple as possible, but no simpler. The skill is telling incidental complexity, which should be removed, from essential complexity, which can only be moved around.

Also known as: Keep It Simple Stupid, KISS principle

Sources

  • attributed to Kelly Johnson, Lockheed Skunk Works

All glossary entries