Suchen

Hinweise auf drohende Software-Erosion und was Sie dagegen tun können

Autor / Redakteur: Ingo Pohle * / Sebastian Gerstl

Erfolgreiche Embedded-Software wird meist über einen langen Zeitraum hinweg entwickelt. Dabei kann es passieren, dass hin und wieder Beziehungen in den Code eingebaut werden, die dort nichts zu suchen haben. Mit der Zeit weicht die Software immer stärker von der geplanten Architektur ab – die Software-Erosion befindet sich in vollem Gange.

Firmen zum Thema

Software-Erosion ist der schleichende Verfall der inneren Qualität von Software. Ihre Konsequenzen sind ein erhöhter Aufwand beim Verstehen, Ändern und Testen: Die Fehlerrate steigt, die Termintreue sinkt. Wird diese Erosion nicht rechtzeitig erkannt und gestoppt, führt das zu einem verfrühten Ableben der Software.
Software-Erosion ist der schleichende Verfall der inneren Qualität von Software. Ihre Konsequenzen sind ein erhöhter Aufwand beim Verstehen, Ändern und Testen: Die Fehlerrate steigt, die Termintreue sinkt. Wird diese Erosion nicht rechtzeitig erkannt und gestoppt, führt das zu einem verfrühten Ableben der Software.
(Bild: Andrew Martin auf Pixabay / Pixabay )

Gerade bei langen Entwicklungszeiträumen ist es wichtig, die zugrundeliegenden Architekturvorgaben konsequent einzuhalten. Denn Verstöße wirken sich zwar erst später, dafür aber umso stärker aus.

Es gibt einige sichere Indikatoren für eine drohende oder bereits stattfindende Software-Erosion. Dazu gehört in den meisten Fällen folgendes:

  • Wartungen, Erweiterungen und Änderungen der Software erfordern immer mehr Zeit: Es ist zunehmend schwieriger, Updates in die Software zu implementieren, da der Überblick über und das Verständnis für die innere Qualität der Software verlorengegangen ist.
  • Die Software ist immer schwieriger testbar: Wenn ich die innere Qualität meiner Software nicht mehr kenne und überblicken kann, fallen auch Tests immer schwerer.
  • Software-Ausfälle häufen sich: Eine steigende Fehlerrate und ein zunehmender Rückgang der Performance, deren Ursache nicht gleich erkennbar ist, bringen oft Fehleinschätzungen für den Änderungs- und Anpassungsaufwand mit. Die Folge: Immer öfter werden Abgabetermine nicht eingehalten.

Der schleichende und schwer aufzuhaltende Prozess der Software-Erosion hat seinen Preis, der dazu noch sukzessive ansteigt. Die Anpassbarkeit wird immer schwieriger, die Programmfehler häufen sich, und die Software zeigt zunehmend Inkompatibilitäten mit neuen und zukünftigen Softwareumgebungen. Mit der Zeit wird Ihre Softwarelösung zu einem Altsystem und damit unbrauchbar.

Wie stoppt oder verhindert man Software-Erosion?

Ihre Kunden nehmen häufig nur die äußere Software-Qualität wahr, die im klassischen Software-Test sichergestellt wird. Zur Sicherung der inneren Qualität existiert in den meisten Projekten kein spezielles Rollenbild im Entwicklungsprozess. Kleine Verstöße gegen die Architektur in der lokalen Entwicklung bleiben häufig unbemerkt.

Erst mithilfe von statischer Programmanalyse lassen sie sich sichtbar machen. Mit dieser erkennen Sie genau die Indikatoren für eine schleichende Software-Erosion in der Architektur und im Applikationscode, und sie liefert Ihnen Auswertungen und Analysen der Software-Qualitätskriterien im laufenden Software-Entwicklungszyklus.

Dieser Beitrag ist eine Übernahme aus dem Unternehmens-Blog von Microconsult mit freundlicher Genehmigung des Urhebers.

* Ingo Pohle ist Mitgründer und Geschäftsführer der MicroConsult GmbH und international anerkannter Spezialist für Embedded-Lösungen, mit einem reichen Erfahrungsschatz rund um den Einsatz von Embedded-Mikrocontrollern, Bussystemen und RTOS.

(ID:45884344)