Second System Effect

Add little to little and there will be a big pile.

Defined by FredBrooks in TheMythicalManMonth the SecondSystemEffect is what happens to a designer's second project, and it isn't pretty.

This (The Second-System Effect) is the title of chapter 5, where Brooks describes it:

briefly... If your project is the second system for most of your designers, then it will probably fail outright. If it doesn't fail, it will be bloated, inefficient, and icky.

It's a case of BellsWhistlesAndGongs, every little neat hack that was put off during the first system's design is used with abandon on the second, usually because the architect thinks he knows what's going on. ExtremeProgramming seems like it would obviate many of the causes. Especially the readiness for change.


Alternative: YouArentGonnaNeedIt.

I've experienced this first-hand as a designer. Probably the only thing that saved the project was a few timely insights about YouArentGonnaNeedIt.

(Now I'm on a second system project again, but this time it's not my second system).


I've seen this many times. Often, one contributing force is the demand from Marketing that the second system do everything the first system did, plus be multi-user, fault-tolerant, more fully BuzzwordCompliant, et cetera, et cetera, et cetera. -- DaveSmith


The solution is clear, skip the second system, directly implementing your third system.

Or as my mom likes to say as she plays with my two-year-old: "If I had known that grandchildren are so much fun, I would have had them first."


See ThirdSystemEffect


EditText of this page (last edited July 30, 2004) or FindPage with title or text search