ISO-Standard für Softwarequalität, Teil 2 Softwarequalität mit ISO/IEC 25000 im Blick behalten

Von Christian Rentrop

Anbieter zum Thema

Die Qualität ist essenziell für den Erfolg eines Software-Produkts. Daher sollte sie schon bei der Entwicklung im Auge behalten werden. Dabei hilft der Normenkatalog ISO/IEC 2500.

Qualität setzt sich durch, das lässt sich auch auf die Software-Entwicklung übertragen.
Qualität setzt sich durch, das lässt sich auch auf die Software-Entwicklung übertragen.
(Bild: Gerd Altmann (geralt) / Pixabay)

Produktqualität ist einer der wichtigsten Faktoren bei der Softwareentwicklung; nicht zuletzt, weil sie eng mit dem Erfolg des Endprodukts zusammenhängt. Qualitativ hochwertige – also den Anforderungen genügende – Software hat zudem den Vorteil, dass sie weniger Wartung benötigt und auch weniger Kompatibilitätsprobleme oder gar fehlende Funktionen aufweist.

Um Software mit hoher Qualität zu produzieren, ist es wichtig, vor der eigentlichen Entwicklung Ziele zu definieren. Diese können anschließend mithilfe des Normenkatalogs ISO/IEC 25000, der aus der alten ISO/IEC 9126 hervorgegangen ist, im laufenden Entwicklungsprozess evaluiert werden.

Acht verschiedene Qualitätsmerkmale

Insgesamt acht verschiedene Qualitätsmerkmale helfen dabei, die Qualität der Software im Auge zu behalten: Benutzbarkeit, Effizienz, Kompatibilität, Funktionalität, Sicherheit, Übertragbarkeit, Wartbarkeit und Zuverlässigkeit mit jeweils einer ganzen Reihe von Unterpunkten.

Auf Basis dieser verschiedenen Aspekte der Software lässt sich die Gesamtqualität evaluieren. Wichtig dabei ist, dass die ISO nur Qualitätsmodelle und keine konkrete Vorgehensweise definiert. Sprich: Unternehmen oder Einzelentwickler, die sich mit der Qualität ihres Produkts befassen, müssen anhand des Normenkatalogs eigene Maßnahmen zur Bewertung der Softwarequalität entwickeln.

Achtsamkeit fördern

Neben den acht Säulen genormter Software-Qualität gibt es allerdings auch eine Reihe von „weichen“ Faktoren, die Software-Qualität beeinflussen können. So spielen Faktoren wie die Unternehmensphilosophie, das Qualitätsbewusstsein bei Team und Leitung, Kostenfaktoren und Zeitdruck nicht selten eine übergeordnete Rolle in der Unternehmenskultur.

In der Praxis steht dies der Erstellung qualitativ hervorragender Software im Wege. Halbgare Produkte, fehlende Schnittstellen, ineffizienter Betrieb oder schlechte Handhabung können die Folge sein. Umso wichtiger ist es, für die Evaluierung von Software-Qualität vorab Qualitätskriterien zu erstellen und so die Achtsamkeit für den Entwicklungsprozess und das angestrebte Endprodukt zu schärfen. Die ISO/IEC 25000 hilft hierbei nicht, sondern hält im Prinzip nur die Aspekte vor, die für das Software-Qualitätsmanagement sinnvoll sind.

Probleme in der Praxis

Nun ist es aber leider so, dass Qualitätsanspruch und Realität nicht immer vereinbar sind. So gibt es zum Beispiel Spannungen zwischen hoher Qualität für den Endkunden (Stichworte Bedienbarkeit, Sicherheit, Stabilität und Effizienz) und der aus Entwicklersicht, etwa: Wartungsaufwand oder Code-Qualität. Dieses Spannungsfeld ist in der Praxis oft nicht sauber mit einem generellen Maßstab für Software-Qualität in Einklang zu bringen.

Vielmehr gilt es, Kompromisse zu finden, die ein Maximum des Qualitätsoptimums in ein und demselben Produkt unterbringen. Hinzu kommt, dass Spezifikationen oft schon vorab nicht sauber angelegt, unvollständig oder sogar widersprüchlich sind, außerdem gibt es Sachzwänge wie Kostenaufwand oder enge Fristen. Qualitative Software beginnt also oft lange, bevor die erste Zeile Code geschrieben wurde.

Innere und äußere Qualitätsmerkmale

Um hier die nötige Balance zu finden, sind gut mit den Kunden oder dem Management vereinbarte Spezifikationen, in denen wichtige Qualitätsmerkmale festgelegt werden. Hier kann zwischen inneren und äußeren Qualitätsmerkmalen unterschieden werden. Zu den äußeren Merkmalen zählen die für den Nutzer oder Kunden sichtbaren Qualitäten wie Effizienz der Software, ihre Bedienbarkeit oder die Einhaltung von Vorgaben gesetzlicher oder technischer Art.

Innere Qualitätsmerkmale sind solche, die sich auf den Code der Software beziehen, etwa Modifizierbarkeit, Analysierbarkeit oder Stabilität. Je nach Software-Produkt sind diese Grenzen aber gegeneinander verschoben, nicht selten gibt es im klassischen Sinne kein „Innen“ und „Außen“. Am Ende des Tages gilt: Wichtig ist, dass vorab festgelegt wird, was wie angegangen wird – und die Qualität anhand der Handreichungen der ISO/IEC 25000 regelmäßig überprüft wird.

Einfache Maßnahmen für hohe Qualität

Dabei gilt: Je mehr vorab festgelegt wird, desto höher ist die Qualität des resultierenden Codes. Wer sich zum Beispiel vorab auf Programmierparadigmen festlegt – etwa Schemata für die Benennung von Objekten und Variablen – festlegt und für eine gute Dokumentation sorgt, kann sicherstellen, dass einige der inneren Qualitätsmerkmale von der ersten Zeile Code an erfüllt sind.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Paradigmen stellen nicht nur die Analysierbarkeit sicher, sondern auch die Übertragbarkeit, etwa an andere interne oder externe Entwickler oder am Ende des Tages auch an den Kunden. Auch äußere Qualitätsmerkmale können auf diese Weise festgelegt werden: Wer vorab analysiert, welche Funktionen gewünscht und benötigt werden und wie sich diese effizient umsetzen lassen, spart am Ende nicht nur Ressourcen, sondern kann auch auf zufriedene Kunden hoffen.

Auf Änderungen reagieren können

Eine hohe innere Qualität der Software gewährleistet obendrein, dass Änderungen in den Anforderungen, Updates oder Bugfixes schnell und einfach umgesetzt werden können. Auf diese Weise steigt auch die äußere Qualität des Produkts, da sich Wartungsaufwand und Fehlfunktionen im Aufwand deutlich begrenzen lassen.

Am Ende steht ein fehlerfreies, effizientes und zukunftssicheres Softwareprodukt, das auch die Anforderungen des Kunden erfüllt und ermöglicht, Änderungen oder neu Funktionen einzupflegen. Im Rahmen der Spezifikationen des Normenkatalogs ISO/IEC 25000 finden Unternehmen und Entwickler alle dazu nötigen Qualitätsmerkmale und können dadurch vermeiden, einen oder mehrere der Teilbereiche der acht Säulen der Software-Qualität aus den Augen zu verlieren.

(ID:48535126)