Laws of Software Engineering · Law

Law

Ashby's Law of Requisite Variety

Only variety can absorb variety. A controller must be able to handle at least as many distinct states as the system it is trying to control.

How to use it. When a team keeps being surprised by what its system does, the team has less variety than the system. Either reduce the system's variety (simpler, fewer states, less coupling) or increase the team's (more skills, more monitoring, better models).

How it gets misused. Treated as an argument for more staff. Variety lives in the response repertoire, and headcount is only part of that. A small expert team often has more variety than a large generalist one.

Related

Clusters