Boilerplate, task runner, and compiler and interpreter tools form part of a series of writings that I aim to contribute with certain concepts, principles, patterns of operation, and approaches.
In essence, I intend to clarify why these kinds of tools were developed and why they gained widespread adoption. I have a few planned topic headings currently available, with the first being the KISS (Keep It Simple, Stupid) Principle. So, what exactly is KISS?
KISS (Keep It Simple, Stupid) Principle
The KISS principle can generally be expanded as “Keep It Simple, Stupid.” In Turkish, a corresponding phrase might be “keep it simple, idiot!” Alternatives such as “Keep It Short and Simple” also exist. At its core, the KISS principle emphasizes the necessity of striving for simplicity in design and software development. It would be erroneous to impose limitations in any discipline. Broadly speaking, KISS advocates for evaluating the simplest and most straightforward solutions when addressing problems, and asserts that even an “idiot” should be able to understand and grasp this approach. The KISS principle, created by American engineer Clarence Leonard (Kelly) Johnson, who referenced the need for limited tools to maintain and repair military aircraft under combat conditions, remains a significant approach in modern engineering practices today1.
In the 12th section of Biographic Memoirs (page 231), the following statements about C. L. “Kelly” Johnson are made2:
Kelly Johnson’s success was not a secret. Kelly was not merely one of the world’s leading designers; he was also a visionary leader who inspired others to create better products and provided the resources to make those innovations possible. Most of us, when given the chance to work with Kelly at Skunk Works, declined offers from other Lockheed divisions. Kelly shared the same mindset. He was offered the position of CEO at Lockheed three times, but each time he declined the offer and chose to remain at Skunk Works. Kelly explained this behavior as, “Within the organization, no position other than leading Advanced Development Projects (Skunk Works) is better for me.” Even when Kelly retired as senior vice president at Lockheed in 1975, he continued to serve as a senior advisor at Skunk Works, and his influence there has endured for many years. Kelly described the objectives of Skunk Works as, “to produce practical, cost-effective, early, and better solutions. If it doesn’t work, just abandon it—leave it be.”
Minimize reports and other documentation.
‘Keep it simple, idiot—KISS—this reminds us of our continuous approach.’ In short, this can be summarized as: Errors or misstatements may occur in the translation. For the original text, see Biographic Memoirs Volume 67, page 231.
KISS, on the other hand, also evokes the oft-quoted statement attributed to Albert Einstein: “Everything should be made as simple as possible, but not simpler.”3 4
“Simple” (Simple)
IMPORTANT RULES:
- Maintain the original formatting (markdown, HTML tags, links, etc.)
- Keep technical terms and proper nouns as appropriate
- Preserve code blocks and technical syntax exactly
- Maintain the same tone and style
- Only output the translated text, no explanations or comments
When addressing a problem (failure to function, need, new path, etc.), intuitive and clever-sounding ideas are often presented first. However, KISS rejects this approach. Because the most intelligent approach is to express a complex idea in the simplest and most easily understandable way. Design and development processes tend to grow and become more complex over time. When teams exceed project boundaries based on their experience and capabilities, the process moves beyond control. In such cases, the more sophisticated the ideas or solutions generated, the greater the additional costs (time, money, motivation, etc.) required to implement them. Therefore, it is essential to address requirements with minimal complexity. After all, we can only be part of processes we understand. If the system operates simply rather than becoming more complex, the errors that may arise will be manageable. Thus, the approach should prioritize simplicity and avoid unnecessary complexity.
The topics highlighted in the Brief article also align with this approach. In customer-agency relationships, reporting processes can also be addressed using the KISS principle. This principle eliminates unnecessary explanations and repetitions.
Starting Point
A simple approach means a fast and efficient implementation process, fewer errors, faster solutions, fewer resources (time, money, motivation, etc.), and greater agility. We can ask ourselves: “How could I explain this solution to a 2-year-old child?” Well, how? Certainly, by excluding all elements not essential to the process and practicing extensively. Additionally, The Laws of Simplicity website/book serves as a starting point.
Further Readings
- What does KISS stand for?
- How to Develop the Ability to Create the Simplest Solution?
- KISS (Keep it Simple, Stupid) – A Design Principle
- Software Architect’s Handbook (2018), Joseph Ingeno
- Keep It Simple, Stupid!