Skip to content

AP-001 — Keep it simple, stupid (KISS)

This is the top principle. It overrides all others.

Complexity is the enemy. It is the primary source of bugs, outages, security holes, slow delivery, and spiralling cost. Every other principle in this list can become a source of harmful complexity if applied without restraint. KISS is the check on all of them.

The simplest solution that correctly satisfies the requirement is the right solution. Not the cleverest. Not the most extensible. Not the most impressive. The simplest.

This does not mean naive. A simple interface can have sophisticated internals. It does not mean incomplete — correctness is non-negotiable. And it does not mean avoiding the right abstraction — a well-chosen abstraction reduces total complexity, it does not add to it.

The KISS test: Can a new engineer understand this design in thirty minutes? Can it be explained in one paragraph? If the answer to either is no, simplify before you proceed.

Applied to AI-assisted development. When using Claude Code to generate or refactor, ask explicitly for the simplest correct solution. AI tools tend toward comprehensive, defensive, feature-rich output. Push back. The simplest implementation that passes the tests is always preferred.

Relationship to other principles

Principle Relationship
AP-003 Compliance by design Each compliance control must be justified by a specific policy obligation — no speculative controls.
AP-004 Security by design Every security control must be justified by a specific threat — security theatre violates both AP-004 and AP-001.
AP-008 Real time where it matters Real-time pipelines are the most common source of unnecessary complexity — KISS is the check.
AP-010 Modular by design Boundaries should be obvious, not elaborate.

See the full architectural principles index.