Kyle's Findings.

  • Random
  • Archive
  • RSS

They [made] the single worst strategic mistake that any software company can make:

They decided to rewrite the code from scratch.

That’s from Joel Spolsky’s classic essay Things You Should Never Do.

If you’re a product developer you’ve probably had the urge to rewrite a working product from scratch. I certainly have.

Us developers get a warm, fuzzy feeling when we imagine the opportunity to start from a clean slate. To re-architect moving parts that don’t make sense. To rewrite aesthetically ugly code in a shiny new language. To eliminate infrastructure choices that are hindering development.

These might seem like rational reasons to rebuild. But Joel makes an important point that most developers overlook in their state of greenfield wanderlust:

It’s important to remember that when you start from scratch there is absolutely no reason to believe that you are going to do a better job than you did the first time. First of all, you probably don’t even have the same programming team that worked on version one, so you don’t actually have “more experience”. You’re just going to make most of the old mistakes again, and introduce some new problems that weren’t in the original version.

Joel outlines many other reasons developers & managers convince themselves a complete rewrite is the best course of action, and more importantly, why it rarely makes sense for a business to totally rebuild their product.

If you’ve ever considered rewriting from scratch, or have actually gone ahead with it, you’ll get a lot of value from reading the full article.

Source: joelonsoftware.com

  • 3 months ago
  • Permalink
  • Share
    Tweet
← Previous • Next →

Logo

My name is Kyle Fox and I'm a web developer and designer. I work at Carbonmade and live in Edmonton with my adorable little wife. I like running and drinking whisky, though never both simultaneously.

I'm learning Twitter →

Elsewhere

  • kylefox on Dribbble
  • @kylefox on Twitter
  • kylecfox on Flickr
  • kylefox on github
  • RSS
  • Random
  • Archive
  • Mobile

Effector Theme by Carlo Franco.

Powered by Tumblr