Was ist Qualität?
Definition, Norm und einfache Erklärung
Es gibt zahlreiche Definitionen zum Thema Qualität so z.B. auch in diversen Normen und Standards. Ich nutze hier eine sehr allgemein gehaltene Definition aus der DIN 55350:
„Qualität ist die Beschaffenheit einer Einheit bezüglich ihrer Eignung, festgelegte und vorausgesetzte Erfordernisse zu erfüllen. Dabei wird ergänzend die Einheit als materieller oder immaterieller Gegenstand der Betrachtung und die Beschaffenheit als Gesamtheit der Merkmale und Merkmalswerte definiert.“ (DIN 55350-11:2008-05 Begriffe zum Qualitätsmanagement - Teil 11: Ergänzung zu DIN EN ISO 9000:2005)
Wenn dir das zu „sperrig“ ist, dann erkläre ich dir das gerne mit einem Bild und meinen eigenen Worten.
Wenn wir als einfaches Beispiel von dem Bau eines Hauses ausgehen, bei dem der Bauherr mit seinem Bauunternehmen nur das Haus, aber nicht das Dach genau angefordert hat, dann könnte es die folgenden (fiktiven) Leistungen als Ergebnis geben:
- Das Haus hat ein Flachdach
- Das Haus hat ein Spitzdach
- Das Haus hat ein Spitzdach und noch einen Schornstein
Wenn der Kunde ein Spitzdach erwartet hat, dann ist das Ergebnis 1 für ihn keine ausreichende Qualität. Bekommt er Ergebnis 2, dann erfüllt dies nicht nur die Anforderungen, sondern auch seine Erwartungen. Wenn er die dritte Variante bekommt, dann ist er begeistert.
Das bedeutet übertragen: je mehr du die Erwartungshaltung deines Kunden verstehst und diese in Qualitätsmerkmalen formulieren kannst, desto wahrscheinlicher ist es, dass du alle seine Anforderungen erfüllen kannst oder dich mit ihm einigst, dass diese nicht realistisch oder wirtschaftlich umsetzbar sind. Wenn du dann auch noch zusätzliche sichtbare Leistungen ablieferst, dann kannst du deinen Kunden begeistern.
Was ist Softwarequalität?
ISO 9126 und ISO 25010
Du hast sicher schon mal Anforderungen für Software formuliert. Entweder in Pflichten- und Lastenheften, Konzepten oder vielleicht als EPICs, User Storys und vielleicht sogar mit Akzeptanzkriterien und Testfällen. Aber hast du dabei auch alle relevanten Kriterien abgedeckt und hinterfragt? Waren auch nicht funktionale Anforderungen explizit definiert? Auch hierfür gibt es natürlich eine Norm: ISO/IEC 9126 bzw. den Nachfolger ISO/IEC 25010.
In dieser Norm werden sechs Qualitätskriterien für Softwarequalität genannt und erklärt. Die Norm zielt dabei auf die Produktqualität, nicht auf die Prozessqualität und ist nach wie vor bei Beratungshäusern im Einsatz.
Die Weiterentwicklung in der ISO 25010 [ISO/IEC 25010 Software-Engineering – Qualitätskriterien und Bewertung von Softwareprodukten (SQuaRE) – Qualitätsmodell und Leitlinien; die letzte Ausgabe ist von 2011 und ist gerade wieder in Überarbeitung] fächert die Kriterien nach Produktqualität und Nutzungsqualität auf. Vor allem die Nutzungsqualität ist dabei mit der Sicht auf das Gesamtsystem und die Bedürfnisse der Stakeholder im Vergleich zur ISO 9126 neu und wichtig für zufriedene Kunden.
Meine 7 Tipps für Softwarequalität
Qualität ist wichtig, wenn du zufriedene und vielleicht sogar begeisterte Kunden haben möchtet. Auf Basis meiner Erfahrung als Qualitätsmanager, kann ich dir ein paar Hinweise geben, worauf du achten solltest. Wenn du das nicht für das ganze Unternehmen und relevanten Prozesse umsetzen kannst, dann beginne mit deinem Projekt.
Viele der erwarteten Anforderungen lassen sich im Vorfeld bewerten und als notwendig oder eben auch nicht notwendig definieren. Das sind deine Qualitätsmerkmale, die du z.B. mit Hilfe einer Checkliste, einer Norm oder durch Brainstorming im Team mit deinen Stakeholdern erarbeiten kannst. Wenn du Tipp 7 schon umgesetzt hast, stehst du jetzt nicht mit leeren Händen da.
Hast du die Qualitätsmerkmale definiert, kommuniziere sie auch an alle Stakeholder. Mach sie sichtbar und relevant. Achte darauf, dass alle eine gleiche Sicht auf die Kritikalität haben.
Im einfachsten Fall ist dies eine Teststrategie, ein Testkonzept oder eine Test Charta. Du wirst aber schnell merken, dass dir die Testperspektive alleine nicht bei allen relevanten Aspekten hilft. Qualität lässt sich nicht „hineintesten“.
Stelle sowohl produktorientiert wie auch prozessorientiert sicher, dass die Qualität zu den definierten Qualitätsmerkmalen passt und diese erreicht werden. Die meisten produktorientierten Qualitätsmerkmale werden in Form von Tests überprüft.
Setze Testmanagement auf oder nutze einen Testmaster. Es geht meist nicht um Quantität, sondern um Qualität beim Testen, d.h. es ist wichtig, das Richtige zu testen und zu wissen, wann das Testendekriterium erreicht ist.
Für diese Entscheidung benötigst du Managementunterstützung oder die Entscheidungsgewalt. Wenn du meine anderen Tipps soweit befolgt hast, kennst du jetzt zum Auslieferzeitpunkt deine noch nicht erfüllten Qualitätsmerkmale und deine Softwarequalität. Mit welchen Mängeln gehst du in Produktion? Wird das deine Kunden begeistern? Eventuell ist es wichtiger schneller auszuliefern, um den Kunden zu begeistern, deshalb könnten auch die Liefergeschwindigkeit und der Lieferzeitpunkt zu den Q-Kriterien gehören.
Das klingt kompliziert und langweilig, ist es aber nicht. Definiere mit deiner Mannschaft die Leitplanken und stelle die richtigen Weichen, dann zeigt der Kompass von ganz alleine auf Qualität. Damit wird es für alle viel einfacher, die notwendige Qualität einzufordern. Und mit ein wenig zusätzlicher Leistung begeisterst du deinen Kunden sogar!
Einsatzszenarien
Anhand dieser Beispiele erläutere ich dir, wie ich typischerweise vorgehe
ROLLE: Management Berater, Qualitätsmanager, Testmanager & Coach
WIE MANAGEN WIR DIE ABHÄNGIGKEITEN UND WO FANGEN WIR AN? Testest du das richtige? Dein Testteam ist noch im Aufbau oder kommt nicht mehr hinterher? Welche Testfälle noch auszuführen sind und wann der Test zu Ende ist, ist dir nicht transparent? Dann ist es an der Zeit sich neu zu fokussieren und zu überprüfen, ob man sich (noch) um die richtigen Themen kümmert.
ROLLE: Management Berater & Coach
DER SPRINT IST ZU ENDE, ABER DIE SOFTWARE LÄUFT (NOCH) NICHT. Dein agiles Entwicklungsprojekt liefert am Ende der Sprints nicht die notwendige Qualität und du bist unzufrieden. Neben dem agilen Team wird auch ein Blick auf die Einbettung in der Organisation geworfen und nächste Schritte gemeinsam umgesetzt.
Ich habe dein interesse geweckt?
Dann nutze jetzt die Gelegenheit und nimm Kontakt zu mir auf!