© Liashko/Shutterstock.com
Entwickler Magazin
Wann lohnt sich agile Softwareentwicklung, und wie geht es besser?

Agilität - Wie dynamisch sind Sie?

Agile Softwareentwicklung hat einen beispiellosen Siegeszug hinter sich. Scrum hat Wasserfall als den Standardprozess abgelöst. Mittlerweile setzt aber Ernüchterung ein - und es wird auch zunehmend Kritik laut. Dieser Artikel zeigt auf, wo Agilität angebracht ist und welche Auswirkungen agile Softwareentwicklung auf das Geschäft hat - und wie sich auch das Geschäft ändern muss.

Eberhard Wolff


Ein mittlerweile typisches Beispiel für einen agilen Prozess ist Scrum [1] (Abb. 1):

Im Product Backlog wird alles aufgenommen, was für das zu entwickelnde Produkt relevant ist. Dazu zählen Features oder auch nicht funktionale Anforderungen.Aus dem Product Backlog werden die Elemente in das Sprint Backlog übernommen, die im nächsten Sprint bearbeitet werden sollen.Ein solcher Sprint dauert typischerweise zwei bis vier Wochen. In dieser Zeit wird das Sprint Backlog bearbeitet.Während des Sprints werden in täglichen Scrum-Meetings die aktuellen Aufgaben und Herausforderungen besprochen.Am Ende des Sprints wird ein auslieferbares Produkt­inkrement geliefert. Die Software könnte also installiert werden und ist ablauffähig. Oft wird sie dem Kunden aber lediglich in einem Review vorgestellt.

Abb. 1: Scrum als agiler Prozess

Warum ist diese Vorgehensweise nun sinnvoll? Ein Grund ist Feedback. Die Software kann bereits genutzt werden, und so kann das Feedback aus der Nutzungserfahrung direkt in die weitere Entwicklung einfließen. Wenn beispielsweise neue Software für ein E-Com­merce-System implementiert werden soll, kann zunächst eine verbesserte Produktsuche, eine Unterstützung für Expressbestellungen und schließlich eine Funktion zum Empfehlen von Produkten geplant werden. Nehmen wir an, dass in einem Sprint die Produktsuche implementiert wird und diese Suche im Shop einen großen Erfolg hat. Dann kann zunächst eine weitere Verbesserung der Suche umgesetzt werden, statt die beiden anderen Features zu implementieren. Ebenso können völlig neue Ideen eingeplant werden, denn oft entstehen Ideen erst, wenn der Kunde das Feature in Produktion sieht – gleiches gilt beispielsweise für Features, die Mitwettbewerber an den Markt gebracht haben. Anforderungen sind eben nie stabil. Daher sind schnelles Feedback und die Möglichkeit, den Plan zu ändern, sehr wichtig.

Ein weiterer Vorteil von agilen Ansätzen ist, dass der Fortschritt des Projekts sehr gut nachvollziehbar ist. Während eines Sprints kann die Abschätzung, wie viel Arbeit noch getan werden muss, mit der tatsächlich verfügbaren Zeit abgeglichen werden. Außerdem wird am Ende jedes Sprints Software ausgeliefert. Dadurch ist jederzeit klar erkennbar, welche Funktionalitäten tatsächlich schon implementiert sind und in Produktion gehen können. Es ist ausgeschlossen, dass es zu Überraschungen kommt, bei denen am Ende der Projektlaufzeit viel zu wenig tatsächlich implementiert worden ist. Auf diese Weise kann das Risiko min...

Entwickler Magazin
Wann lohnt sich agile Softwareentwicklung, und wie geht es besser?

Agilität - Wie dynamisch sind Sie?

Agile Softwareentwicklung hat einen beispiellosen Siegeszug hinter sich. Scrum hat Wasserfall als den Standardprozess abgelöst. Mittlerweile setzt aber Ernüchterung ein - und es wird auch zunehmend Kritik laut. Dieser Artikel zeigt auf, wo Agilität angebracht ist und welche Auswirkungen agile Softwareentwicklung auf das Geschäft hat - und wie sich auch das Geschäft ändern muss.

Eberhard Wolff


Ein mittlerweile typisches Beispiel für einen agilen Prozess ist Scrum [1] (Abb. 1):

Im Product Backlog wird alles aufgenommen, was für das zu entwickelnde Produkt relevant ist. Dazu zählen Features oder auch nicht funktionale Anforderungen.Aus dem Product Backlog werden die Elemente in das Sprint Backlog übernommen, die im nächsten Sprint bearbeitet werden sollen.Ein solcher Sprint dauert typischerweise zwei bis vier Wochen. In dieser Zeit wird das Sprint Backlog bearbeitet.Während des Sprints werden in täglichen Scrum-Meetings die aktuellen Aufgaben und Herausforderungen besprochen.Am Ende des Sprints wird ein auslieferbares Produkt­inkrement geliefert. Die Software könnte also installiert werden und ist ablauffähig. Oft wird sie dem Kunden aber lediglich in einem Review vorgestellt.

Abb. 1: Scrum als agiler Prozess

Warum ist diese Vorgehensweise nun sinnvoll? Ein Grund ist Feedback. Die Software kann bereits genutzt werden, und so kann das Feedback aus der Nutzungserfahrung direkt in die weitere Entwicklung einfließen. Wenn beispielsweise neue Software für ein E-Com­merce-System implementiert werden soll, kann zunächst eine verbesserte Produktsuche, eine Unterstützung für Expressbestellungen und schließlich eine Funktion zum Empfehlen von Produkten geplant werden. Nehmen wir an, dass in einem Sprint die Produktsuche implementiert wird und diese Suche im Shop einen großen Erfolg hat. Dann kann zunächst eine weitere Verbesserung der Suche umgesetzt werden, statt die beiden anderen Features zu implementieren. Ebenso können völlig neue Ideen eingeplant werden, denn oft entstehen Ideen erst, wenn der Kunde das Feature in Produktion sieht – gleiches gilt beispielsweise für Features, die Mitwettbewerber an den Markt gebracht haben. Anforderungen sind eben nie stabil. Daher sind schnelles Feedback und die Möglichkeit, den Plan zu ändern, sehr wichtig.

Ein weiterer Vorteil von agilen Ansätzen ist, dass der Fortschritt des Projekts sehr gut nachvollziehbar ist. Während eines Sprints kann die Abschätzung, wie viel Arbeit noch getan werden muss, mit der tatsächlich verfügbaren Zeit abgeglichen werden. Außerdem wird am Ende jedes Sprints Software ausgeliefert. Dadurch ist jederzeit klar erkennbar, welche Funktionalitäten tatsächlich schon implementiert sind und in Produktion gehen können. Es ist ausgeschlossen, dass es zu Überraschungen kommt, bei denen am Ende der Projektlaufzeit viel zu wenig tatsächlich implementiert worden ist. Auf diese Weise kann das Risiko min...

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