30 The conflict between agile and architecture - myth or reality?
Ein häufiges Missverständnis ist, dass sich ein agiles Vorgehen mit der Verwendung von Software-Architekturen nicht vertragen. Das Agile Manifest sieht es im allgemein vor, auf Änderungen zu reagieren anstatt einen konkreten Plan zu verfolgen. Allerdings brauchen agile Projekte, sowie i.d.R. alle Softwareprojekte, eine Architektur. Aus diesem Grund gibt es auch keinen Konflikt zwischen "agil" und "Architektur".
Architektur kann, zusammengefasst, als Struktur und Vision des Projekt verstanden werden. Ein Hauptaugenmerk ist es, signifikante Design Entscheidungen zu verstehen.
Viele Teams, welche ein agiles Vorgehn umsetzen, machen den Fehler, sich zu Beginn auf garkein Design festzulegen und das große Ganze nicht zu analysieren. Stattdessen wird stetig auf Veränderungen reagiert, was zu einem anhaltenden Zyklus aus refactoring führt.
Ein Software-Architekt definiert Grenzen der Entwicklung. Innerhalb dieser Grenzen können beliebige Entwicklungsverfahren verwendet werden. Ein Software-Architekt kümmert sich letztendlich darum, eine Art Framework für die Entwicklung zu erzeugen und Grenzen aufzuzeigen.