Ein Sprint scheitert nicht an der Methode, sondern am zu großen Scope. Oft nehmen wir uns einfach zu viel vor!
Deswegen: Agile Softwareentwicklung beginnt bei uns selbst!
Was braucht der Anwender wirklich?
Das ist die zentrale Frage: wir entwickeln Software, in und für Unternehmen, mit dem Ziel Anwendern die Arbeit zu erleichtern.
Das Wesentliche ist demnach der Bedarf des Anwenders. Diesen Bedarf sollten wir mit vertretbarem Aufwand erfüllen.
Was bedeutet Agilität für uns?
Codesequenzen und Strukturen die auf die Zukunft ausgelegt sind waren früher oft im Fokus.
Heute sehe ich das anders: Strukturen die später eine einfache Erweiterung ermöglichen sollen sind maximal Technologien die wir nutzen wie Dependency Injection.
Im Gegensatz dazu stehen komplexe Klassenstrukturen nur um später vielleicht eine gute Erweiterbarkeit zu bekommen. Eine Basisklasse lohnt sich erst, wenn mehr als eine Klasse davon abgeleitet ist. Bis auf wenige Fälle sehe ich das für Schnittstellen ganz ähnlich.
Agile Architektur: Nur was nötig ist.
Den Bedarf des Kunden zum heutigen Wissenstand befriedigen mit klaren und einfachen Mitteln – fokussiert.
Agil beginnt nicht mit Tools – sondern mit der Verantwortung nur das Wesentliche zu implementieren!
