Letting Go III: Unilateral or GTFO

Con­text: The first post gave a long list of ex­am­ples of just-let-go de­sign: a prob­lem-solv­ing ap­proach/​aes­thetic based on giv­ing up di­rect con­trol over the sys­tem. The sec­ond post talked about giv­ing up con­trol as a visi­ble sig­nal of un­der­stand­ing. In this post, we get to main ad­van­tage of just-let-go de­sign.

Sup­pose I’m ly­ing in bed one day think­ing about the prob­lem of dishon­est car-sel­l­ers. How can I get car-sel­l­ers to be hon­est about prob­lems with their car?

I know! We need to pass a law which makes it a crim­i­nal act to lie about a car one is sel­l­ing, so dishon­est car-sel­l­ers get jail time.

Note the sub­tle shift from “I” to “we”. Even set­ting aside the likely in­effec­tive­ness of such a law, pass­ing laws is not within the space of things “I” can do over a week­end. “Laws we should pass” is great for face­book-filler, but not so great for prac­ti­cal ideas which I could per­son­ally im­ple­ment.

What if we come at the prob­lem from a min­i­mum-con­trol an­gle? We want to pre­vent car-sel­ler dishon­esty, while ex­ert­ing as lit­tle con­trol as pos­si­ble.

Well, how about we dis­in­cen­tivize the sel­ler from ly­ing? That’s easy, we just need a con­tract which gives the sel­ler some kind of li­a­bil­ity for prob­lems. This isn’t a com­plete solu­tion yet, the de­tails of that li­a­bil­ity and its en­force­ment mat­ter, but that’s tractable. The next ques­tion is im­ple­men­ta­tion: hav­ing drafted such a con­tract, how do I get peo­ple to use it?

That’s a much eas­ier prob­lem than pass­ing a law.

Just off the top of my head, I could cre­ate a startup called TrustyCar through which peo­ple buy and sell cars, and the main sel­l­ing point is that the sel­ler has some kind of li­a­bil­ity for prob­lems. Trust­wor­thy sel­l­ers can ob­tain higher prices for their car by sel­l­ing through TrustyCar, and buy­ers can ob­tain cars which they know are re­li­able. Peo­ple have an in­cen­tive to start us­ing it; no­body needs to force them. In­deed, I could charge them to use TrustyCar; their in­cen­tives still line up even if I col­lect a small fee.

In short: hav­ing found a min­i­mum-con­trol solu­tion, I can im­ple­ment it unilat­er­ally. Pass­ing laws is a thing “we” do, but bro­ker­ing car sales is a thing “I” can do.

That’s a nat­u­ral prop­erty of min­i­mum-con­trol solu­tions to prob­lems, es­pe­cially in the eco­nomic arena. The whole point is that we want a solu­tion which doesn’t re­quire con­trol­ling any­one else—there­fore we can im­ple­ment it our­selves. Who “we” is will de­pend on the con­text, on who I’m solv­ing the prob­lem for—it could be me per­son­ally, a team, a com­pany—but who­ever “we” are, we should be able to im­ple­ment a min­i­mum-con­trol solu­tion unilat­er­ally.

As with the car ex­am­ple, the differ­ence be­tween unilat­eral and non-unilat­eral is the differ­ence be­tween things which could plau­si­bly hap­pen if I make an effort, and things which prob­a­bly won’t hap­pen any time soon. I use this as an heuris­tic at work: if a pro­ject re­quires buy-in from some­one not in the room, then add at least one week to the timeline (and a full month if the miss­ing per­son has a pro­ject queue, as is the case for most soft­ware en­g­ineers). A pro­ject which can­not be ex­e­cuted unilat­er­ally by a small group will not hap­pen soon, if it hap­pens at all. Unilat­eral or GTFO.