Merkmale und Standards als Orientierungshilfe

Test- und Qualitätsmanagement als Erfolgsfaktor

Ulrike Mauritz

Viele Projekt- und Betriebsleiter kürzen beim Thema Qualität, wenn Budget zugunsten des Anforderungsmanagements eingespart oder verschoben werden muss. Die Herausforderung besteht darin, das Test- und Qualitätsmanagement als zentralen Erfolgsfaktor von Softwareprojekten zu verstehen. Am Beispiel der Softwareentwicklung und -wartung wird deutlich, wie Qualitätsstandards die Güte von Softwareprodukten beeinflussen.

Der Begriff „Qualität“ hat keine einheitliche Bedeutung, denn Beteiligte in Softwareprojekten benutzen ihn in verschiedenen Zusammenhängen. Wenn zum Beispiel ein Softwaretester von schlechter Qualität spricht, versteht er darunter Softwarecode mit sehr vielen noch zu behebenden Fehlern. Ein Anwender hingegen wird meinen, dass seine Anforderungen nicht umgesetzt worden sind und er die Software deswegen nicht nutzen kann. Wie kann man Qualität trotzdem einheitlich beschreiben? Das lateinische Wort „qualitas“ steht für Beschaffenheit und ist zu verstehen als die Qualität der Summe aller Eigenschaften eines Objekts, Systems oder Prozesses [1]. Diese definierten Qualitätsmerkmale sind in der Softwareentwicklung über die ISO-Normen ISO/IEC 9126 und ISO/IEC 25000 ff. standardisiert. Jede Software unterliegt den folgenden sechs Qualitätsmerkmalen und ihren Untergliederungen:

  1. Funktionalität: Funktionalität ist die Summe aller Funktionen der Anwendung. Je mehr Funktionen eine Software besitzt, desto schwieriger ist es, die eigentliche Funktionalität für einen bestimmten Zweck zu definieren. Untergruppen des Merkmals Funktionalität sind unter anderem Sicherheit, Richtigkeit und Interoperabilität.
  2. Zuverlässigkeit: Eine Software gilt als zuverlässig, wenn sie unter den gegebenen Voraussetzungen, auf dem gleichen Weg und unter gleichen Bedingungen immer das gleiche Ergebnis liefert. Zum Merkmal Zuverlässigkeit gehören außerdem Kriterien wie Reife der Software, Fehlertoleranz und Wiederherstellbarkeit. Die Validität von Daten ist hingegen kein Bestandteil.
  3. Benutzbarkeit: Die Benutzbarkeit erfasst den Aufwand, den ein Softwareanwender zum Erreichen bestimmter Ziele benötigt. Software mit einem hohen Benutzbarkeitsgrad hilft Nutzern, durch eine intuitive Benutzerführung ihre Aufgaben schnell und effizient zu erledigen.
  4. Effizienz: Effiziente Software zeichnet sich dadurch aus, dass sie unter Berücksichtigung gegebener Produktionsfaktoren und Bedingungen wirtschaftlich entwickelt und implementiert wurde. Einschränkende Faktoren sind Budget, Zeit und Ressourcen (z. B. Hardware, Mitarbeiter). Zum Merkmal Effizienz zählen auch das Zeit- und das Verbrauchsverhalten (z. B. Verhalten unter Last, Speicherverbrauch) einer Software.
  5. Wartbarkeit: Die Wartbarkeit beschreibt den Aufwand für Anpassungen, der höhere Entwicklungs- und Wartungskosten verhindert. Viele Softwareanwendungen werden jedoch in die Wartung übergeben, ohne deren Wartbarkeit zuvor zu überprüfen. Eine Applikation unterliegt während ihres Lebenszyklus zahlreichen Modifikationen durch entdeckte Fehler oder neue fachliche und technische Anforderungen (Austausch von Hardware oder auch Datenbankupdates). Sie sind in der Wartbarkeit zu berücksichtigen.
  6. Portabilität: Das Merkmal Portabilität bezeichnet die Fähigkeit, existierenden Programmcode wieder zu verwenden, wenn Software zwischen Anwendungsumgebungen verschoben wird (z. B. verschiedene Betriebssysteme). Die Portabilität gewinnt vor allem bei der Entwicklung eines Softwareprodukts an Bedeutung, das für mehrere Plattformen vorgesehen ist. Untergruppen des Merkmals sind Anpassbarkeit, Installierbarkeit und auch die Austauschbarkeit von Applikationen.
Kleine Fehler, hohe Kosten

Die konsequente Messung der Qualitätsmerkmale ist entscheidend, weil eine hohe Korrelation zwischen Qualität, Kosten und Kundenzufriedenheit besteht. Jede Software unterliegt diesen sechs Merkmalen, doch im Projektverlauf werden sie häufig unzureichend überprüft. Je nach Phase der Softwareentwicklung verursacht ein Defekt unterschiedliche Auswirkungen und Kosten [2], wie in Abbildung 1 dargestellt. Wenn ein Softwaredefekt der Anforderungsphase erst in der Wartungsphase gefunden wird, verursacht er das zehn- bis hundertfache der ursprünglichen Reparaturkosten. In den Kosten werden neben der Beseitigung des Defekts auch die Kosten für den erforderlichen Nachtest und das Roll-out des Bug-Fixes erfasst. In ungünstigen Fällen können außerdem Folgekosten wie Gerichtskosten (z. B. durch eingeklagte Personenschäden), Ausfallzeiten von Mitarbeitern oder Produktionsanlagen sowie Imageschäden des Unternehmens entstehen. Hat der Defekt die Anwendung oder ein Produktionssystem gar irreparabel zerstört, entstehen mindestens Kosten in Höhe einer Neuentwicklung.

Abb. 1: Übersicht von Kostenmultiplikatoren je Defekt pro Softwarephase [2]Abb. 1: Übersicht von Kostenmultiplikatoren je Defekt pro Softwarephase [2] (Vergrößern)

Geschrieben von
Ulrike Mauritz
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.