Dieser Blog ist zuerst bei Xebia Global erschienen. Er wurde von uns übersetzt.
Was ist eigentlich Softwarequalität? Lasst uns ein paar Denkansätze beleuchten.
Drei Perspektiven auf Qualität
Konformität mit Spezifikationen
Nehmen wir an, wir haben eine vordefinierte Liste von Anforderungen für ein Produkt, und alle diese Anforderungen werden während des gesamten Produktentwicklung-Prozesses überprüft und validiert. Wenn wir uns der Freigabe oder dem Release nähern, können wir einfach die grünen Häkchen als positive Ergebnisse der Überprüfungs- und Validierungsaktivitäten sehen und zufrieden sein. Wir sehen das überall in zertifizierungsorientierten Unternehmen, aber auch z. B. im Straßenbau. Es hat mit Vorschriften und deren Einhaltung zu tun. Auf diese Weise werden auch Space Shuttles gebaut.
Die Einhaltung von Spezifikationen wird oft als "es funktioniert einfach" wahrgenommen. Das Produkt tut, was es tun soll. Es gibt keine Lobeshymnen: Wir sprechen nicht darüber, dass die Autobahn A1 nach Amsterdam "wieder funktioniert". Oder dass mein MacBook heute Morgen keine hängenden Programme hatte. Produkte sollten einfach richtig funktionieren. Und das sollte überprüfbar sein.
Angeborene Qualität
Ein Produkt hat eine angeborene Qualität, wenn seine Eigenschaften überdurchschnittlich sind. Wenn du dir ein Formel-1-Auto ansiehst, sieht oder spürt jeder ohne technischen Kenntnissen, dass dieses Auto schnell fahren kann. Genauso wie das coole Design eines neuen Autos oder das "Unboxing"-Ereignis eines neuen Must-Have-Gadgets.
Qualität in der Anwendung
Die Einfachheit, die Simplizität, die Benutzerfreundlichkeit, eine nicht allzu verstellte Benutzeroberfläche; alles Arten von Indikatoren für Produkte, die den Appetit der Benutzer wecken: diese wollen sie benutzen. Es ist ansprechend. Es geht um den Promoter Score, darum, über was du auf der Geburtstagsparty deiner Freunde redest.
Alles zusammenführen
Verschiedene Interessengruppen haben in der Regel unterschiedliche Vorstellungen von Qualität. Wenn die erwartete Qualität von der wahrgenommenen Qualität abweicht, kann dies zu Problemen führen. Nehmen wir an, das neue Must-Have-Gadget ist aus einem brüchigen Material oder nicht besonders reaktionsschnell: es sieht toll aus, funktioniert aber nicht.
Die wahrgenommene Qualität ist also niedriger als die erwartete Qualität. Das Ergebnis? Unzufriedene Nutzer. Wenn die wahrgenommene Qualität höher ist als die erwartete Qualität, ist der Promoter Score für das Produkt oder die Dienstleistung höher, die Nutzer sind zufrieden, weil das Erlebnis unerwartet gut ist.
Schauen wir uns noch einmal das Formel-1-Auto an: Schön, dass es schnell fahren kann. Es liegt aber auch am Fahrer, an den Technikern, an der Genauigkeit der Boxenstopps, ganz zu schweigen von der Strategie des Teams, ob du Formel-1-Meister oder nur Zweiter wirst. Gleichzeitig ist die Qualität des Designs und des Denkprozesses, der in ein Formel-1-Auto einfließt, von grosser Bedeutung, bevor das Auto gebaut wird.
Bei Softwareprodukten ist das anders: Die Qualität des Designs und des Denkprozesses ist von Anfang an wichtig (Konzeption einer Idee und der entsprechenden Anforderungen) bis zu dem Zeitpunkt, an dem die Anwendung ausser Betrieb genommen wird.
Wir brauchen Software, die korrekt entworfen, korrekt gebaut und effizient gewartet wird:
- Korrekt entworfen: Bring einen guten Architekten und einen sachkundigen Business-Analysten mit und sorge dafür, dass der Entwurf diskutiert, hinterfragt und getestet wird.
- Korrekt gebaut: Bring ein grossartiges Team mit effizienter Zusammenarbeit und technischen Fähigkeiten mit und sorge für die richtigen Kontrollen und Überprüfungen.
- Effiziente Wartung: Richte eine Infrastruktur ein, die die Softwarefunktionen strukturell unterstützt, sowie schnelle Korrekturen und Deployments ermöglicht. Und bringe ein gutes Betriebs- und Supportteam mit.
Neben der Messung der technischen Qualität anhand von technischen Indikatoren und Metriken wie Code-Duplikation oder Komplexität erfordert Softwarequalität einen guten Prozess und einen außergewöhnlichen Haufen an Menschen. Sie erfordert einen ganzheitlichen Ansatz. In den folgenden Blog-Beiträgen werden wir diesen ganzheitlichen Ansatz näher beleuchten, indem wir die Teams, den Lieferprozess und die verwendeten Technologien näher erläutern.
Übersetzt nach dem Originalbeitrag von Viktor Clerc vom 19 Juli 2021 Qxperts