Great teams rely on rules, not willpower
In Clear Thinking, Shane Parrish argues (correctly IMHO) that rules can help us achieve our goals because:
- they remove all the decision making and effort
- they fight the social default, as, oddly enough, people will be less inclined to argue with someone's rules
An example mentioned in the book: my goal is to drink less soda. Instead of going through a sapping decision process every time I go out on whether or not I will drink soda, and maybe have to fight other people pushing back on my decision I can eliminate all this decision making at once by setting a rule instead: I don't drink soda.
Now there's nothing left for me to decide, and if someone offers a me a soda, I can decline both politely and definitively (for most people, at least).
I don't need to exert my willpower every time to choose the action that will get me closer to my goal of drinking less soda, but I can just rely on the rule to do all the decision-making for me.
In my experience I find that the greatest teams exploit rules to wire themselves up for effectiveness too. One example are teams with extensive coding, code quality, security, etc guidelines and teams that automate all of the guidelines and make them part of the continuous integration process.
In the first case the team has to rely on each member's discipline to enforce the guidelines, and, inevitably, there will be divergence, fights and ultimately nor code quality, nor security or consistency.
The effective team instead sets the rules because they understand that all that's left to do now is to follow the rules, or they won't be able to merge their work in the codebase. No arguing, no discussions, no inconsistency. Exceptions can still be made of course, but those are now intentional and subject to approval by reviewers too.
New members will be faced with a steeper but fairer onboarding curve and that serves three purposes, in addition to practically guaranteeing the desired goal (code quality, consistency, etc) which ultimately drives effectiveness (as a second-order effect):
- filters out new members who don't fit the team rules
- allows the new members to fully join the team by removing any "discretionary" treatment in the code review process
- codifies the team culture