7 Warnzeichen, die schlechte Software entlarven

Wenn Software zur Last wird

25.06.2013 von Nicolas Zeitler
Tests dauern lang, die Wartung wird immer teurer: Die Software Improvement Group nennt Warnzeichen, die andeuten, dass eine Software bald zur großen Last wird.
Sieuwert van Otterloo von der Software Improvement Group spricht sich für schlank programmierte Software aus: Eine Funktion sollte nicht an mehreren Stellen im Code hinterlegt sein.
Foto: SIG

Software-Altlasten schleppen viele Unternehmen mit sich herum. Schlimmstenfalls sind sogenannte Legacy-Systeme, die seit vielen Jahren im Einsatz sind, irgendwann nicht oder kaum mehr zu warten - weil der Aufwand zu hoch ist oder sich niemand mehr mit ihnen auskennt.

Zum Teil liegt der steigende Pflegeaufwand daran, dass der Anbieter ein Produkt nicht mehr unterstützt. Die Gefahr, dass ein System mit der Zeit unwartbar wird, ist aber auch erhöht, wenn der zugrunde liegende Code schlecht ist, sagt Sieuwert van Otterloo, Principal Consultant beim auf Software-Qualität fokussierten Beratungsunternehmen Software Improvement Group (SIG) in Amsterdam. Der Berater beschreibt sieben Symptome, die CIOs andeuten, dass eine Software in Bälde zu einer großen Last werden könnte.

Wenn Software zur Last wird
Tests dauern lang, die Wartung wird immer teurer: Die Software Improvement Group nennt Warnzeichen, die andeuten, dass eine Software bald zur großen Last wird.
1. Lizenzgebühren steigen stark an
Am Ende des Lebenszyklus einer Software heben viele Anbieter die Preise stark an - um bis zu 40 Prozent, beobachtet die SIG. Zum Teil sei das ein ausdrückliches Signal an die Kunden, dass der Anbieter bald keinen angemessenen Support mehr bieten werde. Das hat an sich nichts mit der Qualität der Software zu tun.
2. Verzögerungen bei Tests
Dass vor allem umfangreiche Programme zu Anfang Fehler enthalten, ist Normalität. Tests und Bug-Fixing sind daher feste Bestandteile des Entwicklungszyklus. Dauert es allerdings viel länger als vorgesehen, Kinderkrankheiten zu beheben, könnte das daran liegen, dass die Software nur schwer zu analysieren oder zu ändern ist.
3. Funktionen sind doppelt vorhanden
Je aufwändiger die Wartung eines alten Systems wird, umso größer wird für IT-Abteilungen die Versuchung, eine Funktion nochmals in einem neuen System abzubilden - statt die nötigen Änderungen in der alten Software umzusetzen.
4. Die Standard-Wartung bindet viel Budget
In gesunden IT-Systemen stehe der Großteil des Unterhalts-Budgets zur freien Verfügung, etwa für neue, vom Business geforderte Funktionen - die dem Unternehmen einen Gewinn versprechen. In Software minderer Qualität hingegen sei der CIO gezwungen, das meiste Geld für den schlichten Unterhalt auszugeben, um Fehler zu beheben oder Updates ohne wirklichen Mehrwert durchzuführen.
5. Fachkräfte kaum zu finden
Vor allem für veraltete Systeme finden Unternehmen mit der Zeit immer weniger Entwickler, die sich auskennen. Das muss nicht zwingend etwas damit zu tun haben, dass ein System von schlechter Qualität ist. Kann es laut van Otterloo allerdings: Die besten Entwickler befassten sich schließlich mit Systemen, die sie für gut und zukunftsträchtig halten.
6. Hohe Kosten für kleine Anforderungen
In schlechter Software kommen selbst kleine Änderungen das Unternehmen teuer. Schon die Analyse, wo genau die Änderung zu machen ist, ist aufwändig. Womöglich muss dieselbe Änderung an mehreren Stellen im Programm-Code getätigt werden. Ist das einmal erkannt, kann es in einen Teufelskreis münden: Firmen schieben kleine Änderungen auf, bis die Software immer schlechter zu nutzen ist.
7. Lange Release-Zyklen
Was bei gut programmierter Software Wochen dauert, kann sich bei schlechten Systemen zu Monaten auswachsen, sagt Sieuwert van Otterloo. Das zeigte sich beim Internetportal eines großen Finanzdienstleisters, den die SIG betreute. Neue Bedienfunktionen für die Kunden oder spezielle Angebote zu Anlässen wie Weihnachten: Das Unternehmen wollte derlei Änderungen schnell implementieren.

1. Lizenzgebühren steigen stark an

Am Ende des Lebenszyklus einer Software heben viele Anbieter die Preise stark an - um bis zu 40 Prozent, beobachtet die SIG. Zum Teil sei das ein ausdrückliches Signal an die Kunden, dass der Anbieter bald keinen angemessenen Support mehr bieten werde. Das hat an sich nichts mit der Qualität der Software zu tun. Sieuwert van Otterloo allerdings sagt: "Ist der Code gut, lässt sich auch eine alte Software noch warten, die nicht mehr unterstützt wird." Für ein wichtiges Merkmal guter Software hält der Berater, dass sie schlank programmiert ist - soll heißen: Dieselbe Funktion ist nicht an mehreren Stellen im Code hinterlegt.

2. Verzögerungen bei Tests

Dass vor allem umfangreiche Programme zu Anfang Fehler enthalten, ist Normalität. Tests und Bug-Fixing sind daher feste Bestandteile des Entwicklungszyklus. Dauert es allerdings viel länger als vorgesehen, Kinderkrankheiten zu beheben, könnte das daran liegen, dass die Software nur schwer zu analysieren oder zu ändern ist.

Van Otterloo berichtet von einem Unternehmen, das bei einem Dienstleister zu einem Fixpreis eine Versicherungs-Plattform entwickeln ließ. Durch den Festpreis motiviert, setzte der Anbieter Junior-Entwickler auf das Projekt an. Die anfangs auf zwei Monate veranschlagten Tests dauerten letztlich ein ganzes Jahr. "Offenbar hat der Anbieter die Komplexität unterschätzt, die Entwicklung nicht überwacht und deshalb Fehler erst spät entdeckt", sagt van Otterloo. Das zunächst günstige Projekt wurde für den Auftraggeber zuletzt sehr teuer - denn im Festpreis war nur ein Teil der zur Behebung aller Fehler nötigen Tests enthalten.

3. Funktionen sind doppelt vorhanden

Je aufwändiger die Wartung eines alten Systems wird, umso größer wird für IT-Abteilungen die Versuchung, eine Funktion nochmals in einem neuen System abzubilden - statt die nötigen Änderungen in der alten Software umzusetzen. Eine kurzfristige Strategie, wie Sieuwert van Otterloo schreibt. "Aber etwas, das wir sehr oft sehen", sagt der Berater. Häufig werde die SIG von Unternehmen gerufen, zwei Systeme mit nahezu denselben Funktionen zu vergleichen. Nicht selten sie die Redundanz Folge eines Firmenzusammenschlusses oder einer Übernahme. Sieuwert van Otterloo plädiert dafür, eine Funktion nur in einem System zu verorten. Bei nötigen Änderungen falle sonst immer die doppelte Arbeit an. "Man braucht ja auch mehr Leute dafür."

4. Die Standard-Wartung bindet viel Budget

In gesunden IT-Systemen stehe der Großteil des Unterhalts-Budgets zur freien Verfügung, etwa für neue, vom Business geforderte Funktionen - die dem Unternehmen einen Gewinn versprechen. In Software minderer Qualität hingegen sei der CIO gezwungen, das meiste Geld für den schlichten Unterhalt auszugeben, um Fehler zu beheben oder Updates ohne wirklichen Mehrwert durchzuführen.

Zu diesem Zustand kommen kann es aus Sicht von van Otterloo, wenn die IT neue Funktionen immer wieder auf eine bestehende Software einfach aufpfropft. "Das macht das System komplexer, und am Ende geben Sie bis zu 80 Prozent des Geldes für notwendige Wartungsschritte aus", sagt der Berater. Vermeiden lasse sich diese Situation, wenn vor einer Weiterentwicklung der bestehende Code analysiert werde. "Man sollte den Code aufräumen, bevor man immer wieder Features dazu entwickelt", sagt van Otterloo.

5. Fachkräfte kaum zu finden

Vor allem für veraltete Systeme finden Unternehmen mit der Zeit immer weniger Entwickler, die sich auskennen. Das muss nicht zwingend etwas damit zu tun haben, dass ein System von schlechter Qualität ist. Kann es laut van Otterloo allerdings: Die besten Entwickler befassten sich schließlich mit Systemen, die sie für gut und zukunftsträchtig halten.

440 Millionen Dollar futsch - in nur 45 Minuten
Die frisch installierte Software eines Börsenhandelsunternehmens verursachte einen Schaden von 440 Millionen US-Dollar, nachdem sie innerhalb von 45 Minuten eine große Menge von über hundert verschiedener Aktiensorten an- und wieder verkaufte. Ein fehlerhafter Software-Algorithmus erwarb die Aktien zum Marktpreis und stieß sie zu Angebotspreisen wieder ab, wodurch bei jeder einzelnen Transaktion mehrere Cents verloren gingen. Der rege Handel trieb die Preise der betroffenen Aktien schnell nach oben. Das führte zu spektakulären Verlusten des Börsenhändlers, als dieser die vorübergehend überbewerteten Aktien zu einem niedrigeren Preis wieder verkaufen musste.
Softwarefehler lässt Flugreisende stranden
Gleich dreimal richtete ein Computerfehler im vergangenen Jahr bei einer US-amerikanischen Fluggesellschaft Chaos unter Tausenden von Reisenden an. Flüge wurden zum Teil um Stunden verzögert. Ein Hänger in der Abfertigungssoftware führte zu Hunderten verspäteter Flüge in den USA und weltweit. Ein zweistündiger Systemausfall hielt 636 von 5.679 angesetzten Flügen auf. Zehn Flüge wurden ganz gestrichen.
Soldaten müssen Sportler schützen
Ein internes Problem eines Computersystems verursachte im vergangenen Sommer eine fehlerhafte Berechnung der benötigten Sicherheitsteams für eine internationale Sportveranstaltung. Die falsche Schichtplanung führte dazu, dass Soldaten als Sicherheitspersonal einspringen mussten.
Börsengang eines Social-Media-Giganten mit Hindernissen
Technologieprobleme beeinträchtigten den Handel mit Aktien eines großen Social-Media-Portals, nachdem wegen Software-Fehlern das System für den Aktienhandel Kaufgebote und -annullierungen nicht korrekt verarbeitete. So wurden Bestellungen entweder falsch oder gar nicht abgewickelt. Diese Panne beeinträchtigte den Handel mit 30 Millionen Aktien.
Virus klaut Gewinn
Ein Glücksspieler, der davon ausging, mehr als eine Million US-Dollar gewonnen zu haben, ging trotz seines Überraschungsgewinns bei einem Online-Spiel am Ende vor Gericht fast leer aus. Ein Software-Fehler hatte die Gewinnsumme wesentlich höher dargestellt, als sie in Wirklichkeit war. Da dieser Ausnahmefall durch die allgemeinen Geschäftsbedingungen des Online-Games abgedeckt war, konnte der Spieler den zunächst angezeigten Gewinn juristisch nicht geltend machen.
Börse muss eigenen Börsengang zurückziehen
Ein Börsenunternehmen sah sich gezwungen, seinen Börsengang über das hauseigene Handelssystem abzubrechen. Ursache war ein Computerfehler, der einen technischen Fehler auf der eigenen Handelsplattform verursachte. Das Problem trat sofort auf, als die Börse den Ticker der Aktie darstellen sollte und dabei nicht in die übliche kontinuierliche Handelsroutine überging. Dadurch kam der Handel mit der Aktie zum Erliegen, bevor er überhaupt begonnen hatte.
Schaltjahr bringt Bezahlsysteme zum Stillstand
Ein Ausfall in den Cloud-Computing-Services eines führenden multinationalen Unternehmens beeinträchtigte sowohl Regierungen als auch Konsumenten – wegen des zusätzlichen Schaltjahrtags im Februar 2012. Die gleiche Schaltjahrespanne zog ein von Krankenversicherungen verwendetes australisches Bezahlsystem in Mitleidenschaft. Dadurch konnten 150.000 Patienten zwei Tage lang die Bezahlfunktion ihrer privaten Krankenversicherungskarte nicht mehr benutzen.
Probleme mit neuem Steuersystem
Nach einem Upgrade ihrer Software-Systeme, das insgesamt über 1,3 Milliarden US-Dollar kostet, hatten US-Steuerbehörden mit gravierenden Problemen bei der Steuerrückerstattung zu kämpfen. Bei der Bearbeitung der elektronisch übermittelten Erstattungsanträge kam es zu erheblichen Verzögerungen. 85 Prozent der Rückzahlungen verspäteten sich um 23 Tage oder mehr.
Stromrechnungen kommen zu spät und sind auch noch verkehrt
Ein australischer Energieversorger schickte Tausenden seiner Kunden Mahnungen für Rechnungen, die diese wegen eines Computer-Fehlers nicht erhalten hatten. Währenddessen zog ein deutsches Energieunternehmen bei 94.000 seiner Kunden zu viel Geld ein. Grund war ein Software-Fehler, der ohne Grund Kündigungsgebühren berechnete. Dies kostete den Versorger rund 1,7 Millionen Euro an Ausgleichszahlungen.

6. Hohe Kosten für kleine Anforderungen

In schlechter Software kommen selbst kleine Änderungen das Unternehmen teuer. Schon die Analyse, wo genau die Änderung zu machen ist, ist aufwändig. Womöglich muss dieselbe Änderung an mehreren Stellen im Programm-Code getätigt werden. Ist das einmal erkannt, kann es in einen Teufelskreis münden: Firmen schieben kleine Änderungen auf, bis die Software immer schlechter zu nutzen ist.

Eine Ursache, dass der Änderungsaufwand besonders hoch wird, sieht van Otterloo in schlechter Modularität. Auf diesen Fall traf der Berater bei einem System zur Rentenberechnung: "Eigentlich war nur eine Änderung zu machen, weil es so viele Redundanzen gab, musste sie aber an vielen Stellen gemacht werden; das hat den Aufwand deutlich erhöht."

7. Lange Release-Zyklen

Was bei gut programmierter Software Wochen dauert, kann sich bei schlechten Systemen zu Monaten auswachsen, sagt Sieuwert van Otterloo. Das zeigte sich beim Internetportal eines großen Finanzdienstleisters, den die SIG betreute. Neue Bedienfunktionen für die Kunden oder spezielle Angebote zu Anlässen wie Weihnachten: Das Unternehmen wollte derlei Änderungen schnell implementieren. Allerdings griff das Internetportal auf eine Vielzahl großer Backend-Systeme mit langen Release-Zyklen zurück. Das machte kurzfristige Neuerungen schier unmöglich. Natürlich konnte der Finanzdienstleister nicht einfach seine Backend-Systeme austauschen. Van Otterloo sagt: Schon viel früher hätte das Unternehmen Qualitätskontrollen einbauen müssen, um die Systeme gar nicht erst so schwerfällig werden zu lassen.

Dieser Artikel basiert auf einem Beitrag der CW-Schwesterpublikation CIO.de. (mhr)