„Wir können auch ohne Qualität". Aus voller Überzeugung. Haben Sie das schon einmal gelesen? Nein? Ich auch nicht.
Auch wenn es manchmal ehrlicher wäre. Stattdessen: „Nur die beste Qualität". „Das Jahr der Qualität". „Qualität
ist unser Markenzeichen".
Qualität ist ein Muss - das zeigen die unzähligen Initiativen und Werbeslogans der Firmen, die schon aus Prinzip
nicht schlechter dastehen können als die Konkurrenz (zumindest dem Anschein nach). Und das sind so ziemlich alle.
Die Softwareentwicklung macht da selbstverständlich keine Ausnahme. Doch was Software-Qualität nun wirklich genau
heißt, wie man sie misst und wie man sie erreicht – da wird es meist dann schon ziemlich dünn. Und manchmal ist
eine ernsthafte Auseinandersetzung mit dem Thema auch gar nicht erwünscht.
Also: was ist nun „Qualität"? Gute Wartbarkeit? Eine hübsche UI? Oder doch lieber Performance?
Die Entwicklungsabteilung hat häufig eine ganz andere Vorstellung von Qualität als ein Produktmanager oder
ein Usability Experte. Dabei hat sind all diese Aspekte mögliche Qualitäten, wie dies beispielsweise die ISO
25010 beschreibt. Die Frage ist nur, welche Qualitätsattribute für ein spezielles Softwaresystem wirklich
relevant sind und wie wir sie herbeiführen können – so dass der Satz „unser System hat eine hohe Qualität"
keine Floskel bleibt sondern eine belegbare Aussage wird.
Architecting for Quality - das bedeutet Qualität explizit zu machen und als treibenden Faktor der Architekturarbeit
zu begreifen.
Dieser Vortrag erläutert, wie Qualität – begonnen bei der Anforderungsanalyse, über den Entwurf bis hin zu
Implementierung und Test - methodisch herbeigeführt werden kann. Eine zentrale Rolle nimmt die Einflussfaktorenanalyse
ein, welche neben funktionalen Anforderungen und Randbedingungen ganz besonders die Qualitätsanforderungen an das
System betrachtet. Dabei sind Qualitätsszenarien ein wichtiges Werkzeug, mit dem kritische Faktoren präzisiert und
messbar gemacht werden. Weiterhin werden die Faktoren hinsichtlich Flexibilität, Veränderlichkeit und Einfluss
analysiert, um sie anschließend zu priorisieren und passende Entwurfsstrategien ableiten zu können. Anhand der
Implementierung kann schließlich überprüft werden, ob die vorher definierten Qualitätsziele erreicht wurden.