Software kostet Geld. Und schlechte Software kann schon mal ein Vermögen kosten. Selbst die größten Unternehmen wie die Deutsche Post oder Lidl sind gegen Probleme nicht gefeit und haben in den letzten Jahren Millionen verbrannt. Die Beispiele sind erschreckend - und oft vermeidbar. Wir sagen wie.

Die Deutsche Post zählt zu den zehn umsatzstärksten Unternehmen Deutschlands - und hat im Alltag mit veralteten, nicht mehr zeitgemäßen IT-Systemen zu kämpfen. "Wir haben eine alternde und heterogene IT-Landschaft", gibt der Konzern gegenüber der Branchenzeitschrift “trans aktuell” zu. Problem erkannt, Problem gebannt? Leider nicht. Die Post hat daraufhin das Projekt “New Forwarding Environment” (NFE) gestartet. Damit sollte das mehr als 30 Jahre alte IT-System “Logis” ersetzt werden. Das Projekt scheiterte, mehr als 500 Millionen Euro waren verbrannt und die Wirtschaftswoche titelte: “Das Computerchaos des Frank Appel”. Prozesse sollten vereinheitlicht werden und statt dass ein DHL-Mitarbeiter für den Auftrag eines Kunden zuständig ist, sollte der Auftrag automatisch durch das neue System und damit durch die Abteilungen wandern. Letztlich hat es nur dazu geführt, dass sich niemand mehr zuständig gefühlt hat. Auch das Befüllen des Systems mit Kundendaten sorgte für Chaos. Zunächst sollte dies durch die Mitarbeiter geschehen - dann wurde die Aufgabe an eine Fremdfirma ohne Fachkenntnisse vergeben und Fehler häuften sich. Jeder Fehler in der Datenbank verursachte Folgefehler und machte das System somit unbrauchbar. Obwohl das IT-System noch nicht fehlerfrei lief, begann der Umbau der Abteilung und das Chaos war perfekt. Der zuständige Vorstand wollte den letzten Schritt vor dem ersten machen, sagt ein ehemaliger DHL Manager in der Wirtschaftswoche.

“WaWi” und “Elwis” - Milliardengrab bei Lidl

Auch der Lebensmitteldiscounter Lidl hatte mit Softwareproblemen zu kämpfen. Das in die Jahre gekommene konzerneigene Warenwirtschaftssystem “WaWi” sollte durch eine neue SAP-Lösung ersetzt werden. SIeben Jahre und 500 Millionen Euro später ist “Elwis” (elektronisches Lidl-Warenwirtschaftsinformationssystem) wieder Geschichte und Lidl hat beschlossen die eigene Software doch weiter zu entwickeln. Dabei war vorher der Entschluss gefasst worden, auf eine SAP-Retail-Lösung zu setzen um die Verwaltung von 10.000 Filialen und 140 Logistikzentren zu vereinfachen. Mit hohem Aufwand wurde versucht dieses System auf die Lidl-Vorgaben anzupassen. SAP-Retail arbeitet üblicherweise mit den Einkaufspreisen, Lidl jedoch mit den Verkaufspreisen. Was nach einer Kleinigkeit klingt, war eine fundamentale Änderung und hat das System gegen den Strich gebürstet, unkalkulierbare Risiken und Kosten verursacht - und führte letztlich nach sieben Jahren zum Abbruch.

A2LL - eine Misserfolgsgeschichte

Es gibt ärgerliche Software-Probleme, es kann aber auch drastische Folgen für Betroffene geben. So geschehen bei der Einführung von A2LL, was für „Arbeitslosengeld II – Leistungen zum Lebensunterhalt” steht. Die Software wurde von Beginn der 2000er Jahre bis 2015 eingesetzt - mit massiven Startschwierigkeiten. Geplant war die Software für Erfassung und Verwaltung von finanziellen Leistungen für Hilfsempfänger. Viele Fehler hatten sich eingeschlichen. Zum Beispiel wurden Kontonummern falsch herum “aufgefüllt”, so dass aus der Kontonummer 123456 die Nummer 123456000 wurde - richtig wäre 000123456 gewesen. Hierdurch konnten Zahlungen nicht zugeordnet werden und kamen nicht beim vorgesehen Empfänger an. Zur Problemlösung wurden Barschecks eingesetzt - allerdings kam es hier zu falsch gekürzten überlangen Straßennamen, so dass wiederum die Leistung nicht das vorgesehene Ziel erreichte. Innerhalb des ersten Jahres überwies die Software wiederum 25 Millionen Euro zu viel an Beiträgen an verschiedene Krankenkassen. Diese hatten an komplizierten Rückbuchungen zu leiden. Grund hierfür war, dass aktuelle Gesetzesänderungen nicht zeitnah in die Software eingepflegt werden konnten. Mittlerweile läuft die Nachfolgesoftware “Allegro”, die weniger Probleme bereitet.

Was wir anders machen

Was können diese Beispiele zeigen? Kein Unternehmen ist vor schlechter Software geschützt. Wir nehmen diese Schwierigkeiten ernst und haben über die Zeit auch einige Strategien entwickelt solchen Herausforderungen frühzeitig zu begegnen. Niemand sagt Softwareentwicklung sei einfach, aber die ist beherrschbar und so kommen wir gemeinsam mit unseren Kunden zuverlässig zu sehr guten Ergebnissen.

  1. Anforderungsmanagment

    Wir haben Spezialisten, die nichts anderes tun, als sich mit Ihren Zielen zu beschäftigen und diese nicht nur in Dokumente, sondern auch in Mockups und Klickdummies (siehe unten) zu übersetzen. Was möchte unser Kunde mit der neuen Anwendung erreichen und wer sind die Anwender? Wir können uns dabei auch über Technik unterhalten, wir müssen es aber nicht. Das Wichtigste für uns ist, Ihre Ziele und die Rahmenbedingungen zu verstehen. Mit der Technik kennen wir uns bestens aus - wenn Sie mögen erklären wir Ihnen, was wir weshalb wie umsetzen, wenn nicht tun wir es einfach und Sie profitieren vom Ergebnis.

  2. Mockups und Dummies

    Mit einem Bruchteil des späteren Projektbudgets können vor der technischen Umsetzung bereits die Benutzeroberfläche der späteren Anwendung entworfen werden, die sogenannten Mockups. Diese Mockups können zu Klickdummies weiterentwickelt werden. Mit Diesen kann ohne Programmieraufwand bereits das spätere Verhalten der Anwendung simuliert werden. Dadurch können Anwender und Entscheider sehr genau sehen, was sie später erwartet, wodurch ein Gap zwischen Erwartung und Umsetzung auf ein absolutes Minimum reduziert werden kann. Kleine Abweichungen lassen sich nicht vermeiden, aber 1-2 % Abweichung sind in der Praxis völlig unproblematisch und können ggf. immer noch ausgebessert werden. Abweichungen von 20 und mehr Prozent wären schnell das Ende eines Projektes.

  3. Iteratives/”agiles” Vorgehen

    Wir versuchen gar nicht erst, im ersten Anlauf den ganz große Wurf zu landen. Alle vorgenannten Projekte haben gemeinsam, dass man versucht hat direkt mit einem großen Funktionsumfang auf die Anwender zuzugehen. Das führt zu langen Entwicklungszeiten und damit zu finanziellen und funktionalen Risiken. Wir planen kleine Arbeitspakete von einigen Wochen bis wenigen Monaten, so dass Auftraggeber und Anwender schnell sehen, wo die Reise hin geht, Unzulänglichkeiten überschaubar bleiben, schnell gefunden und behoben werden können.

  4. Softwarearchitektur

    Neben der Gestaltung der Oberfläche braucht eine Anwendung auch ein technisches Design. Dieses legt fest, wie die geplante Funktionalität in Komponenten zerlegt wird und wie diese miteinander Daten austauschen. Projekte, die scheitern, sind meist sogenannte Monolithen, bei denen versucht wird alle Funktionionalität in einer Codebasis zu realisieren. Das macht es schwierig mit vielen Personen gleichzeitig an einem Projekt zu arbeiten, da man sich schnell gegenseitig auf den Füßen steht. Auch beeinflusst sich alles gegenseitig und wenn eine Funktionalität ein Problem hat, haben die anderen meist auch eines. Besser ist es ein System im Sinne von Self-Contained Systems in einzelne unabhängig Bestandteile zu zerlegen, was jedoch einer gemeinsame Benutzeroberfläche nicht im Wege steht. Die Online-Shops von Otto oder Amazon sind Beispiele für eine solche Architektur, sie lässt sich aber auch auf beliebige andere Branchen und Anwendungen übertragen.

  5. Planung

    Ein besonders erfahrener Programmierer plant mit Kollegen zusammen wie man im Detail bei der Umsetzung vorgeht und welche Technologien eingesetzt werden sollen. Erst dann geht es ans eigentliche Programmieren.

  6. Vier-Augen-Prinzip

    Wir setzen dabei stark auf Pair-Programming: zwei Programmierer arbeiten gemeinsam an der gleichen Aufgabe. Ein bisschen wie bei der Polizei, einer geht vor, der andere sichert ab. Damit auch wirklich nichts schief geht, gibt es danach noch ein Code-Review: Hier kommt wieder ein besonders erfahrener Programmierer ins Spiel. Er beurteilt den Code, gibt Feedback und nimmt den Code letztlich ab. So können konkrete Bugs vermieden werden, aber auch “Spagetticode” und Architekturprobleme können in der Entstehung erkannt und vermieden werden.

  7. Updates

    Wir lassen Sie nie im Unklaren. Auch während des Prozesses halten wir Rücksprache mit Ihnen und halten Sie über alle wichtigen Entwicklungen auf dem laufenden. Gibt es geänderte Anforderungen, haben Sie Fragen? Wir bleiben dran.

  8. Tests

    Jede Funktionalität die neu implementiert wird, wird intensiv und gewissenhaft getestet bevor wir diese an Sie ausliefern.

  9. Betrieb

    • Sie haben eigene Admins und vielleicht sogar ein eigenes Rechenzentrum? Sehr gut. Wir versorgen Sie mit allen nötigen Informationen und unterstützen wo nötig.
    • Sie haben keine eigenen Kapazitäten für den Betrieb von Software? Gar kein Problem! Wir übernehmen für Sie alle Fragen rund um Deployment, Monitoring, Backups. Kurz: alles was für den sicheren und stabilen Betrieb von Software nötig ist.

Haben Sie Fragen oder Anregungen? Gerne besprechen wir Ihr Projekt mit Ihnen unverbindlich und kostenfrei. Melden Sie sich gerne per Telefon oder E-Mail bei uns!

PS: Software-Probleme können auch im Weltraum zum Problem werden. Etwa wenn eine Sonde mit 300 km/h im Marsboden einschlägt, statt sanft zu landen. Aber das ist eine andere Geschichte.