Main menu:

Site search




Great by Choice

I just finished the book Great by Choice by Jim Collins and Morten Hansen.  It is an excellent book and I rank it in the top tier of business books alongside Jim Collins’ earlier work Good to Great.  Great by Choice is a comprehensive study of elite companies that all outperformed the market by 10X and each company is contrasted by a comparison company that was in the same market and stagnated or disappeared.  What grabbed my attention was that all of the factors 10X companies used to achieve success were essentially practices of what I consider sustainable development.

There are many lessons to draw from Great by Choice that apply to software development.  I’ll highlight a few.

The 20 Mile March

The 20 mile march is the sustainable pace that the 10X companies used to get new products and services to market and to grow their company.  The 10X companies didn’t over-extend themselves, instead they deliberately held themselves in check and kept marching at a deliberate pace.  Their competitors on the other hand were sprinting ahead and while each sprint would sometimes leave them ahead they would lose their momentum and fall behind again.  It’s a variant of the classic tortoise and the hare parable.

This is exactly sustainable software development.  It’s not about hacking something together and rushing it to the market.  It’s about moving as fast as you can, but ensuring you are taking the time to get user feedback, design as you go, write automated tests, etc.  You have to find the right amount of discipline for your team, since you don’t want to hold yourselves back by for example demanding 85% test coverage on all new code.  Hacking products together to meet some artificial deadline rarely ends in success simply because of the technical debt that accumulates: you spend so much time after that date fixing the product that your team is shackled with cleaning up when they could be building the next big thing.

A Fanatical Sense of Discipline

The 10X companies were highly disciplined in their approach.  During the good times they stockpiled more cash than their comparison companies and when market conditions changed they didn’t lurch from decision to decision they analyzed the situation and then acted.

Discipline is critical in sustainable software development.  If you need to rush a product to market to beat the competition do it with discipline.  For example, do some design work so that after you ship the first version you can circle back and rebuild some of the components.  This is exactly the approach we used at Alias when we shipped the first version of Sketchbook.

There are many other aspects of discipline which are all critical for software development.  Stay focused on what you are building and don’t stop doing regular design, testing, code reviews, etc.

Fire Bullets, then Cannonballs

Most people in the software industry understand the value of prototypes.  The 10X companies relied on them: instead of investing in a product that nobody wants the 10X companies would focus on finding out where the opportunity is (firing bullets) and then once they found it they would add resources (fire cannonballs) with discipline and win.


It’s a great book and well worth the time, especially if you read it with sustainable development in mind.  Enjoy!

Write a comment