Bugs, Bugs, Bugs
Viele kennen es. Man möchte in Eile noch schnell etwas ausdrucken. Der Drucker funktioniert jedoch nicht, der Billetautomat auch nicht. Und der Zug bleibt auf offener Strecke stehen, vermutlich wegen eines Software Bugs. Leider wurde noch kein Mittel entwickelt, um diese lästigen Viecher gänzlich auszurotten. Bereits 1977 hat Caspers Jones abgeschätzt, dass pro 1000 Zeilen Code mit einer bestimmten Anzahl Bugs zu rechnen ist, welche falsche Ergebnisse oder unerwartetes Verhalten von Computerprogrammen verursachen. Aus Compliance Sicht ist also immer mit Bugs zu rechnen. Was bedeutet das?
Bug free? No!
Die Zahlen von Jones sind irritierend. Bei grösseren Programmen ist mit 4 bis 100 Fehler pro KLOC (1000 lines of code) zu rechnen. Die Boeing 787 Dreamliner (Mark Wagner, Guy Norris) enthält rund 6500 KLOC. Somit ist total zwischen 26'000 und 650'000 Fehlern zu rechnen. Man wundert sich, weshalb nicht mehr Software Probleme auftauchen. Ein Grund ist, dass nicht alle Bugs gleich häufig in Erscheinung treten. Systeme, die schon längere Zeit intensiv genutz werden, enthalten tendenziell weniger häufig auftretende Bugs, als Neuentwicklungen. Tatsache ist aber ist, dass auch bei altgedienten Legacy Systemen Bugs nicht generell auszuschliessen sind. Aus Compliance Sicht soll man also nicht in der Kategorien "bug free" denken, sondern einen risikobasierten Ansatz verfolgen, um die Häufigkeit und Auswirkungen von Bugs zu reduzieren.