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
- Framework Beer's Viable System Model A model for designing organisations that can survive and adapt. Five interdependent systems handle operations, coordination, control, intelligence, and identity.
-
Principle Cognitive Load The mental effort needed to understand or change a system. There is a fixed budget per person and per team.
- Principle Sociotechnical Systems Work systems have a technical subsystem and a social subsystem. Both must be designed together. Optimising one without the other produces worse outcomes than balancing both.
Clusters
- The Distributed Systems cluster - The mathematics of what is possible across a network.
- The Systems Thinking cluster - Ways of seeing systems whole.