Architects are in the business of making trade-offs, or more precisely, illustrating the trade-offs so that others can make better decisions. I have also compared architecture to selling options because good architecture allows us to defer decisions, for example the size of infrastructure hardware needed to run an application.
One trade-off that’s often overlooked is between the number of options you have and the resulting complexity. More options are desirable, but wanting to have all options all the time will result in unnecessary complexity, as is often the case with overly elaborate abstraction layers or massive configuration frameworks.
I captured this effect into Gregor’s Law:
Excessive complexity is nature’s punishment for organizations that are unable to make decisions.
You can trace its origin to my original blog post on IT complexity from 2018.