Denken, dann machen: konzept-zentrierte Architekturarbeit und agiles Vorgehen kombinieren
„Komm, wir analysieren das jetzt nicht tot, lass uns loslegen.“, „Wir können das später ja nochmal anders machen.“ Kennt ihr das? Woher kommt eigentlich die Zurückhaltung bei agiler Entwicklung, Zeit in die Gestaltung gut durchdachter Architekturkonzepte zu investieren? Wir machen immer wieder die Erfahrung, dass grundsätzlich gute Ideen der agilen Softwareentwicklung umgedeutet werden, um so den Unwillen für Konzeption zu rechtfertigen.
Aber agile Entwicklung heißt nicht, dass man nicht so genau über die Lösung nachdenken sollte. YAGNI sagt uns nicht, Dinge zu ignorieren, die wir bereits wissen. Und Fokus auf Refactoring bedeutet auch nicht, dass man alle zentralen Architekturentscheidungen ganz leicht wieder ändern kann.
In der Folge wird, wenn es gut läuft, etwas Architekturarbeit im Sprint 0 gemacht, die Systemstruktur rudimentär definiert und etwas über Deployment nachgedacht. Die große Menge an zentralen Konzepte aber wird nicht weit genug ausgearbeitet und zentrale Entscheidungen ad-hoc beim Programmieren getroffen.
Wir finden das schade, denn das macht die Entwicklung oft teurer und das Ergebnis schlechter als es sein müsste. Dabei können agile Entwicklung und Architekturarbeit extrem gut Hand-in-Hand gehen.
In unserem Vortrag plädieren wir dafür, Architekturarbeit konzeptzentriert zu machen und als kontinuierliche Aktivität mit agiler Entwicklung zu verknüpfen. Denn wer an Konzepten arbeitet, denkt automatisch über das nach, was im System wirklich wichtig ist – fachlich wie technisch. Gut gestaltete Architekturkonzepte bilden starke inhaltliche Klammern und fördern so die Kohärenz von Lösungsansätzen. Zusätzlich sorgen sie dafür, dass wiederkehrende Herausforderungen innerhalb eines Systems immer auf einheitliche Art gelöst werden.
Wir beleuchten Architekturkonzepte im Detail und erläutern mit vielen Beispielen, was für uns ein gutes Architekturkonzept ausmacht, welche Arten von Konzepten es gibt und wie sich Konzepte strukturiert gestalten, dokumentieren und beispielsweise in Templates wie arc42 integrieren lassen. Basierend darauf zeigen wir, wie wir in unseren Projekten die Erarbeitung von Architekturkonzepten mit agilen Vorgehen kombinieren. So bauen wir Systeme, die besser gestaltet sind und länger leben können.
Softwarearchitekt und Co-Founder
Dominik Rost ist Softwarearchitekt und Co-Founder von Full Flamingo. Er hilft Unternehmen pragmatisch, die wichtigen Entscheidungen in der Softwareentwicklung zu gestalten und abzusichern. Besonders gerne kümmert er sich um die Dokumentation von Softwarearchitekturen, macht Architektur-Reviews und unterstützt bei der Modernisierung von Legacy Systemen. Außerdem schreibt er gerne Code, wann immer es möglich ist.
Mehr Inhalte dieses Speakers? Schaut doch mal bei sigs.de vorbei: https://www.sigs.de/experten/dominik-rost/
Software-Architekt und Co-Founder
Matthias Naab ist Software-Architekt, Berater und Co-Founder des Unternehmens „Full Flamingo“. Er hilft Unternehmen pragmatisch, die wichtigen Entscheidungen in der Softwareentwicklung zu treffen und abzusichern. Sein Fokus liegt auf dem Big Picture Engineering, das heißt der gezielten Analyse und Gestaltung komplexer Zusammenhänge in software-intensiven Systemen, insbesondere Digitaler Plattformen und bei der Systemmodernisierung. Er berät mit Leidenschaft Unternehmen zum Thema Softwarearchitektur, Softwareentwicklung und Plattformökonomie und möchte diese Leidenschaft auch bei anderen Menschen entfachen.
Mehr Inhalte dieses Speakers? Schaut doch mal bei sigs.de vorbei: https://www.sigs.de/experten/matthias-naab/
Vortrag Teilen