The Rise of Worse is Better
Lisp followed the “MIT/Stanford style of design”. In priority order:
- Interface simplicity;
- Implementation simplicity
In other words, correctness, consistency, and completeness is seen as more important than simplicity.
- Implementation simplicity;
- Interface simplicity;
- Implementation consistency;
- Interface consistency
In other words, simplicity, especially simple implementation, is seen as more important than anything else.
The Worse Is Better design approach has better survival characteristics
“However, I believe that worse-is-better, even in its strawman form, has better survival characteristics than the-right-thing, and that the New Jersey approach when used for software is a better approach than the MIT approach.”
Worse Is Better is an effective virus.
Because it is simpler to implement, more people implement it.
Because it isn’t quite correct, complete, or consistent from the get go, adopters are conditioned to have to improve it.
Because there are both a lot of adopters AND those adopters are conditioned to improving things, it will keep getting better.
Gabriel summarises the lesson:
“The lesson to be learned from this is that it is often undesirable to go for the right thing first. It is better to get half of the right thing available so that it spreads like a virus. Once people are hooked on it, take the time to improve it to 90% of the right thing.”
Why did SAFe get so popular?
I was chatting with Arne and Nicole at a Spotify Agile Coach “Share and Learn” about some concept defined incorrectly in SAFe, which led to a discussion about why, despite the incorrectness, SAFe still demonstrated very effective approaches to marketing and adoption, which led to me mentioning Worse Is Better.
SAFe got “half of the right thing available” so that it spread like a virus. Now that people are hooked on it, they can hopefully improve it to 90% of the right thing.
The wrong lesson to be taken here is that Jason says SAFe is great.
The right lesson is that Worse Is Better also has better survival characteristics in the context of organisational design.
Worse Is Better for organisational design
When you are designing a new organisational change…
The design must be simple, primarily simple to those will implement it. Secondarily simple in terms of how it changes interactions with other groups. Simplicity is the most important consideration in organisational design.
The design should be correct, as in it actually positively affects the outcome it is intended to affect. A simpler organisational design that is less correct is better than a more complicated organisational design that is more correct.
The design should cover all reasonably expected scenarios and as many important edge cases as is practical. Completeness should be sacrificed if it makes the organisational design harder to implement.
Sacrifice consistency for every other design aspect. Consistency for people implementing the design is more important than ensuring consistency in interfaces with other groups.