Viele Teams investieren massiv in Codequalität, Architektur und Tests. Und erleben trotzdem Ausfälle, lange Reaktionszeiten oder unklare Verantwortlichkeiten.
Der Grund: Softwarequalität ist mehr als Technik.
In modernen, verteilten Systemen entsteht Qualität erst durch das Zusammenspiel von drei Dimensionen:
- Technische Qualität (Wie gut ist das System gebaut?)
- Prozessqualität (Wie gut unterstützt es das Business?)
- Betriebsqualität (Wie zuverlässig läuft es im Alltag?)
Standards wie ISO/IEC 25010 bieten einen strukturierten Rahmen zur Bewertung von Softwarequalität und definiert dabei neun zentrale Qualitätsmerkmale: Reliability, Functional Suitability, Compatibility, Safety, Flexibility, Security, Maintainability, Performance, Efficiency, Usability (Interaction Capability). Diese Kriterien helfen, Qualität ganzheitlich zu betrachten – von der korrekten Funktionalität über effiziente Performance bis hin zu Sicherheit und Wartbarkeit. Besonders wichtig wird das Modell immer dann, wenn Architekturentscheidungen getroffen oder Systeme bewertet werden. Es macht sichtbar, wo Stärken liegen und wo Zielkonflikte entstehen, etwa zwischen Performance und Wartbarkeit oder Sicherheit und Benutzerfreundlichkeit.

Qualitätsattribute legen fest, worauf es ankommt, wie zum Beispiel Performance, Wartbarkeit oder Sicherheit. Metriken machen diese Anforderungen messbar und zeigen, wie gut sie tatsächlich erfüllt werden.

Technische Qualität: Wie gut ist das System gebaut?
Technische Qualität beschreibt die innere Struktur eines Systems. Also wie gut es entwickelt und weiterentwickelt werden kann. Sie bildet die Grundlage für langfristige Wartbarkeit und Anpassungsfähigkeit.
Ein gutes Beispiel ist der sogenannte Change Effort. Wie viele Teile des Systems müssen angepasst werden, wenn sich eine Anforderung ändert?
Stellen wir uns vor, eine kleine Änderung betrifft 2 von 10 Services.
→ Change Effort = 2 / 10 = 0,2
Dann liegt der Change Effort bei 0,2.
Niedrig (nahe 0) = gute Wartbarkeit
Hoch = starke Kopplung und höheres Risiko
Weitere wichtige Faktoren sind:
- Kohäsion (klare Verantwortlichkeiten innerhalb eines Services)
- Kopplung (möglichst geringe Abhängigkeiten)
- Granularität (eine sinnvolle Größe von Services)
Diese Dimension bildet die Grundlage – aber sie allein reicht nicht aus.
Prozessqualität: Unterstützt die Architektur das Business?
Ein System kann technisch sauber sein und trotzdem Probleme verursachen. Nämlich dann, wenn es die Geschäftsprozesse nicht sauber abbildet. Gerade in serviceorientierten Architekturen ist das entscheidend, denn hier sollten Services klaren fachlichen Verantwortlichkeiten entsprechen.
Typische Metriken sind:
- Business Capability Fidelity (BCF): Entsprechen Services klar definierten Business-Funktionen?
- Process Completion Traceability (PCT): Lassen sich End-to-End-Prozesse vollständig nachvollziehen?
- Process Step Coverage (PSC): Sind alle Prozessschritte durch Services abgedeckt?
Ein Beispiel für Process Step Coverage (PSC):
Formel:
PSC = abgedeckte Prozessschritte / alle Prozessschritte
Beispiel:
Ein Prozess hat 5 Schritte, 4 sind durch Services abgedeckt:
→ PSC = 4 / 5 = 0,8
- 1,0 = vollständige Abdeckung
- < 1 = Lücken im Prozess
Nur wenn diese Dimension stimmt, entsteht echte Transparenz. Andernfalls drohen typische Probleme wie unklare Verantwortlichkeiten, schwer nachvollziehbare Abläufe oder ineffiziente Prozesse.
Betriebsqualität: Funktioniert das System im Ernstfall?
Die dritte Dimension wird oft unterschätzt, ist aber im Alltag die entscheidende. Betriebsqualität beschreibt, wie zuverlässig ein System unter realen Bedingungen funktioniert.
Messbar wird das über operative Kennzahlen:
- MTTD (Mean Time to Detect): Wie schnell wird ein Problem erkannt?
- MTTA (Mean Time to Acknowledge): Wie schnell reagiert jemand?
- MTTR (Mean Time to Recover): Wie schnell ist das System wiederhergestellt?
- Availability: Wie hoch ist die tatsächliche Verfügbarkeit?
MTTR (Mean Time to Recover)
→ Durchschnittliche Zeit zur Wiederherstellung
Formel: MTTR = Summe aller Wiederherstellungszeiten / Anzahl der Incidents
Beispiel:
3 Incidents mit 1h, 2h und 3h Behebungszeit:
→ MTTR = (1 + 2 + 3) / 3 = 2 Stunden
Availability (Verfügbarkeit)
→ Anteil der Zeit, in der das System läuft
Formel:
Availability = (Gesamtzeit − Ausfallzeit) / Gesamtzeit
Beispiel:
720 Stunden Betrieb, 3 Stunden Ausfall:
→ Availability = (720 − 3) / 720 = 0,996
Das entspricht einer Verfügbarkeit von 99,6 %. Das klingt hoch, kann aber je nach Anwendung bereits kritisch sein.
Diese Metriken entscheiden direkt über:
- Ausfallzeiten
- Kosten
- Kundenzufriedenheit
Ein System kann hervorragend designt sein. Aber wenn Störfälle zu spät erkannt oder nicht schnell genug gelöst werden, leidet die Qualität massiv.
Zielkonflikte: Warum perfekte Qualität nicht existiert
Die drei Dimensionen stehen selten im Einklang. Typische Trade-offs sind:
- Feingranulare Services verbessern die Wartbarkeit, erhöhen aber den Integrationsaufwand
- Asynchrone Kommunikation steigert Skalierbarkeit, erschwert aber die Nachvollziehbarkeit
- Strenge Konsistenz erhöht Sicherheit und Compliance, reduziert aber die Flexibilität
Diese Zielkonflikte sind unvermeidbar. Gute Architektur bedeutet daher nicht Perfektion, sondern bewusste Entscheidungen entlang der Geschäftsanforderungen.
Der entscheidende Hebel: Betriebsqualität verbessern
Während technische und prozessuale Qualität meist im Design entstehen, zeigt sich echte Qualität im Betrieb. Hier setzt SIGNL4 an.
SIGNL4 verbessert die betriebliche Qualität genau dort, wo sie messbar wird:
- Sofortige Alarmierung bei Störungen
- Direkte Zustellung an die richtige Person
- Automatisierte Eskalationen
- Mobile Reaktion von überall
Das Ergebnis ist direkt messbar:
- Reduzierte MTTD (Probleme werden schneller erkannt)
- Reduzierte MTTA (Reaktionen erfolgen schneller)
- Reduzierte MTTR (Störungen werden schneller behoben)
Und damit erreicht ihr:
- Höhere Verfügbarkeit
- Weniger Ausfallkosten
- Bessere Servicequalität
Falls ihr noch mehr über MTTD, MTTA und MTTR erfahren wollt, schaut euch unseren Blogpost an.
Fazit: Qualität entsteht erst im Zusammenspiel
Softwarequalität ist kein einzelner KPI, sondern ein Zusammenspiel mehrerer Faktoren.
- Technische Qualität sorgt für Wartbarkeit
- Prozessqualität sorgt für fachliche Passung
- Betriebsqualität sorgt für Zuverlässigkeit im Alltag
Erst wenn alle drei Dimensionen berücksichtigt werden, entsteht ein System, das nicht nur gut gebaut ist, sondern auch im Betrieb überzeugt.
Und genau hier wird der Unterschied sichtbar: zwischen Software, die funktioniert. Und Software, auf die man sich verlassen kann.


























