Die Architekturdisziplin beinhaltet viele Praktiken, Techniken und Mittel, die bei genauerer Betrachtung alle um ein Thema kreisen: Entscheidungen. Für Entscheidungen auf Architekturebene sollten Sie den passenden Kontext haben (Die Basis für Architekturarbeit), Sie sollten mit Kunden und anderen Projektmitarbeitern zusammenwirken, um gute Entscheidungen zu erarbeiten (Zusammenarbeit und Interaktion), und Sie sollten Entscheidungen auf ihre Tauglichkeit prüfen (Abgleich mit der Realität). Daneben sind ganze Bibliotheken mit Büchern gefüllt, die Ihnen die konzeptionelle und technische Basis für Entscheidungen vermitteln wollen. Irgendwann müssen Sie aber auch zum Herzstück selbst vordringen, Sie müssen entscheiden. In diesem Kapitel werden Muster besprochen, die Ihnen dabei helfen, Architekturentscheidungen von unwichtigeren Entscheidungen zu trennen, sie zu planen und bei Bedarf über mehrere Iterationen hinweg zu bearbeiten, sie zum richtigen Zeitpunkt in der richtigen Granularität zu treffen und auftauchende Risiken aktiv zu behandeln.
Um „richtig“ zu entscheiden, sind unterstützende Konzepte wie der LETZTE VERNÜNFTIGE MOMENT, AD-HOC-ARCHITEKTURTREFFEN oder AKTIVE RISIKOBEHANDLUNG wichtig. Ausgangspunkt sind aber in jedem Fall Anforderungen und entsprechende Fragestellungen, die als architekturrelevant erkannt wurden. Die Basis für Architekturarbeit hat diese Anforderungen aufbereitet und liefert die Basis für die hier besprochenen Muster – allen voran ARCHITEKTUR ENTSCHEIDUNGEN TREFFEN.
Lesen Sie Teile dieses Kapitels – inklusive drei vollständigen Mustern! Leseprobe.pdf
Architekturarbeit vom Rest trennen
Wie lassen sich jene Aufgaben identifizieren, die (1) Umsicht bei der Entscheidung, (2) eventuell tiefes Architektur- oder Technologieverständnis und (3) breite Kommunikation und Transparenz benötigen?
Der letzte vernünftige Moment
Wann sollte eine architekturelle Frage stellung idealerweise entschieden werden, um (1) das Risiko einer Fehlentscheidung zu minimieren und (2) eine optimale Entscheidung für das Projekt zu treffen?
Gerade genug Architektur vorweg
Wie viel Architekturarbeit muss vor dem Einstieg in die Realisierung geleistet sein?
Architekturentscheidungen treffen
Welche Tätigkeiten sind nötig, um Architekturentscheidungen effektiv zu treffen, und wie werden sie zeitlich eingeordnet und wahrgenommen?
Release-Planung mit Architektur
Wie werden Abhängigkeiten, Risiken und die Dringlichkeit von architekturellen Fragestellungen geplant berücksichtigt, ohne den Prozess der „normalen“ Umsetzung von Funktionalität unnötig aufzublähen?
Risiken aktiv behandeln
Wie sollten Unsicherheiten, die architekturrelevante Auswirkungen haben, gefunden und behandelt werden?
Im Prinzip entscheiden
Wie können mehrere Projektmitglieder (Architektur-)entscheidungen bearbeiten, ohne die Konsistenz und Integrität der Software entscheidend zu verringern?
Ad-hoc Architekturtreffen
Wie können architektonische Herausforderungen oder Unsicherheiten, die während der Umsetzung auftauchen, schnell und trotzdem solide behandelt werden?