Software design principles for teams: The Principle of Benevolent Dictatorship.
Design decision making is not a democracy. The technical leader’s vote counts for more. Use this power wisely.
Background
This is an elaboration of one of the principles I originally published in the following article…
Principle
Design decision making is not a democracy. The technical leader’s vote counts for more. Use this power wisely.
By looking at how all the principles connect, it becomes clear this is one of those “everything is equal, but some things are more equal than others” items, based on how many other principles are informed by the interaction with the Benevolent Dictator, which is the key attribute you want of a technical leader of a delivery team.
In terms of software design decision making, the Benevolent Dictator will always:
Champion the importance of high quality design within the team
Take full responsibility for all decisions made by the team. Note: this does not mean they take credit for the decision, that should be attributed appropriately.
Look to make themselves unnecessary from as many decisions as possible
Withhold their opinion until the last possible moment in design conversations
Check that all team members feel safe to contribute during decision discussions
Delegate low-hanging fruit design to appropriate automation
Stay connected to design currents in other teams
Exert discipline around technical experimentation, both in the choices and analysis of the results
The Benevolent Dictator may:
Agree to a decision they don’t 100% believe in as an exercise in empowering the team and/or contained as an experiment
The Benevolent Dictator will never:
Agree to a design decision only because it is the majority view of the team
Striking the right balance as a Benevolent Dictator is hard. Short term speed and higher quality decisions are probably reached by leveraging your experience and trusting your instinct. However, the longer term decision making capability of the team is severely compromised if their leader doesn’t encourage, cajole and support a larger number of context-aware decision makers.