Komplexität
Fachliche Komplexität entsteht aus Regeln und Begriffen des Problems. Technische Komplexität entsteht durch Mechanismen, Abhängigkeiten und Betriebsmodelle der Lösung.
- FachlichKommt aus Regeln des Geschäfts.
- TechnischKommt aus der gewählten Lösung.
- PreisJede Situation kostet Test und Betrieb.
Einordnung
Warum das wichtig ist
Nicht jede Schwierigkeit gehört zum Geschäft. Jede technische Situation muss getestet, beobachtet und betrieben werden; wer sie für unvermeidbar hält, zahlt diesen Preis ohne Not. Die bewusste Begrenzung behandelt der Baustein Einfachheit.
Dieser Baustein erklärt Herkunft und Wirkung von Komplexität. Für die bewusste Begrenzung zusätzlicher Mechanismen siehe Einfachheit und Komplexitätsbudget.
Was kann mit Bestellung B-1042 alles passieren?
Rabattregeln und Reservierungsfristen gehören zum Shop-Geschäft. Jede technische Entscheidung fügt Situationen hinzu, die das Geschäft gar nicht verlangt hat. Schalte sie zu und sieh, wie die Bestellung B-1042 komplexer wird.
So liest du das Bild
- Fachlich Die grünen Kacheln, etwa „Reservierung abgelaufen“ – sie bleiben immer.
- Technisch Die orangefarbenen Kacheln, die erst mit einer Entscheidung erscheinen.
- Preis Der Zähler: von 5 auf bis zu 13 Situationen.
5 Situationen, die Bestellung B-1042 beherrschen mussSchalte eine technische Entscheidung dazu.
- FachlichoffenBestellung ist angelegt, Zahlung steht aus.
- FachlichbezahltZahlung ist bestätigt.
- FachlichversendetDie Sendung ist unterwegs.
- FachlichReservierung abgelaufenDie Frist für den Bestand ist verstrichen.
- FachlichGutschein gilt nichtDie Rabattregel schließt ein Produkt aus.
Nutzen & Grenzen
Hilft, wenn
- Änderungen ziehen regelmäßig überraschend viele Bausteine oder Teams nach sich.
- Ein Entwurf führt neue Schichten, Dienste oder Koordinationsmechanismen ein und braucht eine Kosten-Nutzen-Bewertung.
Grenzen
- Fachliche Situationen bleiben bei jedem Entwurf; eine kompakte Struktur darf sie nicht verstecken. Gleiche sie mit den funktionalen Anforderungen ab.
- Technische Situationen sind nicht verboten, sondern ein Preis, der durch belegten Nutzen gedeckt sein muss; siehe Einfachheit.
- Die Zahl der Situationen ist ein Hinweis, kein Maß; Kopplung zeigt, wie sich Änderungen entlang der Wege ausbreiten.
In der Praxis
- Wechselwirkungen erfassen. Zeichne Zustände, Abhängigkeiten und Koordination für einen relevanten Ablauf auf. Das Ergebnis macht sichtbar, wo Verzögerungen, gemeinsame Änderungen oder Fehlerfolgen entstehen.
- Komplexitätsquelle einordnen. Trenne fachliche Regeln von Entscheidungen, die durch Technik oder Organisation hinzukommen. Beziehe Kopplung ein, wenn eine Änderung über viele Bausteine weitergereicht wird.
- Zusatzmechanismen gegen Nutzen prüfen. Benenne den konkreten Vorteil und die dauerhaften Betriebs- und Änderungskosten jeder Ergänzung. Einfachheit hilft, einen Entwurf auf den belegten Bedarf auszurichten.
Ausführliche Erklärung lesen
Fachliche Komplexität entsteht aus Regeln, Zuständen und Ausnahmen des Problemfelds. Technische Komplexität kommt durch zusätzliche Abhängigkeiten, Verteilung, Abstraktionen und Betriebsmechanismen hinzu. Architektur kann notwendige Unterschiede sichtbar ordnen und selbst verursachte Wechselwirkungen begrenzen. Einfachheit betrachtet dafür den tragfähigen Umfang eines Entwurfs; Kopplung beschreibt eine wichtige Quelle technischer Abhängigkeit.
Verständnisaufwand bemisst sich daran, wie gut ein Team Regeln auffindet, Änderungen nachvollzieht und Fehler eingrenzt. Code- und Bausteinzahl liefern zusammen mit diesen Arbeitswegen aussagekräftige Hinweise. Zusätzliche Mechanismen brauchen jeweils einen erkennbaren Nutzen, zuständige Pflege und einen Weg, ihre Wirkung zu überprüfen.
Fred Brooks nennt die Komplexität des Problemfelds wesentlich (essential) und die durch die gewählte Lösung hinzukommende zufällig (accidental).
Selbst prüfen
Teste dich in drei Stufen
AblesenIm Bild nachsehen
Welche Situationen kommen durch „Rechnung asynchron erstellen“ hinzu?
Lösung mit Begründung ansehen
„Rechnung fehlt noch“ und „Rechnungsauftrag doppelt zugestellt“. Beide entstehen erst durch die asynchrone Erstellung, nicht durch das Geschäft.
AnwendenAuf eine neue Lage übertragen
Der Shop führt Teillieferungen ein: Eine Bestellung kann in zwei Paketen kommen. Grüne oder orangefarbene Kachel?
Lösung mit Begründung ansehen
Grün. Teillieferung ist eine Geschäftsregel und bleibt bestehen, egal ob der Shop als Monolith oder mit Diensten gebaut ist. Sie gehört ins Fachmodell.
BewertenEine Alternative abwägen
Lohnt es sich, den Versand als eigenen Dienst zu betreiben, obwohl drei neue Situationen entstehen?
Lösung mit Begründung ansehen
Nur mit belegtem Bedarf, etwa wenn ein eigenes Team den Versand unabhängig veröffentlichen und skalieren muss. Ohne diesen Nutzen bezahlt der Shop drei zusätzliche Fehlerbilder für nichts.
Vertiefen
Diese Bausteine führen die Gedanken dieser Seite weiter.
Quellen
- Google SRE · Simplicity (öffnet in neuem Tab)Erklärt betriebliche Kosten von Komplexität und klare Systemgestaltung.
- Martin Fowler · YAGNI (öffnet in neuem Tab)Erklärt die Kosten vorsorglich eingebauter Funktionen und Abstraktionen.
- Martin Fowler · Bounded Context (öffnet in neuem Tab)Erklärt Modellgrenzen und Beziehungen zwischen unterschiedlichen Fachmodellen.