Lessons from 6 software rewrite stories

A new take on the age-old question: Should you rewrite your application from scratch, or is that “the single worst strategic mistake that any software company can make”? Turns out there are more than two options for dealing with a mature codebase.

Herb Caudill
Feb 19 · 30 min read
Photo: Kevin Noble

1. Netscape

Key: 📝= rewrite, 💀 = dead end

Starting with a clean sheet

When the rewrite began, Netscape was losing ground quickly to Microsoft’s Internet Explorer. When the new browser was finally released three years later, it was buggy and slow; meanwhile Netscape’s market share had dwindled to practically nothing. (Chart adapted from Wikipedia.)

Lessons


2. Basecamp

37signals’ redesign of FedEx’s shipping form (left) is still better than the real thing, nearly two decades later.

Golden handcuffs

Sunset considered harmful

David compares Basecamp Classic to a Leica M3: It hasn’t been manufactured since 1967, but Leica is still committed to supporting it and repairing it for as long as they’re in business. (Photo Dnalor 01)

Lessons


3. Visual Studio & VS Code

Key: 😎 = hipster cred

Reaching out to the cool kids

VS Code has become the text editor of choice for JS hipsters. (Chart from State of JavaScript Survey, 2018)

Lessons

Of all the open source projects on GitHub, Visual Studio Code is ranked thirteenth by number of stars — coincidentally, just below Linux!

4. Gmail & Inbox

Key: 🌇 = sunset

Two interfaces, one service

Lessons


5. FogBugz & Trello

Key: 😟 = sad decline, 🤑 money money money

The strange story of Wasabi

An inflection point

A new hope

Meanwhile back at the ranch…

Lessons


6. FreshBooks & BillSpring

Key: 🕵️‍♀️ = undercover operation

Stop me if you’ve heard this before

What happened next may surprise you

Lessons


Some thoughts for now

Herb Caudill

Written by

Software for human beings. Global development. Cities. Barcelona. RPCV. Founder, @DevResults.