Axivion - Stopping Software Erosion

Stop Software Erosion

Software erosion is the constant decay of the internal structure of a software system that occurs in all phases of software development and maintenance. It has many causes ranging from "copy & paste programming" to neglect of architectural specifications.

The unfortunate thing about software erosion is that each contributing step in itself does not hurt, and indeed you can sometimes even save time in the short run. This is why software erosion is such an insidious process.

Software erosion cannot be measured using traditional testing methods: "The software works fine", yet, appearances are deceptive. Sooner or later, software erosion makes itself felt through its symptoms: rising development costs, increasing test effort, longer release cycles, escalating project risk, etc.

For this reason, software erosion is the main cause of problems in developing and maintaining software systems.

What is the cost of Software Erosion?

Anstieg der Komplexität

As a result of software erosion, the software's internal complexity increases disproportionately to the amount of new functionality added. Accordingly, the time needed to change the software also grows exponentially. Furthermore, the test effort that is needed to maintain the software's functional quality rises correspondingly.

Anstieg der Komplexität

At the same time, this increasing complexity lowers the software developers' productivity. This is because more and more time must be spent on understanding existing parts of the software. Research shows that, when software has reached a certain age, developers spend half their time doing this basically unproductive work.


The bottom line is: costs rise - productivity falls.

It gets even more costly when software erosion results in a "software landslide". When the degree of erosion reaches a level where the software cannot be maintained or enhanced any more, a rewrite becomes necessary, with all the attendant costs and risks.

By using Axivion Bauhaus Suite, we lowered our costs in many ways while simultaneously improving the quality of our software. The solution from Axivion was integrated seamlessly into existing processes and environments with little time and effort. Andreas Madjari, Raiffeisen Bausparkasse Gesellschaft m.b.h.

Make the fight against software erosion a senior management priority.

Why?

  • Action against software erosion is a strategic decision. Project teams typically work towards short-term release goals. But senior management has to care about the entire software lifespan. A short-term focus inevitably leads to software erosion that will sooner-or-later destroy the value of your investment.
  • Only senior management can create a culture where project goals and organizational goals are in balance. Everyone should be reassured that they have the support of senior management in achieving this balance.
  • Software erosion is a problem that is rarely acknowledged, so no one carries responsibility. Management must make teams accountable for monitoring and stopping software erosion. Actively measuring and tackling software erosion insures you against catastrophic effects should new challenges emerge.

With the Axivion Bauhaus Suite, you have a comprehensive software solution at hand that pinpoints software erosion. Triggers for software erosion such as architecture violations, copy & paste clones, cyclic dependencies, dead code, style violations and metric outliers are detected during development. The solution integrates into your existing processes and environments and automatically runs in the background. Your developers can thus quickly take measures against the causes of erosion before the erosion takes hold.

GTC · Imprint · Changed on 2008-10-09 16:27:41 +0200 (Thu, 09 Oct 2008) · © 2006-2008 Axivion GmbH Valid CSS!Valid HTML 4.01!