Support This Website! Shop Here!

Friday, December 13, 2019

On the Usefulness of Regulations

The Two Foundational Rules of System Design: 
  1. Systems always produce precisely the results they were designed to produce.
  2. What you intended your designed system to produce has no necessary correspondence to what you actually designed your system to produce.

The Rule of People in Systems:
  1. People do not do what the regulations say they are doing.

Explanation:
As a former computer programmer, I am more aware of how rules actually work than non-programmers are.

A computer program is just a set of rules. As a programmer, I write these rules with a starry-eyed vision of what they will accomplish. Then I run the program and find out that the rule set is completely inadequate to the vision. I re-write endlessly, and after days/months/years of constant manipulation, I might gain some percentage of the original vision, but never the whole.

Now, that computer program is a rule set applied to an inanimate object: rules for electrified rocks. Rocks sit quietly while you impose rules. Rocks sit quietly while you tinker with, reformulate, and endlessly re-apply rules. Rocks apply rules precisely as you have formulated them, with no additions or subtractions.

Sentient beings do none of those things. People do not sit quietly while you impose rules. People do not sit quietly while you reformulate and re-apply rules. People do not apply rules precisely as you have formulated them, with no additions or subtractions.

This is why bureaucracies cannot succeed, even in principle. A bureaucracy is a group of people who do not realize they are pretending to be computer programmers. The faux-programmers formulate and apply rule sets to creatures who they do not realize are not rocks. The designed system does not produce the intended result. Ever. So, tinkering begins. Rules endlessly proliferate for the same reason computer programs suffer "code bloat." As the bureaucrats come to the depressing realization that their rule sets are not producing the desired results, the natural conclusion is that "just one more rule" will fix the situation. As any programmer will tell you, that approach never works.

I used to believe rules were more useful than I now understand them to be.

No comments: