Quite a while ago, someone came up with a clever, mathematically provable optimal solution to the age old problem of how to cut cake. This might not sound very useful, but it is, and it applies to engineering too.
The problem is this: suppose you and one other person want to share something (like a cake, for example). How do you divide it fairly? You can’t necessarily trust the other person to decide, and they can’t trust you. No one can be trusted to decide! If there is no other authority, what do you do? You have to find a way to align your incentives somehow - and that alignment problem is the thing that’s more generally useful. You can decide “together”, if you break the decision up.
The (pretty obvious) solution is this: one person cuts the cake into two pieces, but the other person gets to pick who gets which piece. This motivates the first person to do the cutting as fairly as possible, which then aligns the incentives - both people want the cutter to be as fair as possible, no matter who the cutter is!
In engineering teams, there are often similar problems. Not resource contention, per se, but arguments about what the right approach to a technical problem is (often referred to as “holy wars”). In some sense, it’s the same problem - two balanced groups are contending for the same resource (the time of the team). So step one is to try to reframe a problem like this in terms of a ‘dividable’ resource.
There isn’t as clean an algorithm here, but we can look to cake-cutting for inspiration. Maybe one person splits tasks into groups, the other decides which approach matches which tasks, and then you conduct an experiment to see which approach works better. Or maybe one person breaks the team into two halves, and the other person decides which half gets to make the call on the approach (recurse until you get to a three person team, and one person winds up getting to pick for everyone). That incents the first person to make the deciding teams as fair and representative as possible.
This algorithm also generalizes to more than two (let’s call it n) people. In that case, the first cutter cuts the cake into a 1/n piece and a (n-1)/n piece and the second person decides to either take the small piece, or be the cutter for the big piece (and give the small piece to the first person). That’s an example of using recursion when the problem is more complex.
Keep this technique the next time you get in a head-to-head argument with someone. Is there a way to ‘divide’ the decision that lets you be aligned? Sometimes a little math is better than a lot of arguing.