Sie sind hier
Agiles Code Design - Wie bleibt Code flexibel?
Agile Prozesse ermöglichen uns jederzeit auf geänderte Kundenwünsche einzugehen. Aber was ist schief gegangen wenn plötzlich die Entwickler sagen, dass sie das neue Feature nicht mehr in vernünftiger Zeit einbauen können?
Agile Softwareentwicklungsmethoden wie Scrum und Kanban führen zu neuen Herausforderungen bezüglich Architektur und Design von Software. Quellcode muss auf eine Art strukturiert sein, dass Änderungen an den Anforderungen bei gleichbleibender hoher Qualität und Entwicklungsgeschwindigkeit eingearbeitet werden können.
Prinzipien wie SOLID, Modularität, Loose Kopplung, Dependency Injection und Praktiken wie Akzeptanztest- und Test-getriebene Entwicklung ermöglichen uns ein veränderbares Design
Durch diese Flexibilität wächst die Architektur Funktionalität um Funktionalität zusammen mit den Kundenanforderungen.
Relevanz
Entwickler: Der agile Entwickler ist auch der Designer seiner Software. Ohne das Bewusstsein, dass das Design auf langfristige Entwicklungsgeschwindigkeit und Qualität optimiert werden muss, geraten Projekte schnell ins Stocken und Ertrinken in einer Unmenge an Technical Debt.
Architekt: Als Leader des Teams bezüglich Architektur und Design, muss der Architekt Schwerpunkte setzen bezüglich Verwendung von Modulen, Looser Kopplung, Dependency Injection und auch Praktiken einvordern, welche eine evolvierbare Architekur ermöglichen.
Projektmanager: Nur wenn neben dem gewählten Prozess auch der Quellcode agil bleibt und ohne Zusatzaufwände erweitert und verändert werden kann, ist langfrisitg ein Eingehen auf neue und geänderte Kundenwünsche möglich.