Thursday, February 28, 2008

Second System Effect

The second system effect is described in Fred Brooks 'The Mythical Man Month'. It is simply defined as the tendency of the designers to over-engineer an existing simple elegant solution. The tired architect warns us to think a moment before we take the plunge and develop 'the second system'. For a long time I thought this was mostly rubbish and you can only do things better with experience.

That was till I witnessed an actual second(or rather third) system being built. The original system wasn't simple or elegant but, it got the job done (And if you had been mucking around its code for over 6 months you will intuitively know where to fix a certain bug). It opened my eyes to YAGNI but, then the reality of features selling products crashes the party. Hopefully I'm a little wiser from the experience.

No comments: