Wie auch in anderen Bereichen des Produktdesigns muss in der Software-Entwicklung ingenieursmäßig geprüft und nachgewiesen werden, dass gewünschte Eigenschaften, wie sie zum Beispiel durch Standards vorgegeben sind, eingehalten werden. Für die erstellten Artefakte der Software-Entwicklung muss demnach zum Beispiel mit Hilfe von Metriken und Architektur-Prüfungen nachvollziehbar Transparenz hinsichtlich der Güte geschaffen werden, um die Qualität kontinuierlich zu verbessern.
In der Praxis ist es jedoch meist nicht zielführend, Software-Qualität mit komplexen Metriken zu messen. Viel einfacher und erfolgversprechender ist es, die Abwesenheit von Qualität durch einfache Indikatoren zu identifizieren und so Qualitätsmängel abzufangen. Die Qualität eines Produkts (oder einer Dienstleistung) ergibt sich anschließend aus der Gegenüberstellung der Anforderungen und Erwartungen an das Produkt – viele davon explizit formuliert, andere wiederum nur impliziert oder gar unbekannt – mit den tatsächlich vorhandenen Eigenschaften des Produktes (Bild 2).
Best Practices: Bewährtes nutzen
Zielführend ist in jedem Fall der Einsatz eines ganzheitlichen und tragfähigen Qualitätsmodells als Masterplan – damit wird systematisch und für alle Beteiligten transparent beschrieben, wonach die Entwicklung ihre Produkte bewerten muss. So kann das Projektteam die Qualitätsdefinition der ISO 25010 für System- und Software Engineering mit den individuellen Anforderungen an die Software als Produkt zusammenführen und deren Erfüllung mit Hilfe eines transparenten Informationssystems konstant überprüfen. Im Projekt kann auf diese Weise für die Architektur, den Code, die Dokumentation und die Tests priorisiert werden, wie wichtig zum Beispiel ihre Modularität, Wiederverwendbarkeit, Analysierbarkeit, Änderbarkeit und Testbarkeit sind (Tabelle).
Um die Messbarkeit und Nachvollziehbarkeit des Qualitätsmodells zu gewährleisten, hat es sich bewährt, einfache Indikatoren zu verwenden, die automatisierbar überprüft werden können. Die Einfachheit der Indikatoren stellt sicher, dass die Regeln für die Entwickler erlernbar und in der Praxis anwendbar sind, denn durch ein hohes Maß an Automatisierung bleiben die Informationen aktuell und entsprechende Maßnahmen können zeitnah ergriffen werden. Eine Vielzahl an Standard-Indikatoren für Quellcode lässt sich zum Beispiel aus den Misra-C/C++-Regeln ableiten oder aus entsprechenden Metriken wie den HIS-Metriken gewinnen.
Aus der Erfahrung lässt sich klar sagen: Es geht weniger um eine große Zahl an Indikatoren als vielmehr darum, die Indikatoren im Projekt zu leben. Bereits eine Handvoll Indikatoren kann bei richtigem Einsatz die Qualität des Produkts deutlich steigern. Das systematische Verdichten der Indikatoren in eine Management-taugliche Gesamtsicht auf der Basis des Qualitätsmodells schafft Transparenz für die Leitungsebene. Der nachvollziehbare Drilldown aus der Gesamtsicht bis in die Codebasis ergibt konkrete Handlungsanweisungen für alle Beteiligten wie Projektmanager, Entwickler oder Tester.
Grundsätzlich gilt es aber auch in den Ingenieursdisziplinen, den Faktor Mensch zu berücksichtigen: In allen Prozessen müssen die Projektbeteiligten und Entwickler „mitgenommen“ werden, also nicht nur eingebunden, sondern auch informiert und in ihren persönlichen Bedürfnissen ernst genommen werden.
Speziell wenn es darum geht, die Qualität einer Embedded Software zu sichern, lohnt es sich immer, klein anzufangen und die Bemühungen sukzessive auszubauen, als nichts zu tun. Denn kluges und vorausschauendes Handeln ist auch eine ureigene Ingenieurstugend.
Der Autor
Dr. Daniel Simon |
---|
ist bei der Axivion GmbH für Professional Services zuständig. Er unterstützt Kunden bei der Einführung, dem Aufbau und der Etablierung von Qualitäts- und Risikomanagement-Maßnahmen. Er hat umfangreiche Erfahrungen im Qualitätsmanagement von IT und Software-Systemen und dem Einsatz von Kennzahlensystemen als Lenkungsinstrument zur Unterstützung im Projekt- und Produktmanagement. info@axivion.com |
info@axivion.com