Question Home

Position:Home>Philosophy> Are computerization projects quickly ruined ?


Question: Are computerization projects quickly ruined !?
Someone gets the idea of "micro-reform" of the system, but without possessing or knowing how to use the essential automated tools!.Www@QuestionHome@Com


Best Answer - Chosen by Asker:
The phenomenon is known as "code-rot"!. Over time, large computer systems get less and less manageable!. "Micro-reform" really doesn't have anything to do with it!. "micro-reform" is both necessary, and unavoidable!. Ironically, the real issue is that "micro-reform" doens't take place as it should!. As systems get larger and larger it becomes progressively more difficult to refactor code to correct deficiencies in the original design!. Over time, these poor decisions accumulate, and, eventually, the entire system collapses, and has to be rewritten!. Except for those systems that were poorly built in the first place, the process is usually slow and painful!.

It's probably too early to tell what the long term solution for this is!. The general experience is that code seems to rot out totally after about a decade or so!. THis is partially a technological problem!. After about ten years, the tools, languages, and programming styles in best-practice use are so different from those used to create the original that the old code is impossible to manage!. In my experience, it's the move toward current best practice that seems to be particularly damaging: mixed code written in different styles, targetted against technology at different stages of evolution takes a toll!.

There are no tools that address this issue on a long-term basis, although there are a large number of tools that claim to address the issue!. The tools seem to age just as gracelessly as the code itself does!. So-called upper-case tools of a decade or so ago, have not proven to be a solution in retrospect (or even really anything other than a clever technique to explain to the customer that it's the customers' fault that the project is *still* going to take twice as long as was originally projected and still doesn't do what the customer wants)!.

The best solution seems to be skilled architects who design code to be replaceable on a component by component basis, and a program (again, managed by skilled architects) to systematically rewrite major components, over time!.

Let's be frank!. Computer science is not a science: it is an art!. There was, at one time, a broad concensus as to what best practice is; but even that concensus has been lost as developers experiment with new, and sometimes better development paradigms!. Many of the hottest new methodologies (Scrum, Agile, eXtreme, &c) systematically reject almost all of the central tennets of the previous generation of methodologies!.

Our knowledge of how to manage the chaos has improved somewhat over the years!. But there is -- as of yet -- still no substitute for human skill and judgment, when managing large computer systems!. There is no formula!. No magic bullet!. Just people who can do it, and people who can't!. Which is pretty much where we were 40 years ago!.Www@QuestionHome@Com

Wow robin !!! Well put !.!. However that isn't exactly how I would have put it !.!.I would have said something more along the lines of ,, Wwhuutt!.!.!.!. !?!? but then again , I've always have said computers will be the downfall of mankind ,, what with all the unemployment surrounding this tecnological nightmare !.!.!.!.!.muscles are no longer necessary !.!. and the heart is the most important muscle that we no longer use enough to be healthy , but I sopose 50 is old enough ,,Www@QuestionHome@Com