|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- title: The Big Rewrite
- url: http://chadfowler.com/2006/12/27/the-big-rewrite.html
- hash_url: e1911ccf82335e72f78e6e6328c01cf3
-
- <p>You’ve got an existing, successful software product. You’ve hit<br/>
- the ceiling on extensibility and maintainability. Your project platform
- is<br/>
- inflexible, and your application is a software house of cards that<br/>
- can’t support another new feature.</p>
-
- <p>
- You’ve seen the videos, the weblog posts and the hype, and
- you’ve decided you’re going to re-implement your product in
- Rails (or Java, or .NET, or Erlang, etc.).
-
- </p>
- <p>
- Beware. This is a longer, harder, more failure-prone path than you
- expect.
-
- </p>
- <p>
- Throughout my career in software development, I’ve been involved in
- Big Rewrite after Big Rewrite. I suspect it’s because I have an
- interest in learning eclectic computer languages, operating systems,
- and
- development environments. Not being just-a-Java-guy or
- just-a-Windows-guy
- has led to me becoming a serial rewriter. I’ve been on projects to
- replace C, COBOL, PHP, Visual Basic, Perl, PLSQL, VBX (don’t ask!)
- and all manner of architectural atrocities with the latest and
- greatest
- technology of the day.
-
- </p>
- <p>
- In many cases, these Big Rewrite projects have resulted in unhappy
- customers, political battles, missed deadlines, and sometimes complete
- failure to deliver. In <em>all</em> cases, the projects were
- considerably
- harder than the projects’ initiators ever thought they would be.
-
- </p>
- <p>
- This is not a technology problem. It’s not at all Rails-specific, but
- being in the limelight these days, Rails implementations are both very
- likely to happen and very risky right now.
-
- </p>
- <h2>
- Why So Hard?
-
- </h2>
- <p>
- So, why, in software rewrites, when you’re traversing exclusively
- <em>familiar</em> territory are the results so often unpredictable and
- negative?
-
- </p>
- <p>
- For the next week, I’ll post specific reasons I’ve seen things
- go wrong. The following is a list which will eventually be made into
- links:
-
- </p>
-
- <p>
- Stay tuned.
-
- </p>
|