Non-existent code doesn’t crash

The Hollywood myth of management is that the boss that makes a bold decision to do something. In fact, one of the boss’s most important jobs is to decide what not to do. Read how we cut underused features and eliminated 30% of our code base. Focus on what is important and delete the rest.

Turbine code base graph – shows lines of code increasing then a big drop recently

Let us sing the praises of ruthless editing. Focus on what is important and delete the rest. This is a lesson I keep learning and re-learning.

Early in my career, a programmer told me that ‘non-existent code doesn’t crash’. He was describing his approach to debugging obscure crashes but he spoke wiser than he knew: Less is more.

  • Simple projects cost less to maintain than complex ones
  • Adding more people to a late project makes it later (see: The Mythical Man Month)
  • Kill failing projects to concentrate on successful ones
  • Accept the 90 percent solution and move on
  • Outsource necessary but non-core activities
  • It’s a mistake to hire more people than you need
  • A big office doesn’t make a big company, it just adds overheads
  • You probably don’t need to go to that meeting

I was thinking about this a lot recently because we deleted some little-used elements in Turbine to focus our efforts on more popular features. It’s hard to kill your darlings but necessary sometimes.

And the results can be spectacular. The graph at the top shows code additions (in green), deletions (in red) and total lines of code (in blue). The changes in Turbine in the last month have allowed us to cut the code base by about a third. That’s about 40,000 lines of code that can’t crash and don’t need support or maintenance in future.

Google does it regularly. Anyone remember Google Wave? And Steve Jobs was a master at killing projects. Did you know that Apple used to make printers? Cameras? Scanners? Exactly.

The Hollywood myth of management is that the boss that makes a bold decision to do something. In fact, one of the boss’s most important jobs is to decide what not to do.

3 comments on “Non-existent code doesn’t crash

  1. Pingback: Ten ways to accelerate your writing process » Bad Language

  2. Pingback: Are You Coding Too Much? When More Means Less | Blog

  3. Pingback: Done is better than perfect | Bad Language

Leave a Reply

Your email address will not be published. Required fields are marked *