Nachlese - Design It. From Programmer to Software Architect von Michael Keeling
Design it! Von Michael Keeling ist ein Rundumschlag zum Thema Softwaredesign. Der Fokus liegt auf dem Prozess, wie man zu einem guten Design kommt. Deswegen werden Designs selbst kaum diskutiert. Hierfür schlägt der Autor vor, dass man sich eine eigene Pattern-Basis entwickeln sollte, mit deren Hilfe man seine häufig vorkommenden Probleme löst. Mit Entwicklung ist hier die Auswahl bestehender Muster und punktueller Anapassung gemeint als einer vollständigen Neuentwicklung (“all design is redesign”).
Das Buch setzt wenige Grundlagen voraus, dadurch ist es an einigen Stellen für meinen Geschmack etwas zu banal (“nutzen Sie Diagramme, um Ideen sichtbar zu machen” ach was). Das kann daran liegen, dass das Buch sich an Programmierer richtet, die Softwarearchitekten werden wollen. Für den deutschsprachigen Raum kann ich mir nicht allerdings vorstellen, dass man ohne einige der erklärten Dinge als Programmierer arbeiten kann.
Im ersten Teil wird zuerst Architektur generell eingeführt und als Basisprozess für die Entwicklung von Software Architekturen Design Thinking vorgestellt, was sich aber erstmal nur auf die vier Phasen Understand, Explore, Make, Evaluate bezieht. Keeling betont, dass es wichtig ist, nicht permanent zwischen den Phasen hin- und herzuspringen, sondern zu versuchen, zumindest zeitweise auf eine Phase zu konzentrieren (also nicht in der Make-Phase direkt alles zu verwerfen, weil man gedanklich schon parallel evaluiert).
Im zweiten Teil wird der gesamte Designprozess durchlaufen, angefangen bei der Entwicklung einer Design Strategie, über die Anforderungsaufnahme (mit Stakeholdern emphatisch sein), Auswahl einer Architektur (nicht selbst entwickeln!), der Frage wie man mit Komplexität umgeht (mit Modellen) und wie man Entscheidungen und die Architektur beschreibt.
Im dritten Teil des Buches werden für jeder der vier Design Thinking Phasen passende Tools vorgestellt. Hier waren einige sehr detailliert (z. B. Component Responsiblity Cards) andere waren banal (erstellen und halten Sie eine Präsentation der Architektur vor den Stakeholdern)
Viele Referenzen zum Vertiefen der einzelnen Themen machen das Buch aus meiner Sicht zu einem insgesamt guten Buch für die Übersicht über Design-Prozesse.