KISS Technique
Origin
The term was coined by engineer Kelly Johnson in the 1960s, when he led the "Skunk Works" design team at Lockheed Martin. Johnson applied the principle to aeronautical engineering systems: aircraft had to be so simple that an ordinary mechanic could repair them under combat conditions with basic tools. Unnecessary complexity was not elegance; it was risk.
Since then, the principle has been applied in software design, marketing, communication, systems architecture, and project management.
KISS in agile management
Agility and KISS share a common root: both distrust complexity for complexity's sake. Some specific applications in agile teams:
- Define goals clearly: clarity in the Sprint Goal prevents unnecessary work and misunderstandings.
- Simplify communication: avoid technical jargon in conversations with the customer and in user stories. If the Product Owner does not understand a story, it is probably too complex or poorly worded.
- Prioritize by real value: KISS applied to the Product Backlog means resisting the temptation to add "interesting" features that do not respond to real user needs.
- Avoid overengineering: the simplest solution that meets the acceptance criteria is always preferable to the most elaborate one. Technical complexity is paid for with technical debt and maintenance difficulty.
- Iterate and adapt: each iteration is an opportunity to simplify: remove what does not work and reduce what is more complex than necessary.
KISS and AI as a tool
The incorporation of generative AI tools into development has added new dimensions to the KISS principle:
- AI-generated code: coding assistants can generate solutions that are functionally correct but unnecessarily complex. Applying KISS to AI-generated code means actively reviewing it to simplify it, not accepting it as is because "it works."
- AI prompts and configurations: systems that incorporate generative AI should be designed with the same principle: a simple, clear, and well-scoped prompt produces more predictable results than an elaborate one full of conditions.
- AI integration in products: the temptation to add AI capabilities "because they are trendy" without them responding to a real user need is a direct violation of the KISS principle.
KISS in agile contracts
The KISS principle also applies to the negotiation and drafting of agile contracts:
- Simple language: contracts should be written so that all parties can understand them, without unnecessary legal jargon.
- Goals instead of specifications: define what is to be achieved, not how to achieve it. This gives the team flexibility and reduces bureaucracy.
- Payment for delivered value: instead of paying by milestones or by time, base payment on the delivery of accepted increments.
- Adaptability clauses: explicitly acknowledge that requirements evolve and establish review mechanisms, instead of trying to foresee every scenario in the initial contract.
Common mistake
Confusing "simple" with "sloppy." KISS does not mean doing less work or producing lower-quality results. It means not adding complexity that does not add value. A well-written user story is simple and complete; a KISS technical solution can be sophisticated in what it does yet easy to understand in how it is built. Simplicity often requires more effort than complexity: it is easier to add than to remove what is superfluous.
Resources
📄 Contratos ágiles: cómo informar y dar confianza al cliente [Agile contracts: how to keep the client informed and build their trust] (in Spanish)Scrum Manager Blog · Mar 2023
📄 Descubriendo Agile Contracts [Discovering Agile Contracts] (in Spanish)Scrum Manager · Downloadable PDF
See also
Want to advance in agility? You can search for course and exam calls or go at your own pace by becoming a member of the Agile Club. This membership includes exclusive resources, e-learning classrooms, and access to Skill Arena: a space to practice and measure your agile skills at your own pace.