Against additive solutions
I was recently in a meeting where, multiple times, the default response to a problem was “we should form a committee to respond to the issue” or “someone should be appointed to take care of this issue.”
I think this is a natural way to view problems and solutions. It’s a human-centric view. In this view, problems get solved by people. When some problem isn’t getting solved because it’s not in anyone’s job description to solve the problem, the logical response is to either delegate authority and responsibility for solving the problem to a person or a committee.
It’s a natural way to view problem-solving in organizations, but it’s totally wrong.
The first reason it’s wrong is because it’s what I call an “additive” solution. The proposed solutions (forming a committee or appointing someone to address the problem) will either add to the headcount of your organization or they will add to the demands on people already at your organization.
What’s so bad about additive solutions? It has to do with being able to predict the downstream effects of the implemented solution. There is a fundamental difference between a solution that involves adding a new component to a system, versus a solution that takes away or modifies components that were already there. When you add a new component, it’s very difficult to anticipate all the interactions that it will have with other components. In contrast, when you modify or remove existing components, it’s much easier to anticipate the consequences by examining the role the component already plays in the system.
Additive solutions are slow. Creating a new component for your system is almost certainly going to take more time than tweaking (or removing) something that’s already there. When starting from scratch, the design space is huge. In constrast, when you’re starting from an existing part, its attributes are mostly fixed and you can think about a few dimensions that might need modification. At the most extreme, you can decide to remove the component, which can be done incredibly quickly.
Additive solutions are difficult to unwind. One a committee has been formed or a person given a new responsibility, it is very difficult to turn back the clock, even after the problem has been solved.
What’s the alternative to additive solutions? Solutions that either modify or remove existing components of the system. In my opinion, this is the most effective way to solve problems because the problems are usually the result of interactions of existing system components. Instead of adding downstream components to solve problems that were introduced previously, why not go upstream and prevent the problem from occurring in the first place?