Nehmen wir uns als erstes mal den Qualitätsbegriff vor. Hier ein Zeitgenosse der sicherlich provozieren möchte.
«Qualität ist der Name für die unverschämt übertriebenen Erwartungen der Konsumenten an Waren und Dienstleistungen.» - Prof. Querulix ©
Heute wird häufig für «Qualität» auch die Bezeichnung «Excellence» gebraucht. Ob dieser Trend der Begriffswahl zutreffender ist, soll jeder für sich selbst entscheiden. Allerdings habe ich in Bezug auf Softwarequalität noch nie den Begriff Software Exzellenz gehört. Hier entzieht sich die Informatik tatsächlich einmal dem aktuellen Trend. Vielleicht klingt es auch einfach nicht sonderlich gut; die Software Exzellenz.
Der Qualitätsbegriff wird nicht einheitlich verwendet. Subjektive Vorstellungen, kulturelle Einflüsse und das jeweilige Bezugsobjekt spielen eine Rolle. Der Mediziner Avedis Donabedian definiert Qualität als Grad der Konformität, der zwischen der tatsächlichen Behandlung und den Anforderungen besteht. David A. Garvin’s unterscheidet dagegen mehrere Qualitätsdimensionen: transzendent, produktbezogen, anwenderbezogen, wertorientiert und fertigungsbezogen.
«Qualität heißt, weniger Ärger mit den Kunden. Sie lindert den Schmerz, den der Preis verursacht. Natürlich kostet Qualität, aber fehlende Qualität kostet mehr.» - Hans-Jürgen Quadbeck-Seeger©
Wie definieren wir aber die Qualität von Software. Die ISO Norm 25010 gibt uns eine Systematik an die Hand, in der die Qualitätsmerkmale, die für Software gelten sollen, aufgeführt sind. Allerdings finde ich es nicht sonderlich gut, dass man für die offizielle Dokumente des Standards zur Kasse gebeten wird.
«Qualität ist der Grad, in dem ein Satz inhärenter Merkmale Anforderungen erfüllt.» - ISO9000
Ich benutze diese Systematik gern auch als Checkliste bei der Anforderungsdefinition, u.a. um zu verifizieren, ob wir auch an alles gedacht haben.
Schlussendlich spielt es keine Rolle ob der Begriff Qualität oder Exzellenz verwendet wird. Wichtig allein ist, dass man sich darum kümmert und es nicht dem Zufall überlässt.
Gute Software zeichnet sich vor allem dadurch aus, dass alle relevanten Anforderungen erfüllt werden. Was liegt da näher als diese relevanten Anforderungen gewissenhaft zu benennen. Meine Erfahrung lehrt mich, dass meist nicht die funktionalen Anforderungen entscheidend sind. Den nicht funktionalen Qualitätsmerkmalen sollte man mindestens genau so viel Augenmerk beimessen - wenn nicht mehr.