Was ist agile Softwareentwicklung?

was-ist-agile-softwareentwicklung

Stellen wir uns einmal vor, wir möchten in den Urlaub fahren, und zwar an einen Ort, zu dem wir zu vor noch nicht gefahren sind. Selbstverständlich ergibt es Sinn, sich vor Abfahrt kurz die Route anzuschauen, zu überlegen, wie viel Benzin und Zeit man benötigt. Doch am Ende – und ich wette, das kennen wir alle – läuft alles doch ganz anders, als wir es geplant haben. Vielleicht geraten wir in einen Stau? Möglicherweise hat die Karte uns eine Umleitung vorenthalten? Oder wir machen einen zusätzlichen Stopp an einer Sehenswürdigkeit?

Wieso agile Softwareentwicklung?

So, oder zumindest so ähnlich geht es vielen unserer Kunden in Projekten aus der Softwareentwicklung, wo noch in klassischen Standards gedacht wird. Bereits vor Beginn des Projekts muss jede noch so kleine Anforderung ausführlich niedergeschrieben werden. Dadurch verschiebt sich nicht nur der Start des eigentlichen Projektes. Vielmehr entdeckt man während der eigentlichen Entwicklungsarbeit neue Features, die benötigt werden und alte Anforderungen, die möglicherweise obsolet sind. Solche Veränderungen in der laufenden Entwicklung sind nicht nur kostspielig, sondern auch mindestens genauso zeitintensiv und sorgen für weitere Verzögerungen im Projekt.

Im Projektmanagement spricht man bei dieser Vorgehensweise vom sogenannten klassischen Projektmanagement. Klassisches Projektmanagement verfolgt einen sogenannten monolithischen, also von Anfang bis Ende zusammenhängenden Ansatz. Was bedeutet das? Zu Beginn eines Projektes werden ein detaillierter Endzustand, ein genauer Ablauf bzw. Prozess und ein Zeitkontingent definiert. Besonders der vordefinierte Endzustand besteht meist aus einer Unmenge an Anforderungen. Um auf mögliche unvorhergesehene Änderungen und Entwicklungen „vorbereitet“ zu sein, rechnet man beim Zeitkontingent einen kleinen Puffer hinzu. Somit zeichnet das klassische Projektmanagement vor allem eines aus: Eine augenscheinlich hohe Planungssicherheit.

Vorteile agiler Softwareentwicklung

Agilität bedeutet Flexibilität. Deshalb kommen agile Methoden zur Softwareentwicklung ohne Pflichtenhefte aus. Die Stakeholder geben zu Beginn des Projektes lediglich ein paar wenige Basis-Features vor, die das Projekt abdecken soll. Im Anschluss startet das Projekt – ohne große Wartezeiten, Verzögerungen oder ähnliches. Im weiteren Verlauf des Projektes können dann je nach Bedarf weitere Anforderungen definiert werden. Beispielsweise, weil eine Veränderung am Markt dies herbeiführt. Man nennt dieses Vorgehen iteratives Vorgehen. Hierbei profitiert man in erster Linie von den Erfahrungen, die man am laufenden Projekt macht, da man diese in weitere Features und Co. einfließen lassen und das Produkt so weiterentwickeln kann.

Mit diesem agilen Vorgehen kann man sich so zudem einen echten und hochwertigen Vorteil gegenüber dem Wettbewerb verschaffen. Durch die kurzen Kommunikationswege zwischen Entwicklern und Stakeholdern wird das Projekt schneller fertiggestellt, was in einer schnelleren Time-To-Market resultiert. Dadurch haben wir unsere App, unsere Software oder ähnliches bereits auf dem Markt, während die Konkurrenz vielleicht gerade erst das Projekt initiiert hat. Diese Zeit können wir dann wiederum nutzen, um auf Feedback der User einzugehen und dieses in die Software einfließen zu lassen. All das, während die Konkurrenz möglicherweise noch nicht ein einziges echtes Kundenfeedback einholen konnte.

Auch die Entwickler profitieren

Wann sind Entwickler am glücklichsten? In der Regel dann, wenn sie sich mit ihrer Arbeit und der entstandenen Qualität identifizieren können. Agile Frameworks, wie zum Beispiel das von SCRUM, bieten hierfür den perfekten Rahmen. Hier schätzen die Entwicklungsteams den Aufwand ihrer Arbeit beispielsweise selbst und kriegen nicht einfach einen übermäßigen Haufen an Aufgaben auf ihren Schreibtisch gelegt. Ebenso müssen sie für ihren geschätzten Output auch geradestehen, was ihnen eine gewisse Verbindung zu ihren Aufgaben gibt. Auch hier geht man iterativ vor und wird bei den Schätzungen mit der Zeit immer genauer.

In agilen Teams misst man zudem die Geschwindigkeit, mit der die Teams in ihren Zyklen arbeiten. Nicht, um den Entwicklern am Ende ihre Geschwindigkeit vorzuwerfen, sondern um den optimalen Auslastungsgrad für das Team zu finden. Natürlich ist jeder Mensch verschieden und gerade im Arbeitsumfeld spricht nicht jeder gerne davon Spaß zu haben. Doch wir haben die Erfahrung gemacht, dass agile Teams, meist mehr Spaß im Arbeitsalltag haben und dadurch auch produktiver arbeiten. Gründe dafür dürften neben den bereits genannten sicherlich auch die verbesserte interne Kommunikation und Zusammenarbeit sein. Gefördert durch Daily Stand-ups und Retrospektiven.

Agile Softwareentwicklung: Iteratives Vorgehen und Feedback

Bei der agilen Entwicklung von Software geht es im Grunde also um häufige Rückkopplungsprozesse und iteratives Vorgehen – und zwar auf allen Ebenen. Bei den Entwicklern, beim Management und grundsätzlich im Team. Das sogenannte Mindset, also die Denkweise der einzelnen spielt in der Agilität eine gewichtige Rolle. Denn um dieser Arbeitsweise grundlegend treu zu bleiben, muss diese einfach stimmen und dazu passen. Mitarbeiter, die weiterhin klassisch denken, werden in einem agilen Projekt eher nicht glücklich und gefährden möglicherweise sogar den Erfolg des Projektes.

Wo wir auch schon bei den potenziellen Problemen sind. Nachdem wir bis hierhin lediglich über Vorteile gesprochen haben, stellt sich selbstverständlich die Frage nach dem Haken an der Sache. Das Einführen agiler Methoden, agiler Denkweisen und agiler Strukturen kann besonders zu Beginn für sehr viel Kopfschmerzen sorgen. Man muss sich von alten Gewohnheiten lösen, neue Varianten akzeptieren und diese kontinuierlich optimieren. Solltest du eine agile Struktur einführen wollen, brauchst du also vor allem eins: Geduld. Oder natürlich professionelle und erfahrene Unterstützung.

Was ist eine Sprint Retrospektive? Erklärung von Roman Simschek

In der neuen Ausgabe unseres YouTube-Formats Agile Heroes Education geht Roman Simschek, Co-Founder der Agile Heroes und erfahrener SCRUM Master, der Sprint Retrospektive höchstpersönlich auf den Grund und legt seine Ansicht zu dem Thema dar. Dabei handelt es sich keinesfalls um eine vollwertige Definition, sondern vielmehr um einen Erklärungsansatz, gebildet aus Romans langjähriger Erfahrung.

Wenn dir das Video gefällt und du danach Lust auf noch mehr Content hast, bist du hier genau richtig. Mit unserem Blog, unserem YouTube-Kanal und Podcast versorgen wir dich mindestens zweimal die Woche mit hochwertig produziertem Content zu diesem grandiosen Themenbereich. Wenn dir das noch nicht genügt, dann kannst du uns außerdem gerne noch auf einem unserer Social Media Kanäle folgen. Dort bieten wir dir tägliche mehrere Inhalte und auch spannendes Behind-the-Scenes Material. Für weiter Informationen zu unserem Content kannst du dir außerdem gerne noch unseren Kanaltrailer auf YouTube anschauen. Darin erklären dir die beiden Co-Founder ganz genau, was dich in Zukunft auf den Kanälen der Agile Heroes so erwartet. Außerdem kannst du dich auch für unseren wöchentlich erscheinenden Newsletter anmelden. So verpasst du nie wieder unseren Content.

Erfahre jetzt, wie die Agile Heroes bei der Umsetzung von agilen Projekten helfen können!