IS-Rating: Planungssicherheit durch transparente Qualität

Kategorisierung von Softwarequalität

Im Zusammenhang mit Qualität ist zuerst die Norm ISO 9000:2000 zu nennen. Dort wird der Begriff der Qualität umfassend definiert. Die Definition greift als Erfüllung von Anforderungen scheinbar zu kurz. Letztendlich ist sie jedoch sehr umfassend, weil dabei auch implizite Anforderungen eingeschlossen werden.

Eine weitere wichtige Norm ist die ISO 9126 zur Bewertung von Software, die sechs Qualitätsbereiche definiert: Funktionalität (Functionality), Zuverlässigkeit (Reliability), Benutzbarkeit (Usability), Effizienz (Efficiency), Wartbarkeit (Maintainability) und Übertragbarkeit (Portability).

Kategorisierung aus Sicht der Qualitätssicherung

Die Qualitätsattribute einer Software werden in der Praxis häufig den beiden groben Kategorien äußere (externe, beobachtbare) und innere (interne, nicht-beobachtbare) Qualität zugeordnet. Dieses ist im Prinzip eine Kategorisierung aus Sicht der Qualitätssicherung.

Die äußere Qualität umfasst alle Eigenschaften einer Software, die sich durch Benutzung dieser Software (kurzfristig) beobachten lassen, wie z.B. Funktionalität oder Performanz.

Die innere Qualität umfasst die übrigen Eigenschaften, die sich nur durch eine Inspektion der Programmquellen umfassend ermitteln lassen, wie z.B. die Daten- und Systemsicherheit, die Wartbarkeit und die Anpassungsfähigkeit.

Die Grenzen sind nicht immer einfach zu ziehen. So treten z.B. Sicherheitslücken i.d.R. nur auf, während die Software läuft. Sie lassen sich aber alleine durch deren Benutzung nicht wirtschaftlich vollständig identifizieren.

Die Qualitätssicherung im engeren Sinne, wie sie in der Praxis leider nur allzu häufig praktiziert wird, dient vorrangig dem Ziel, zu verhindern, dass Mängel an der inneren Qualität - also auch die technischen Hypotheken - für den Auftraggeber bis zur Abnahme bzw. dem Ablauf der Gewährleistung in der äußeren Qualität sichtbar werden.

Kategorisierung aus Sicht des Nutzers

Unter wirtschaftlichen Gesichtspunkten bietet sich eine andere Aufteilung in die Kategorien statische und dynamische Qualität an. Dieses ist im Prinzip eine Kategorisierung aus Sicht des Nutzers, weil oft verschiedene Organisationseinheiten von deren Kosten betroffen sind.

Die dynamische Qualität umfasst alle Eigenschaften einer Software, die sich ausschließlich bei einer Änderung der Software (auch Fehlerbehebung) in den direkten und indirekten Kosten oder den Folgekosten äußern.

Die statische Qualität umfasst die übrigen Eigenschaften, die sich nur auswirken, wenn man sie "so wie sie ist" benutzt. Dieses beinhaltet auch die Ausnutzung der vorgegebenen Konfigurationsmöglichkeiten.

Eventuelle trade-offs zwischen der dynamischen und der statischen Qualität (u.U. zwischen Modularisierung und Performanz) sind selten von grundsätzlicher Natur sondern haben ihre Ursache meist in den verwendeten Sprachen und Technologien.

Diese beiden Arten der groben Kategorisierung sind nicht deckungsgleich. Die Trennlinie zwischen statischer und dynamischer Qualität lässt sich schärfer ziehen. Die dynamische Qualität wird zwar als ein Teil der inneren Qualität betrachtet. Man kann sie jedoch durch einen Entwicklungsprozess mit streng iterativem und inkrementellem Vorgehen auch vor einer Abnahme gut beobachtbar machen.

Dynamische Qualität

Sie bildet die Grundlage der statischen Qualität. Sie entscheidet darüber, wann Verbesserungen der statischen Qualität (z.B. Performanz, Skalierbarkeit, Bedienkomfort) wirtschaftlich sind. Im gleichen Sinne bildet Sie die Grundlage für Änderungen der Funktionalität.

Eine bekannte Beobachtung für Teile der inneren Qualität lässt sich klar der Kategorie der dynamischen Qualität zuordnen. Wird die dynamische Qualität einer Software professionell verbessert, so spart das bei der Entwicklung insgesamt Zeit und Kosten - im Gegensatz zu einer Erhöhung der statischen Qualität.
Ein Hersteller mit ungenügender Erfahrung in den erforderlichen Techniken trägt jedoch die Kosten, während der Käufer später den Nutzen hat. Für diesen Hersteller stellt also geringere Qualität einen Kosten- und Wettbewerbsvorteil dar.

Eine hohe dynamische Qualität unterscheidet "echte" Software von allen anderen Produkten. Eine Software geringer dynamischer Qualität ist nichts weiter als Hardware, die nur mit dem Baumaterial Software gebaut wurde.

Die dynamische Qualität bestimmt, welcher durchschnittliche Nutzen mit der Software langfristig wirtschaftlich überhaupt erzielt werden kann. Dabei geht es neben der Erhaltung des ursprünglich geplanten Nutzens auch um die Wahrnehmung neuer Gelegenheiten.

Übertragen auf die gesamte IT eines Unternehmens entscheidet die dynamische Qualität der Informationssysteme darüber, welcher Grad an Ausrichtung der IT auf das Geschäft (IT-Business-Alignment) sich in diesem Unternehmen überhaupt wirtschaftlich auf Dauer durchschnittlich erreichen lässt.

Die dynamische Qualität der Informationssysteme bietet damit ein weit höheres strategisches Differenzierungspotential gegenüber dem Wettbewerb als die oberflächliche Funktionalität.
IS-Rating: Planungssicherheit durch transparente Qualität