Saturday, May 26, 2012

Is starting over a solution?

Even with the best intentions of everyone involved and regardless of their efforts, the design of a system at some point can head down a slippery slope. The deterioration of a good design is generally a slow process that occurs over a relatively long period of time. It happens by continually studding your classes with hacks and workarounds, making a large share of the code harder and harder to maintain and evolve. At a certain point, you find yourself in serious trouble.

Managers (and/or architects) might be tempted to call for a complete redesign (reboot), but redesigning an evolving system is like trying to catch a runaway chicken. You need to be in a very good shape to do it. But is the team really in shape at that point?  Have you ever seen the movie Rocky? Do you remember the scene where Rocky, the boxer, finally catches the chicken, thus providing evidence that he's ready for the match? During the movie, Rocky attempts several times to get the chicken, but he gets the chicken only when he has trained well enough.


From Microsoft .NET: Architecting Applications for the Enterprise

No comments:

Post a Comment