Technologieentscheidungen sind wichtig, aber sie sind nicht die erste Architekturentscheidung. Wenn Datenbank, Framework oder Deployment feststehen, bevor der Prozess verstanden ist, beginnt das Projekt leicht den Werkzeugen statt der Geschäftsaufgabe zu dienen.
Ich beginne meist mit Prozess und Daten: Wer erzeugt Informationen, wo ändern sie sich, was ist die Quelle der Wahrheit, welche Vorgänge sind zeitkritisch, was kann unabhängig arbeiten und was muss den Ausfall einer Komponente überstehen?
Der Stack wird damit zur Folge der Anforderungen. Das reduziert zufällige Abhängigkeiten, macht Updates planbarer und erlaubt Architektur anhand von Ergebnissen zu bewerten: Zeit, Betriebskosten, Verfügbarkeit, Wiederherstellung und Weiterentwicklung.