Wasserfall vs. Agile: Welche ist die richtige Entwicklungsmethodik für Ihr Projekt?

Die Technologien ändern sich ständig, ebenso wie die Managementmethoden. Was gestern funktionierte, funktioniert heute vielleicht nicht und umgekehrt. Wie können Sie dann sicher sein, dass Ihr Projekt korrekt gemanaged wird? Im Folgen wird näher beleuchtet, was Wasserfall und die Agile Methode ist und was für welchen Einsatzzweck geeignet ist. Wasserfall ist ein traditioneller, prozeduraler Ansatz für die Softwareentwicklung. Es existieren definierte Schritte mit einem klaren Anfang und Ende. Größere Probleme treten auf sobald Änderungen am Umfang durchgeführt werden müssen. Der agile Ansatz besteht aus adaptiver Planung, evolutionärer Entwicklung mit häufigen und kontinuierlichen Lieferungen. Änderungen des Umfangs, ohne dass das Projekt als Ganzes beeinträchtigt wird, sind durchführbar.

Die 5 großen Vorteile Von Wasserfall:

  1. Planung und Gestaltung ist übersichtlicher, weil sich Entwickler und Kunden zu Beginn darauf einigen was geliefert werden soll.
  2. Der Fortschritt lässt sich leichter messen, da der gesamte Umfang der Arbeiten im Voraus bekannt ist.
  3. Während der gesamten Entwicklungsarbeit ist es möglich, dass verschiedene Teammitglieder je nach aktiver Phase des Projekts beteiligt sind oder mit anderen Arbeiten fortfahren. So können beispielsweise Business-Analysten erfahren und dokumentieren, was zu tun ist, während die Entwickler an anderen Projekten arbeiten. Tester können während der Codierung Testskripte aus der Anforderungsdokumentation erstellen.
  4. Mit Ausnahme von Überprüfungen, Genehmigungen, Statusbesprechungen usw. ist eine Kundenpräsenz nach der Anforderungsphase nicht unbedingt erforderlich.Da das Design bereits in einem frühen Stadium des Entwicklungslebenszyklus abgeschlossen ist, eignet sich dieser Ansatz für Projekte, bei denen mehrere Softwarekomponenten (teilweise parallel) für die Integration mit externen Systemen konzipiert werden müssen.
  5. Schließlich kann die Software vollständig und sorgfältiger, basierend auf einem umfassenderen Verständnis aller Software-Ergebnisse, entworfen werden. Dies bietet ein besseres Softwaredesign mit geringerer Wahrscheinlichkeit für den „Stückwerkseffekt“, ein Entwicklungsphänomen, das auftreten kann, wenn Codeteile definiert und anschließend einer Anwendung hinzugefügt werden, wo sie möglicherweise gut passen oder nicht.

Die 5 großen Vorteile von Agile:

  1. Die Kunden sind stark involviert. Das Konzept begrüßt ein hohes Maß an Zusammenarbeit, sowohl innerhalb eines Teams als auch mit dem Kunden. Dadurch erhält der Kunde einen vollständigen Überblick über das Projekt und die App erfüllt die Erwartungen des Kunden.
  2. Ein funktionierendes Produkt existiert schon in der Frühphase. Da das Ziel jeder Iteration darin besteht, ein funktionierendes Produkt zu liefern, kann die App oder der Service fast zu Beginn präsentiert werden und der Kunde kann das Ergebnis vorab bewerten. Einige Softwareprodukte können bereits auf halbem Weg eingesetzt werden, d.h. sie beginnen schon lange vor Projektende mit einem Return on Investment.
  3. Entwicklungsrisiko ist reduziert. Die kontinuierliche Verfeinerung und Neujustierung der App, angetrieben durch wiederholte Tests, Rückmeldungen von Anwendern und Veränderungen in der Branche, stellt sicher, dass das Endprodukt aktuell ist und seine Ziele erreicht.
  4. Das Team behält ein positives Arbeitsklima bei. Ständige Kommunikation und Interaktion innerhalb des Teams tragen zur Gesamteffizienz des Teams und zu einer freien kreativen Arbeitsumgebung bei.
  5. Auf Veränderungen kann im Produktionsablauf schnell reagiert werden. Neuerungen in der Technologiewelt können besser aufgefasst und integriert werden, dadurch kann unter Umständen Time-to-Market verkürzt werden.

Beide Methoden schützen nicht vor Fehlern

Die Zeit ist vorbei und der ursprünglich für das Projekt festgelegte Zeitplan wurde stark unterschätzt. Das Projekt läuft aus dem Ruder, der Kunde zieht sich zurück und am Ende profitiert niemand von der Menge an Arbeit, die investiert wurde. Selbst große Projekte wie das “Virtual-Case-File”-Projekt des FBI mit 170 millionen Dollar Budget kann solch ein Schicksal ereilen. Gestartet im Jahr 2000 konnte 5 Jahre später trotzdem nichts präsentiert werden. Im Rahmen der Wasserfall Methode erstellte ein 300 köpfiges Team sechs Monate lang die Anforderungen und das Design. Danach wurden über 700.000 Zeilen Code geschrieben und wieder neu geschrieben und trotzdem entstand kein fertiges Produkt. Ein Bereich, der fast immer zu kurz kommt, ist die Effektivität der Anforderungen. Anforderungen in einer für den Kunden sinnvollen Weise zu erfassen und zu dokumentieren, ist oft der schwierigste Teil der Softwareentwicklung. Spezifische Details, die bereits in der Anfangsphase des Projekts zur Verfügung gestellt werden, sind bei der Wasserfall Methode erforderlich. Darüber hinaus sind Kunden nicht immer in der Lage, eine Anwendung aus einem Anforderungsdokument zu visualisieren. Wireframes und Mockups können helfen, aber es steht außer Frage, dass die meisten Endbenutzer Schwierigkeiten haben, diese Elemente mit schriftlichen Anforderungen zu kombinieren, um ein gutes Bild davon zu erhalten, was sie bekommen werden.

Doch auch bei der Agilen Methode birgt die Zusammenarbeit mit dem Kunden Fehlerquellen. Das sehr hohe Maß an Kundenbeteiligung, obwohl es für das Projekt großartig ist, kann für einige Kunden, die einfach nicht die Zeit oder das Interesse für diese Art der Teilnahme haben, Probleme bereiten. Da sich Agile auf zeitlich fest abgegrenzte und sich wiederholende Phasen konzentriert, ist es möglich, dass einige Tasks und Funktionalitäten nicht innerhalb des vorgegebenen Zeitrahmens abgeschlossen werden. Zusätzliche Sprints (über die ursprünglich geplanten hinaus) können erforderlich sein, was die Projektkosten zusätzlich erhöht. Darüber hinaus führt die Einbindung der Kunden oft zu zusätzlichen Funktionen, die während des gesamten Projekts gewünscht werden. Auch dies kann die Gesamtzeit und die Kosten der Implementierung erhöhen. Diese zusätzlichen Sprints ermöglichen jedoch auch eine noch genauere Anpassung an die Kundenwünsche. Bei der Wasserfall Methode kann die “Passgenauigkeit” ein großes Problem darstellen. Da alle Leistungen auf dokumentierten Anforderungen basieren, kann es sein, dass ein Kunde erst dann sieht, was geliefert wird, wenn es fast fertig ist. Zu diesem Zeitpunkt sind Änderungen sehr schwierig und kostspielig oder gar unmöglich zu implementieren.

Der iterative Charakter der agilen Entwicklung kann zu einem häufigen Refactoring führen, wenn der gesamte Umfang des Systems nicht in der Ausgangsarchitektur und im Design berücksichtigt wird. Ohne dieses Refactoring kann das System unter einer Verringerung der Gesamtqualität leiden. Dies wird in größeren Implementierungen oder bei Systemen mit einer hohen Integrationstiefe verstärkt. Wie oben beschrieben ist einer der Vorteile an der Wasserfall Methode, dass Entwickler zum Projekt dazu stoßen und Aufgabenabschnitte übernehmen können. Die Agile Methode funktioniert am besten, wenn die Mitglieder des Entwicklungsteams sich ganz dem Projekt widmen. Darüber hinaus sind die engen Arbeitsbeziehungen in einem agilen Projekt sind am einfachsten zu managen, wenn sich die Teammitglieder im gleichen physischen Raum befinden, was nicht immer möglich ist. Es gibt jedoch eine Vielzahl von Möglichkeiten, dieses Problem zu lösen, wie z.B. Video Chats für 1-1 Calls oder sogar Team Meetings, Collaboration-Tools wie Slack, etc.

KOSTENLOSER DOWNLOAD: DIGITALISIERUNGS-REPORT

Ist Ihr Unternehmen auf die Stolpersteine und Herausforderungen der Digitalisierung vorbereitet? Erfahren Sie im kostenlosen Analyse-Report von Crisp Research, worauf geachtet werden sollte und welche Technologien dabei zum Einsatz kommen können.

Agile oder Wasserfall? Wann welche Methode geeignet ist

Im Folgenden sind sechs Punkte aufgelistet, die während der Entscheidung zwischen der Agilen und der Wasserfall Methode in Betracht gezogen werden sollten.

1. Anforderungsdefinitionen und Umfang

Auf sich ständig ändernde Projektanforderungen und Umfang kann in der Agilen Methode besser reagiert werden.

2. Technologie und Erfahrung

In der Wasserfall Methode kann auf (für das Team) neue Technologie intensiver vorbereitet werden, dagegen kann in der Agilen Methode das Potential von neuer und sich weiterentwickelnder Technolgie ausgeschöpft werden.

3. Physischer Standort und Ressourcen

Sind alle Ressourcen gebündelt? Besteht eine große Verteilung über viele Standorte und kann die direkte Zusammenarbeit mit Tools wie Slack erleichtert werden? Können sich die Mitarbeiter voll und ganz dem Projekt widmen oder ist das mit der Infrastruktur der Firma nicht umsetzbar? Für die Agile Methode müssen Teams eng zusammenarbeiten können.

4. Kundenbeteiligung

Kann ein kontinuierliches Feedback, der Grundstein für die Agile Methode, vom Kunden eingeholt werden?

5. Zeitrahmen

Gibt es ein festes Datum der Fertigstellung, dass womöglich durch zusätzliche Sprints in der Agilen Methode nicht eingehalten werden kann?

6. Dokumentation

Besteht die Flexibilität etwas weniger Dokumentation für die Umsetzung zu benötigen? Wenn ja, kann agil vorgegangen werden.

Fazit

Auf die Frage, was besser ist, kann es abschließend leider keine allgemein gültige Antwort geben? Nun, weder die Agile noch die Wasserfall Methode ist von Natur aus besser als die andere. Es hängt von der Art des Projekts ab. Im Allgemeinen ist die Wasserfall Methode gut geeignet für statische Projekte, bei denen es nicht wahrscheinlich ist, dass viele Änderungen während des gesamten Entwicklungsprozesses vorgenommen werden. Im Gegensatz dazu ist die Agile Methode tendenziell eine bessere Option für Projekte, bei denen Änderungen während des Projektdesigns auftreten.

 

Übersicht Artikelserie

1) Agiles Projektmanagement übergibt Verantwortung dem Team
2) Agile Entwicklung: Moderne Softwareentwicklung ist flexibel und schnell
3) Agile Methoden: Ein Überblick
4) Agile Innovation: Aus Fehlern lernen und neue Prozessstrukturen entwickeln
5) Wasserfall vs. Agile: Welche ist die richtige Entwicklungsmethodik für Ihr Projekt?(aktiv)

Download: Marktübersicht für Digital Workplaces & Mobility-Lösungen

Unternehmen sind mit neuen Technologien und hohem Bedarf an Vernetzung & Schnelligkeit konfrontiert. Jetzt im Marktüberblick von Crisp Research erfahren, welche Anbieter hier unterstützen.

Klicken Sie zum Download einfach auf das Bild und Sie werden automatisch weitergeleitet.

Download: Markt- und Anbieterüberblick für Digital Workplaces und Mobility-Lösungen

Unternehmen sind mit neuen Technologien und hohem Bedarf an Vernetzung & Schnelligkeit konfrontiert. Jetzt im Marktüberblick von Crisp Research erfahren, welche Anbieter hier unterstützen.

Klicken Sie zum Download einfach auf den Button und Sie werden automatisch weitergeleitet.