Suchen

Software Aging

Ein Erosionswächter für die Software muß her

Seite: 2/2

Firmen zum Thema

Die notwendigen Maßnahmen sind also: Erosionsprozesse aufdecken, die einzelnen Schritte transparent machen und Gegenmaßnahmen ergreifen. Wer schon einmal ein Werkzeug genutzt hat, um Stilprüfungen durchzuführen oder Metriken zu erheben, der weiß, dass solche Werkzeuge lange Listen an Befunden auswerfen können. Einmal im Jahr angewandt hat es fast keinen Sinn, auf alle Befunde zu reagieren. Wenn wir ernsthaft gegen Software-Erosion vorgehen wollen, dann kommen noch Befunde über Klone, Architekturverstöße, zyklische Abhängigkeiten usw. dazu. Dadurch wird die Liste immer länger.

Also ist es sinnvoll, die Veränderungen zu beobachten. Unser Erosionswachhund muss mit dem Versionskontrollsystem gekoppelt sein, um Verläufe aufzeigen zu können und, besonders wichtig, Information über geänderte Stellen ausgeben zu können. An den Dingen, die von mir im letzten Monat unter Druck eingebaut werden „mussten“, kann ich, sobald wieder etwas mehr Luft ist, noch etwas ändern.

Natürlich darf dieses Erosionssicherheitsnetz kein Freifahrtschein für schludrige Arbeit sein. Es ist genau das, was es ist: eine Sicherheitsmaßnahme. So wie ein Lawinenzaun eine Sicherheitsmaßnahme ist und uns keinen Freibrief für die Rodung ganzer Bergwälder geben kann.

Wenn die Qualität einer Software im Vordergrund steht, kann mittels einer Erosionsüberwachung tagesaktuell nachgewiesen werden, dass innere Qualität vorhanden ist. Durch den Einsatz im Prozess kann die Qualität beständig auf einem hohen Niveau gehalten werden. Werden Refactoring-Aktivitäten notwendig, weil sich die Architektur anpassen muss, dann kann konsistent geprüft werden, ob sich die Software in die richtige Richtung entwickelt.

Wichtige Schritte im Kampf gegen erodierende Software

Wenn wir uns entscheiden, dass wir keine erodierte Software mehr haben wollen, dann sind folgende Schritte notwendig:

Wir müssen uns Unterstützung sichern: Die innere Qualität unserer Software muss „Chefsache“ sein. Wenn wir als Entwickler keinen Rückhalt haben, dann fallen unsere guten Vorsätze schnell über Bord. Besonders die Rollen im Projekt, die selbst keine Software entwickeln, aber über den Druck gebieten, müssen innere Qualität fordern und fördern. Und sie müssen verstehen, dass eine saubere und wartbare Software für sie langfristig vorteilhaft ist.

(ID:326052)