Skip to content

Costs of the legacy code

November 7, 2006 by Artem

"To me legacy code is simply code without tests."
Michael C. Feathers “Working effectively with legacy code”

The legacy code is a known software developers’ headache. The legacy code is the difficult to change code that the developers don’t really understand. This code often is inherited from the old developers who left the company, it usually has little to no documentation and little to no testing code. Legacy code can slow down the development speed up to the real competitive problems. When it takes eternity to make a required change, a company can hardly stand a competitor that is able to release life-critical software every month.

I’ve heard about a company that used a brand new RAD tool to build a product blazingly fast. The development speed was impressive and they were able to release on time. Everything was fine until they decided to build the second product, partially using the first product code. Then they “suddenly” hit the maintenance problems: the tool didn’t have an automated testing support, nor it was possible to put in the external testing framework. The refactoring became a persistent headache and maintenance costs skyrocketed.

Unfortunately it is not always easy to make the legacy code maintenance visible until it is too late. Maintenance costs are often planned into another “maintenance” budget and too much software is planned as if there would be no second version.

Do you hit the legacy code maintenance costs often? How do you explain the need to do the refactoring to the high management?

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <b> <i> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <br> <blockquote>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]".

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.

Best of AgileSoftwareDevelopment.com