In diesem Buch geben zehn führende Experten in kurzen Essays mit Fallbeispielen Einblicke in ihre Ansätze und Ideen, wie man diese in seinen eigenen Projekten umsetzen kann. Darunter auch zwei deutsche Autoren. Alexander von Zitzewitz stellt hier sein bekanntes Produkt Sonargraph und seine Metriken vor. Diese hat Carola Lilienthal um eine aggregierte Metrik, den Modularitätsindex, erweitert, um vor allem die Wart- und Anpassbarkeit des Softwarecodes zu messen und die dort schlummernden technischen Schulden zu quantifizieren.
Einen größeren Raum nimmt die Idee ein, wie man mit Fitnessfunktionen die Messungen im Rahmen des DevOps-Zyklus kontinuierlich durchführen kann. Eingeleitet wird das Ganze mit den aus dem Accelerate-Buch [Acc] bekannten vier Kernmetriken, die jedes Jahr in dem DevOps-Report aktualisiert und weiterentwickelt werden. Rene Weiss zeigt, wie man die Testpyramide für die Planung von Fitnessfunktionen einsetzen kann. Hier hilft die Unterscheidung zwischen zwingenden und optionalen Fitness-Kategorien. Er leitet daraus atomare Fitnessfunktionen ab, die wiederum die Basis für holistische und kontinuierliche Fitnessfunktionen bilden.
Dave Farley bringt noch einen anderen Aspekt ein, dass Testund Deploybarkeit als Ziel den Architekturentwurf treiben sollten. Hierzu passt auch gut das Kapitel von Eoin Woods, der auf Stolperfallen beim Messen von Performance, Sicherheit und Verfügbarkeit eingeht. MTTR (Mean Time To Recover) ist hier oft besser mess- und optimierbar als MTBF (Mean Time Between Failures). Wichtiger als ein Grenzwert sind dabei eher Grenzbereiche, die man erreichen möchte.
Neal Ford, der in seinem Buch [For22] die Fitnessfunktion bekannt gemacht hat, betont die Bedeutung von operationalisierten Metriken für das ingenieurmäßige Vorgehen. Er illustriert dies mit einigen Analogien und Fallbeispielen. Im Abschlusskapitel stellt Michael Keeling die schon etwas ältere Methode GQM (Goal Question Metric) vor. Diese ist vor allem hilfreich, um als Team mit den Stakeholdern ein gemeinsames Verständnis von Qualitätszielen, passenden Metriken und ihrer Messbarkeit zu erzielen. Denn hier scheitern Metriken oft in der Praxis, dass zwar viel und detailliert gemessen wird, aber oft keine gemeinsamen Maßnahmen daraus abgeleitet werden oder deren Wechselwirkung betrachtet wird. Hier können gemeinsam gepflegte GQM-Bäume Abhilfe schaffen.
Fazit
Wie so oft bei der Softwarearchitektur kommt es auf den Anwendungsfall an. Deswegen ist es gut, verschiedene Ansätze zu kennen, um diese dann auf die konkrete Problemstellung zielgerichtet anzuwenden. Die im Buch enthaltenen Fallstudien helfen, die Theorie besser zu verstehen und anzuwenden. Mit diesem Buch lernt man verschiedene Ansätze kennen, die sich in der Praxis bewährt haben, um objektive Messungen im Rahmen der Softwareentwicklungsprozesse vorzunehmen und damit sicher und gemeinsam seine Qualitätsziele zu erreichen.
Abb.1_ Buchcover_Software_Architecture_Metrics
Titel: Software Architecture Metrics. Case Studies to Improve the Quality of Your Architecture
Autoren: Christian Ciceri, Dave Farley, Neal Ford, Andrew Harmel-Law, Michael Keeling, Carola Lilienthal, João Rosa, Alexander von Zitzewitz, Rene Weiss, Eoin Woods
Seiten: 199
Verlag: O'Reilly
ISBN: 978-1098112233
Weitere Informationen
[Acc] N. Forsgren, J. Humble, G. Kim, Das Mindset von DevOps. Accelerate: 24 Schlüsselkompetenzen, um leistungsstarke Technologieunternehmen zu entwickeln und zu skalieren, Vahlen, 2019
[For22] N. Ford et al., Building Evolutionary Architectures, O'Reilly Media, 2022 (1. Aufl. wurde in JavaSPEKTRUM 1/23 besprochen)