Der Klassiker: Irgendetwas cooles wird auf einer Messe gezeigt und man entscheidet sich die Anwendung für viel Geld zu kaufen und bei der Einführung merkt man relativ schnell, dass es einen haufen Kinderkrankheiten gibt und man wird stutzig, dass andere Kunden das bisher nicht bemängelt haben und dann kann man eigentlich nur zu einem Schluss kommen. Nämlich dass es noch gar keine wirklichen anderen Kunden gibt und man gerade das Versuchskaninchen spielt.
Nach kurzer Zeit fällt einem dann auf, dass die coolen Funktionen von der Messe nur in bestimmten Fällen funktionieren und bei weitem nicht ausgereift sind, da vermeintlich einfache Sonderfälle gar nicht berücksichtigt werden. Kein Wunder, denn vermutlich hat der Hersteller mit nichts anderem als den Daten aus seinen drei Testfällen getestet. Deshalb stürzt das Programm auch einfach ab, wenn man beispielsweise einen Namen in das Feld „Telefonnummer“ schreibt oder wenn man in eine freie Fläche der Programmoberfläche klickt.
Woran liegt es, dass das passiert? Ganz einfach daran, dass es kaum eine andere Branche als die Softwarebranche gibt in der es völlig normal ist unfertige, ungetestete Pre-Alpha-Versionen auf den Markt zu werfen und das ganze dann erst rund zu machen, wenn es bereits bei einem Kunden im Produktiveinsatz mit echten Kunden- oder Mitarbeiter-Daten ist (!). An sich eigentlich eine Unart.
Übertragen z. B. auf die Autoindustrie wäre es so, als wäre einem das hier verkauft worden:
Aber man hat dann stattdessen dann das bekommen:
Gut, beschissene und manipulierte Autos werden auch verkauft, aber ich glaube selten welche bei denen komplett vergessen wurde die Bremse einzubauen oder wo sich das Lenkrad nur nach links und dann auch nicht mehr zurückdrehen lässt. Bei Software gibt es da nahezu keine Grenzen an unfertig ausgelieferten Prdoukten. Da ist man gerade mit 180 km/h unterwegs und der Hersteller baut währenddessen erst die Bremse ein 😀
Warum gibt es oftmals keinen Rückweg mehr?
Die Software, oder ein Teil davon, wird schon produktiv genutzt und ist in das Tagesgeschäft eingebunden. Mitarbeiter sind schon geschult und sind zu blöd (sorry, aber das ist meistens tatsächlich so) das gelernte Wissen aus Programm A auf Programm B, wo die Icons etwas anders aussehen, zu übertragen, falls man die Software wieder wechseln würde. Die Zeit für das Einrichten, den eventuellen Daten-Import aus Alt-Software, der Kauf von Schnittstellen bei anderen Herstellern, etc. sind bereits verschwendet und bezahlt. Hier beginnt dann die Rechnung ob es sich lohnt komplett von vorne anzufangen oder Geld der schlechten Lösung hinterher zu werfen und zu hoffen, dass diese irgendwann so funktioniert, wie es auf der verdammten Messe gezeigt worden ist.
Was ist das Gemeine seitens des Software-Herstellers?
Eigentlich müsste er einen als Kunden dafür bezahlen, dass man sein „schlampiges“ Testverhalten ausbaden muss und die Arbeit einer internen Test-Abteilung übernimmt und mit den Problemen auch noch in einer produktiven Umgebung zu kämpfen hat.
Wie sieht das eigentlich mit der Haftung für Fehler aus?
Zu diesem Thema habe ich schon einmal recherchiert wegen eines Fehlers der in einer produktiven Umgebung auftrat. Grundsätzlich kann sich der Softwarehersteller nicht von der Haftung freisprechen. Das wäre auch ziemlich dumm, denn dann würde er mehr oder weniger folgende Aussage treffen: „Du benutzt unsere Software auf eigene Gefahr. Die ist zwar super, aber wenn irgendetwas nicht funktioniert, dann bist du selber schuld weil du unseren Schrott gekauft und benutzt hast“.
Die Fehler die durch eine Software passieren können, können ein Maß annehmen durch welches viel Geld vernichtet, vielleicht sogar in Unternehmen pleite geht. In kritischeren Bereichen, beispielsweise in der Medizin, könnte es sogar zum Tode von Menschen führen.
Es könnte beispielsweise recht teuer werden, wenn aufgrund eines Fehlers in einer Logistiksoftware die Produkte nicht richtig ausgeliefert werden und die Kunden sauer werden und ihre Bestellungen stornieren, oder wenn bei einer Bank falsche Buchungen auf Girokonten ausgeführt werden, oder wenn aufgrund der falschen Zeitberechnung die monatlichen Abrechnungen und Gehaltszahlungen an die Mitarbeiter falsch ausgeführt werden, etc.. Gerade durch die Nutzung der Software, durch die ja manuelle Arbeit wegfallen soll, ist dann auch direkt die ganze Belegschaft oder die ganze Kundschaft betroffen!
Wenn der Software-Hersteller grob fahrlässig gearbeitet hat wird diesem vermutlich auch seine Haftpflichtversicherung nicht den Arsch retten. Ich könnte mir vorstellen, dass diese bei nicht vorhandenen Dokumentationen, Testprotokollen, Planungsunterlagen oder dergleichen diesem unterstellen könnte, dass man bei der Entwicklung der Software in Bezug auf die Fehlervermeidung grob fahrlässig gehandelt hat, in dem man sich nicht einmal die Mühe gemacht hat zu versuchen mögliche Fehlerquellen zu identifizieren und bestmöglich vorzubeugen. Aber wahrscheinlich passiert meistens einfach gar nichts, weil man als Kunde irgendwie mit der Situation „lebt“ sofern man nicht dadurch insolvent geht.