© Liashko/Shutterstock.com
Entwickler Magazin
Warum viele Organisationen weniger agil sind, als sie denken

Agile Anti-Patterns

Mit der zunehmenden Verbreitung agiler Softwareentwicklung steigt auch die Zahl der problematischen Projekte. Ziele wie eine schnelle Reaktionsfähigkeit auf Änderungswünsche werden nicht erreicht, obwohl (vordergründig) nach agilen Grundsätzen vorgegangen wird. In diesem Artikel fassen wir wiederkehrende Praxiserlebnisse in Form von Anti-Patterns zusammen und schildern, wie agile Entwicklung in vielen Fällen zu dogmatisch gelebt oder als Ausrede für schlechte Projektorganisation missbraucht wird. Diese so genannten Anti-Patterns ermöglichen dem Leser, eigene Projekte auf ähnliche Missstände zu prüfen und gegebenenfalls dagegen vorzugehen.

Matthias Naab, Klaus Krogmann, Oliver Hummel


Bereits kleinere und mittlere Softwareprojekte unterliegen vielfältigen Einflüssen und erzeugen damit ein hohes Maß an Planungsunsicherheit. Noch bis weit in die Neunzigerjahre hinein wurde versucht, diesen Gegebenheiten mit strukturierten, phasenbasierten Vorgehensmodellen zu begegnen, die dabei helfen sollten, eine zuvor definierte Menge von Anforderungen systematisch in ausführbare Software zu verwandeln. Erst langjährige und oft schmerzhafte Erfahrungen mit ins Stocken geratenen oder komplett fehlgeschlagenen Projekten ließen in Praxis und Wissenschaft die Erkenntnis reifen, dass die kontinuierlichen Wendungen und Überraschungen eines Softwareprojekts auch durch eine noch so gute Planung nicht aus der Welt zu schaffen sind [1]. Entsprechend fanden in den letzten Jahren agile Vorgehensmodelle, die pragmatisch auf Änderungen reagieren, immer weitere Verbreitung. Dogmatisch oder schlicht falsch angewendete agile Prinzipien führen jedoch nach unseren Beobachtungen in der Praxis häufig zu altbekannten Problemen: Projekte geraten ins Stocken, sodass Entwicklungsorganisationen ihre Agilität im Wettbewerb um Aufträge und Kunden verlieren. Häufig treten dabei wiederkehrende Fehler („Anti-Patterns“) zu Tage, die wir in diesem Artikel näher beleuchten möchten, um mögliche Vermeidungsstrategien aufzuzeigen.

Grundideen agiler Entwicklung …

Agile Entwicklung ist ein Schlagwort, unter dem verschiedene „leichtgewichtige“ Ideen und Best Practices mit dem Ziel zusammengefasst werden, trotz Planungsunsicherheit auf dem Weg zum Projektziel zu bleiben. Das agile Manifest [2] aus dem Jahre 2001 beschreibt einige grundlegende Ideen, die das Verständnis von agiler Entwicklung bis heute prägen. Es setzt bewusst Akzente auf nicht technische Aspekte wie Individuen und deren Interaktionen, die vor dem Hintergrund der bis dahin vorherrschenden wasserfallartigen Entwicklungsprozesse provokant erscheinen, bestätigt aber gleichzeitig den Wert etablierter Entwicklungspraktiken.

Während das agile Manifest nur grundsätzliche Eckpfeiler definiert, gibt es mittlerweile zahlreiche agile Methoden und Entwicklungspraktiken, die Agilität praktikabel machen: Scrum [3] ist wahrscheinlich das derzeit bekannteste Beispiel dafür, beschränkt sich im Wesentlichen aber auf Handlungsempfehlungen für das Projektmanagement. Es empfiehlt, die Systementwicklung in überschaubare Sprints zu untergliedern und den Projektfortschritt durch regelmäßige Überprüfungen transparent zu machen, um erkannte Probleme d...

Entwickler Magazin
Warum viele Organisationen weniger agil sind, als sie denken

Agile Anti-Patterns

Mit der zunehmenden Verbreitung agiler Softwareentwicklung steigt auch die Zahl der problematischen Projekte. Ziele wie eine schnelle Reaktionsfähigkeit auf Änderungswünsche werden nicht erreicht, obwohl (vordergründig) nach agilen Grundsätzen vorgegangen wird. In diesem Artikel fassen wir wiederkehrende Praxiserlebnisse in Form von Anti-Patterns zusammen und schildern, wie agile Entwicklung in vielen Fällen zu dogmatisch gelebt oder als Ausrede für schlechte Projektorganisation missbraucht wird. Diese so genannten Anti-Patterns ermöglichen dem Leser, eigene Projekte auf ähnliche Missstände zu prüfen und gegebenenfalls dagegen vorzugehen.

Matthias Naab, Klaus Krogmann, Oliver Hummel


Bereits kleinere und mittlere Softwareprojekte unterliegen vielfältigen Einflüssen und erzeugen damit ein hohes Maß an Planungsunsicherheit. Noch bis weit in die Neunzigerjahre hinein wurde versucht, diesen Gegebenheiten mit strukturierten, phasenbasierten Vorgehensmodellen zu begegnen, die dabei helfen sollten, eine zuvor definierte Menge von Anforderungen systematisch in ausführbare Software zu verwandeln. Erst langjährige und oft schmerzhafte Erfahrungen mit ins Stocken geratenen oder komplett fehlgeschlagenen Projekten ließen in Praxis und Wissenschaft die Erkenntnis reifen, dass die kontinuierlichen Wendungen und Überraschungen eines Softwareprojekts auch durch eine noch so gute Planung nicht aus der Welt zu schaffen sind [1]. Entsprechend fanden in den letzten Jahren agile Vorgehensmodelle, die pragmatisch auf Änderungen reagieren, immer weitere Verbreitung. Dogmatisch oder schlicht falsch angewendete agile Prinzipien führen jedoch nach unseren Beobachtungen in der Praxis häufig zu altbekannten Problemen: Projekte geraten ins Stocken, sodass Entwicklungsorganisationen ihre Agilität im Wettbewerb um Aufträge und Kunden verlieren. Häufig treten dabei wiederkehrende Fehler („Anti-Patterns“) zu Tage, die wir in diesem Artikel näher beleuchten möchten, um mögliche Vermeidungsstrategien aufzuzeigen.

Grundideen agiler Entwicklung …

Agile Entwicklung ist ein Schlagwort, unter dem verschiedene „leichtgewichtige“ Ideen und Best Practices mit dem Ziel zusammengefasst werden, trotz Planungsunsicherheit auf dem Weg zum Projektziel zu bleiben. Das agile Manifest [2] aus dem Jahre 2001 beschreibt einige grundlegende Ideen, die das Verständnis von agiler Entwicklung bis heute prägen. Es setzt bewusst Akzente auf nicht technische Aspekte wie Individuen und deren Interaktionen, die vor dem Hintergrund der bis dahin vorherrschenden wasserfallartigen Entwicklungsprozesse provokant erscheinen, bestätigt aber gleichzeitig den Wert etablierter Entwicklungspraktiken.

Während das agile Manifest nur grundsätzliche Eckpfeiler definiert, gibt es mittlerweile zahlreiche agile Methoden und Entwicklungspraktiken, die Agilität praktikabel machen: Scrum [3] ist wahrscheinlich das derzeit bekannteste Beispiel dafür, beschränkt sich im Wesentlichen aber auf Handlungsempfehlungen für das Projektmanagement. Es empfiehlt, die Systementwicklung in überschaubare Sprints zu untergliedern und den Projektfortschritt durch regelmäßige Überprüfungen transparent zu machen, um erkannte Probleme d...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang