Currently:

Chad Fowler

Author, Speaker, Programming Lifestyle Engineer

Required Reading

Speaking/Lecturing Appearances

Mar 7-10
Pragmatic Rails Studio II
Santa Clara, CA
Mar 29-31
Pragmatic Rails Studio
Reston, VA
Apr 1-2
Ruby Nation
Reston, VA
Apr 6-8
Scottish Ruby Conference
Edinburgh, Scotland
Apr 22-23
Red Dot RubyConf
Singapore
May 16-19
RailsConf
Baltimore MD
May 28-29
RubyConf India
Bangalore, Karnataka, India
Jun 16-18
Nordic Ruby
Gothenburg, Sweden
Sep 11-14
SpeakerConf
Rome

Want me to speak at your event? Email me.

Blog Topics

career

life

software

rails

ruby

education

management

web

success

books

writing

job

metrics

quality

art

weightloss

development

programming

Search

The Wish List

(This article is part of the Big Rewrite series.)

Imagine going to the hospital for a kidney transplant, and before and during the surgery saying to the surgeon: “Oh, and while you’re already in there digging around, I’ve had some problems with my lungs that could use a little attention. And, yes, I’ve been overeating terribly—-could you do one of those stomach reduction things I hear about? And on that note, how about a little plastic surgery since we’ve got the knives out?”

This is effectively what happens on The Big Rewrite. An existing product, no matter how successful, always has a few warts. The rewrite is seen by many people as the perfect opportunity to shave off the warts. If we’re going to do it over again, we might as well do it right this time.

Under the veil of a rewrite, the assumption is that the personality and capabilities of the software aren’t changing. So, what might start as just a few little tweaks will usually turn into an unbridled reinvention, with none of the usual checks and balances that go into new product development. With potentially many stake-holders involved and an uncontrolled process, I’ve seen little tweaks end up increasing the total effort and feature-set of a Big Rewrite by as much as 100%.