Justin Stach

75% of properly

Reach, grasp & the honest feature factory.

A friend of mine leads product at a company I won’t name.[1] At his core, he’s a designer and led design teams for the first half of his career, but he describes his current department, without any embarrassment, as a feature factory. No caveats, no finessing, no softening: it’s a feature factory. When John Cutler coined it in 2016 it was as an insult: it’s a team that ships features but never thought to find out if any of them worked. My friend will tell you that the team only started measuring outcomes six months ago. By definition, he’s running a feature factory, and he’ll say so before you do.

It’s what he says next that’s interesting. “It was more try to do it properly, with the understanding it’ll be about 75% of properly – I mean when does a design bug ever get fixed before launch unless it impacts revenue?”

This post is about why that’s one of the healthiest things I’ve ever heard a product leader say.

Let’s be honest, his standards have dropped: by a quarter, if we take him at his word. But what hasn’t dropped is the attempt: the team aims at properly on every feature, and everyone from the designers to the board knows the landing will be short. Compare the factory most designers actually work in, which promises properly, ships 75%, and treats every launch as a surprise. Same output, but in one, the person running the team openly states the discount up front; in the other, the team rediscovers it at the retro.

That’s a really important difference, because it decides whether people keep reaching for properly. A team told the miss is coming keeps aiming high, because missing is nobody’s fault. A team promised properly and handed 75% learns within two quarters that they may as well aim at 75%, which is safer and less exhausting. Same for the team in a design-purist shop, where those misses count as failure. Both of these arrangements teach people to simply stop aiming. Amy Edmondson’s grid puts high standards with high safety in the learning zone and high standards with low safety in the anxiety zone. I’ve worked and led in a lot of anxiety zones. He’s running his team in the other one, and I suspect that the governing mechanism is that he says the 75% bit out loud.

But why 75% rather than 100%? Ownership: his employers have been private equity owned, and a fund has a hold period and a multiple to hit at exit. Nothing in that arithmetic pays for design past the point where it moves profit before the sale; his revenue rule for bugs is the same arithmetic applied to a backlog. Playing the design purist in that environment would have been silly, and he worked that out years ago. In Nothing to show I argued that the organisations which paid for remarkable all had a patron who decided to carry the cost of a long stretch of nothing. A PE fund is an owner whose horizon makes that structurally impossible.

It’s the ownership of the business that decides the discount, but everything after that is about behaviour: whether the discount is declared or concealed, whether the team still aims at properly, whether the stopping point is decided before the work or discovered when the time runs out, whether the leader carries the gap, or whether the bugs that don’t touch revenue still get fixed.

Purism survives in factories for three reasons, and only two of them tend to get said aloud. The most obvious is that it earns the approval of other designers; the second is that some people genuinely believe in it. The third is that arguing for the organisation to become design-led is noble and also can’t be tested. For as long as the business hasn’t become the thing you asked for, no miss is yours: the work would have been better if only they’d let it be. It’s an alibi with high standards attached, available to every designer in every factory for as long as they want it, and it doesn’t even have to be insincere to do the job. It only has to remain unfulfilled.

My friend gave it up, and that’s what the stance costs. Saying feature factory out loud forfeits the excuse for everyone in the room, starting with him. The 75% that ships is theirs, and so too is the question of whether it was any good. That’s the uncomfortable half of the arrangement, and the reason the safety isn’t softness. Once the discount is declared, the work can be judged, and in any other version of the factory it can’t.

Which leaves us with the question of who carries the 25%. He does, that’s his job as the most senior person with design in his remit. The team is safe because the gap is his to explain, upward to owners who wanted it shipped and downward to designers who wanted it right. It’s the patron from my last post at a smaller denomination: not a year of nothing but a quarter of properly, paid for with his standing, launch after launch. It’s also why the stance only works from his seat at the table: a designer can’t declare a discount on their own behalf. Someone who can be blamed for it has to.

The failure mode for his approach is Browning’s “a man’s reach should exceed his grasp”, which is spoken by Andrea del Sarto, the faultless painter: perfect execution and no ambition, given by the poem as a warning rather than its hero. A factory that keeps its craft and lets the aim drift down to meet the landing is del Sarto, and 75% becomes 60 without anyone deciding it. Two things stop that happening. The revenue rule, which guarantees the misses that matter get fixed. And whatever his behaviour is when the number starts sliding, which is a question I still owe him.

And yes, his 75% is honest while he’s in the seat. However, when he leaves the factory keeps the discount but probably loses his out-loud declaration, and so the team will head back to the anxiety zone within a release or two. That’s the distance between his shop and the few organisations that carry good design as an organisation rather than as a person, and it’s a post I want to get around to.

I’d rather work for him than for most of the people I’ve heard describe their design culture as world-class.


  1. No, it’s not fucking me. ↩︎