Praktisches & Grundsätzliches zur Informatik

Notwendige Voraussetzung akzeptabler Software-Qualität

Schon 1982 las man in der Computerwoche:


Softwarequalität darf kein Zufallsprodukt sein.

Dass Softwarequalität weder geplant noch gemessen und stets nur grob beurteilt wird,

darf nicht länger akzeptiert werden.


Was aber hat sich seit damals geändert?


Leider rein gar nichts!

Immer noch ist Qualität zu produzieren für Software-Entwickler eine ungeliebte, nur halbherzig angegangene Nebenaufgabe, die zu kurz kommt, wenn Zeit oder Budget knapp werden.


Schlimmer noch: Methodiker haben noch nicht mal definiert, was sie als Grundvoraussetzung für erfolg­reiche Implementierung und Kontrolle von Software-Qualität sehen.

Was ich über drei Jahrzehnte hinweg erlebt habe, zeigt ganz klar:

Schon im Vertrag zwischen Auftraggeber und Auftragnehmer sollte deutlich festgehalten sein,
dass der Entwicklungsauftrag frühestens dann als abgeschlossen gilt, wenn

  • eine erste Version der neuen Software produktiv gesetzt und als brauchbar anerkannt wurde (1),
  • es dazu eine vom Auftraggeber als vollständig anerkannte schriftliche Definition aller an sie gestellten Anforderungen gibt (2), und zudem
  • eine regressionsfähige Test-Suite existiert (3), die geeignet ist, die Software über ihren gesamten Lebenszyklus hinweg so zu begleiten, dass automatisch ablaufbarer Test jede Neuinstallation um­fassend gegen (2) zu prüfen in der Lage ist.

    Diese Suite als notwendigen Teil des Produkts zu sehen, ist wichtig. Sie gelte erst dann als abgenommen, wenn der Auftragnehmer sie schriftlich als vollständig (und zur ersten Version des Systems passend) anerkannt hat.

    Die erste Version dieser Testsuite bereitzustellen, sollte Aufgabe des Entwickler sein, da er nur dann bestrebt sein wird, die Architektur und Programmierschnittstelle der Anwendung so zu gestalten, dass Testautomatisierung kostengünstig möglich ist.

Bitte zudem berücksichtigen:

Es liegt im Interesse des Auftraggebers darauf zu bestehen, dass der Software-Entwickler dokumentiert, wie er denkt sichergestellt zu haben, dass die Total Cost of Ownership (TOC) des Systems so minimal wie nur möglich wird.

Wo man solche Dokumentation nicht fordert, wird der Software-Entwickler nämlich absolut nichts für die Minimiering der TOC tun. Sie kommt dann auf die Eigentümer und Betreiber des Systems zu als ein recht teures Trojanisches Pferd, das loszuwerden nicht mehr gelingt.

Welcher gut vermeidbare Kostentreiber hier verborgen ist, wird kaum jemand bewusst (und vor allem nicht, bevor es zu spät ist).

In diesem Zusammenhang lese man auch Agile Methods (so far) ignore CIO’s Interest.
Wissenswertes zu "Software Qualität Voraussetzung" zusammengestellt durch Gebhard Greiter.
tags: seiteEntwicklerSystemsAuftraggeber: Entwickler1gegreit Systems1gegreit Auftraggeber1gegreit