Reducing variety is often not the right approach when trying to handle the complexity of the world.
I’m writing this text while I’m on a plane, which is operated by human beings (several pilots and stewardesses). It cannot be any different.
Sometimes I hear people say that software teams can deal with variety in customer’s requests when the environment is properly modeled, using a scientific approach. Just like auto-pilots for aircraft are programmed to deal with complex and turbulent environments.
But, successful as they can be, such approaches are deterministic models of expected variety. They cannot handle the unknowns (for example, ash clouds from Iceland) or social complexity (for example, misbehaving passengers, probably Dutch).
Another argument I hear sometimes is that software teams cannot be expected to deal with the uncertainty of the whole universe, and therefore they must work with a limited view of the environment.
That is correct. But I believe teams should be able to deal with the variety that they actually encounter. Passengers don’t expect their plane to be capable of flying into Jupiter’s red spot. But they do expect to land safely when one of them misbehaves.
That’s why we still have humans flying airplanes, aided by computers and scientific models. Models can inform, but people make decisions.
Until computers have neural networks exceeding the capabilities of the human brain, it simply cannot be any different…
(On my way to Amsterdam I accidentally took a seat in business class, but the stewardess sent me away. Other than that, I didn’t misbehave. Honest!)