Agil vs. Wasserfall: Welchen Ansatz sollte man bei der Webentwicklung wählen?
Eine der größten Sorgen eines jeden Unternehmens auf dem Weg zur Erstellung einer Website ist die Entscheidung über die zu verwendende Entwicklungsmethodik. Die Entwicklungsmethodik ist die Art und Weise, wie die Arbeit der Softwareentwicklung organisiert wird. Einerseits können Sie den traditionellen Weg gehen, bei dem Ihnen alles vorgegeben wird, oder Sie können den freien Weg gehen, bei dem Sie den iterativen Ansatz wählen, eine flexiblere Art, an einem Projekt zu arbeiten. Die eine heißt Wasserfallmethode und die andere Agile.
Wasserfall-Methode
Die Wasserfallmethode gibt es schon seit sehr langer Zeit, daher ist sie der traditionelle Ansatz für die Softwareentwicklung. Das Projekt wird in verschiedene Phasen unterteilt und dann nacheinander abgeschlossen. Die genaue Anzahl der Phasen in einer Wasserfallmethode kann von Unternehmen zu Unternehmen und von Projekt zu Projekt variieren, aber hier ist der allgemeine Ansatz:
- Projektkonzeption – Wie der Name schon sagt, beginnen hier die ersten Schritte des Projekts. Hier keimt der Samen einer Idee, und es ist der erste Schritt im Lebenszyklus der Softwareentwicklung (SDCL).
- Initiierung – Suche nach den richtigen Leuten für die Aufgabe und Ausweitung des Projektumfangs, einschließlich der Ziele, des Zwecks und des Liefertermins. Analyse – Es wird ein Lastenheft erstellt und eine Machbarkeitsanalyse des Projekts durchgeführt.
- Design – Das Projekt nimmt durch Mockups, Wireframes und Storyboards eine endgültige Form an. Codierung – Anhand des im vorherigen Schritt erstellten Designdiagramms (Flussdiagramme, Design-Mockups) beginnt das Team mit der Arbeit an der eigentlichen App.
- Testen – Eine kritische Phase, in der alle Bemühungen der vorangegangenen Phasen getestet werden.
- Produktion/Implementierung – Sobald alle Testphasen abgeschlossen und genehmigt sind, wird das Produkt auf den Markt gebracht.
- Wartung – Das Entwicklungsteam führt kontinuierlich Upgrades und Fehlerbehebungen für das Produkt durch. Außerdem werden neue Funktionen hinzugefügt, um die Wettbewerbsfähigkeit des Produkts zu gewährleisten.
Agil
Die agile Methode, die auf dem Agilen Manifest basiert, ist eine neuere Form, die von Entwicklern in ihrem Softwareentwicklungszyklus verwendet wird. Diese Methode konzentriert sich darauf, schlank zu sein und MVPs oder Minimum Viable Products in jeder Iteration zu entwickeln, anstatt die gesamte Planung im Voraus zu erledigen.
Die Agile Methodik hält sich an das im Februar 2017 verabschiedete Agile Manifest und legt großen Wert auf Teamarbeit, kontinuierliche Iteration, Verbesserung, Nutzerfeedback und Anpassungsfähigkeit an Kundenanforderungen.
Bei Agile laufen die verschiedenen Phasen der Projektentwicklung parallel ab, während ein Backlog die hinzugefügten Funktionen und Verbesserungen verfolgt. Zu den bekanntesten Agile-Implementierungen gehören Scrum, Kanban, FDD oder Feature Driven Development, ASD oder Adaptive System Development und XP oder Extreme Programming.
Auswahl einer Lösung für Ihr Projekt
Sowohl Wasserfall- als auch agile Projektentwicklungsmethoden sind praktikabel und helfen Ihnen, qualitativ hochwertige Produkte zu entwickeln. Beide sind flexibel und stabil und helfen Ihnen, bei der Planung eines Projekts organisiert zu sein.
Sie können Waterfall verwenden, wenn:
Es ist unwahrscheinlich, dass der Kunde seine Anforderungen im Laufe des Projekts ändert. Dies eignet sich daher eher für einfache Projekte mit vorhersehbaren Ergebnissen und für Kunden, die mit definierten Anforderungen kommen. Die Stabilität des Wasserfallmodells und der lineare und strukturierte Entwicklungspfad erleichtern den Projektentwicklungsteams die Arbeit.
Die agile Entwicklung folgt einem eher evolutionären Entwicklungsstil.
Sie können Agile verwenden, wenn:
Wenn der Markt, der vor Ihnen liegt, etwas unsicher ist und Sie schnell ein neues Produkt entwickeln müssen, dann wäre Agile eine praktikable Lösung.
Agilität ist auch dann eine gute Lösung, wenn Sie sich keine kostspieligen Fehler leisten können und vor allem, wenn Sie nicht über viele Informationen über das Projekt verfügen. Es wäre auch gut, wenn Sie sich keine strengen Anforderungen leisten können.
Wenn Sie keine Änderungen vornehmen wollen, insbesondere wenn sich die Anforderungen ständig ändern, wenn Sie die Kosten senken, Fehler sofort beheben und Unsicherheiten während des Projektentwicklungszyklus beseitigen möchten, dann ist Agile eine gute Wahl. Dies ist wahrscheinlich der Grund, warum Start-ups so sehr auf Agile setzen.
Bei der agilen Entwicklung arbeiten Tester und Entwickler zusammen, und am Ende eines jeden Vorhabens wird das Produkt ausgeliefert und an den Kunden übergeben. Die geänderten und aktualisierten Funktionen sind
sofort zu funktionieren beginnen.
Die Unterschiede auf einen Blick:
Wasserfall-Prozesse werden nach getaner Arbeit getestet, Fehler sind schwer zu korrigieren.
Agiles Arbeiten ermöglicht ein hohes Maß an Flexibilität, und die sich ständig ändernden Anforderungen erfordern keine präzise Buchführung.
Es ist jedoch wichtig, mit Bedacht vorzugehen, da solche Projekte wahrscheinlich scheitern werden. Diese Methode eignet sich eher für sehr erfahrene Entwickler und einen Kunden, der genug in das Projekt investiert hat. Die Wasserfallmethode lässt keine Schlenker zu, weil sie sich auf einem klaren Pfad bewegt, über den genauestens Buch geführt wird. Die Entwickler können leicht vorhersagen, wie das Endprodukt aussehen wird. Sobald ein Projektschritt abgeschlossen ist, ist es nicht einfach, zurückzugehen und Änderungen vorzunehmen. Alle Elemente des Projekts sind an ihrem Platz, von der Größe des Projekts bis zum Zeitplan und
Budget.
Agiles Vorgehen ist ein inkrementeller Entwicklungsprozess, der viel Raum für Verbesserungen lässt. Denn das Projekt ist in verschiedene Modelle unterteilt, die ausgiebig getestet und bewertet werden.
Der Prozess des linearen Ansatzes von Waterfall:
- Dokumentanforderungen sammeln
- Entwerfen Sie den Entwurf
- Code & Einheitstest
- Systemprüfung
- UAT Benutzerakzeptanztests durchführen
- Probleme beheben
- Übergabe des fertigen Produkts an den Kunden
- Ideal für alle Arten von Projekten
Der Prozess des agilen Sprint-Ansatzes
- Inkrementeller Ansatz für den Softwareentwurf
- Das Produkt wird in 2-4-wöchigen Iterationen getestet
- Der Kunde bekommt das Produkt zu sehen und kann Änderungen vorschlagen
- Ideal für kleine Projekte
Fazit
Wenn man sowohl Agile als auch Waterfall durchgeht, wird deutlich, dass Waterfall eine gute Wahl ist, wenn man ein Projekt mit klaren Zielen und einem eindeutigen Verlauf sucht. Wählen Sie den agilen Weg, wenn Sie wollen, dass sich Ihr Projekt auf dem Weg zur Fertigstellung weiterentwickelt. Vielleicht wird sogar mehr daraus, als Sie anfangs geplant hatten.
Flikr : //visualpun.ch, mandaruby, Lena Ellis
- Wasserfall vs. Agile: Welche ist die richtige Entwicklungsmethodik für Ihr Projekt?
- Web-Entwicklungsprozesse: Wasserfall vs. Agile. Agil
Über den Autor: Reema arbeitet als Thought Leader bei PHPBabu.