liveBook · Manning

Kiss

As explained in Machine Learning System Design

KISS is a design principle that favors keeping systems and solutions as simple as practical.

KISS (“Keep it simple, stupid”) is a design principle for limiting complexity in software and ML systems. Simplicity does not mean eliminating every abstraction: both instruction-by-instruction code and overengineered metaprogramming can reduce readability. Aim for the simplest practical solution that remains maintainable and serves the business need. section 16.4

Use KISS when choosing between competing implementations:

  • Prefer designs that teams can understand and maintain without relying on exceptional individual expertise. section 16.4
  • Question extra abstraction layers: they may hide entropy without reducing complexity across the overall stack. section 16.4
  • Balance KISS against DRY; removing repetition through abstraction can create more complexity than it saves. section 16.4

Metric calculation across datasets

A clear implementation can read data, calculate a metric, orchestrate a loop across datasets, and save results. Repeating every operation manually is too simplistic; metaprogramming and elaborate patterns are overcomplicated. Both extremes make the code harder to read. section 16.4

Figure 16.4 Just like a basic model will end up underperforming and failing to meet the project goals, an overkill solution will devour valuable resources of a business.
figure

Compare an underpowered solution with an overkill design, then weigh both against project goals and business resources. section 16.4

How Machine Learning System Design covers it

How deep it goes
Contrasts simplistic and overcomplicated implementations through a practical code example.
Examples
Uses metric calculation across multiple datasets and compares basic, repetitive code with metaprogrammed designs.
What you can do after
Evaluate competing designs for readability, maintainability, project fit, and business resource consumption.
How it connects
Connects KISS with YAGNI, Occam’s razor, DRY, abstraction, entropy, and maintainability.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Machine Learning System Design. The section links point to the parts of the book it draws on.