Die Waterfall-Methode ist mit Sicherheit praktikabel und philosophisch genauso fundiert wie jeder andere Ansatz. Denken Sie daran, dass es Waterfall schon viel länger als Agile gibt, aber beachten Sie, dass dies kein Argument dafür ist, ob eine Methode besser ist als eine andere.
Sie verwenden die Waterfall-Methode, wenn Sie ein klares Verständnis für die gesamte Problemdomäne haben und wissen, was der Kunde mit einem Softwarepaket erreichen möchte. Wahrscheinlich haben Sie bei Vertragsabschluss einen Festpreis angegeben, und Ihr Kunde ist sich dessen bewusst, dass er nicht von den vereinbarten Anforderungen abweichen kann. Ihr Prozess durchläuft streng genommen eine Reihe von Abmeldungen zwischen den verschiedenen Entwicklungsphasen, und es kommt häufig vor, dass jede Phase von einem anderen Team - manchmal sogar von einem anderen Unternehmen - abgeschlossen wird, was möglicherweise nicht unbedingt der Fall ist Kontakt mit den anderen. Sie sehen Waterfall häufig in Militär- und Regierungsprojekten, wenn sie an externe Auftragnehmer vergeben werden. Wenn Waterfall und andere ähnliche Ansätze einen schlechten Ruf haben, ist dies der Fall, wenn Entwickler auf Probleme stoßen. B. eine schlechte Schätzung, Zeitpläne ohne Ausfallzeiten oder ein schlechtes oder unvollständiges Verständnis der Problemdomäne. Das Problem ist nie wirklich ein Fehler der Methodik, sondern in der Anwendung.
Der Vergleich zwischen Agile und einer beliebigen Methode ist falsch. Agile ist keine Methodik, es ist eine Philosophie, oder es ist besser zu sagen, dass es ein Überbegriff ist, der eine andere Sichtweise auf die Entwicklung von Software darstellt. Eine Methodik ist nur ein Werkzeug, und als solches ist ihr Wert immer geringer als der der Individuen und Interaktionen, die den Kern dessen ausmachen, was es heißt, agil zu sein .
Ist jemand der Meinung, dass die Minimierung von Softwareänderungen eine praktikable Option für diejenigen ist, die wertvolle Software bereitstellen möchten?
Jede Möglichkeit, Änderungen zu minimieren, ist sowohl für den Entwickler als auch für den Kunden von Nutzen. Änderungen können dazu führen, dass ein Zeitplan verrutscht oder Funktionen ausgelassen werden, um einen Zeitplan einzuhalten. So steuern Sie die Auswirkungen von Änderungen, die sich auf den Wert Ihrer Projekte auswirken.
Oder ist die Frage wirklich, welche Praktiken in unseren Situationen am besten funktionieren, um den unvermeidlichen Wandel zu bewältigen?
Ihre Praktiken können bei der Verwaltung von Änderungen hilfreich sein oder sie können Änderungen vollständig ignorieren. Was zählt, ist die Kombination Ihrer Entwicklungspraktiken und das Management Ihrer Beziehung zu Ihren Kunden und ob diese Dinge für alle Beteiligten effektiv zusammenarbeiten.
Diejenigen von uns, die in jeder Hinsicht agil sind, verstehen, dass Sie eine Methode wählen, die für Sie funktioniert. Wenn Sie einen bestimmten Ansatz mögen, folgen Sie ihm. Wenn es nicht ganz Ihren Bedürfnissen entspricht, ändern Sie es. Bei der Erstellung von Software kommt es darauf an, die vorhandenen Ressourcen optimal zu nutzen und die Praktiken zu minimieren, die zu einem Scheitern Ihres Projekts führen können. Oft müssen Sie die Methode an die Anforderungen anpassen bestimmtes Projekt zur Hand.
Es ist wirklich eine Sache, "Ok, jetzt sind wir agil" zu sagen und eine ganz andere, nach der Philosophie zu leben und zu arbeiten, die Agile ist. Ob Sie Wasserfall, Inkremental, Spirale, SCRUM, XP, FDD, oder jede andere Methode, sind Sie im Grunde Agile , wo Sie Wert:
- Individuen und Interaktionen über Prozesse und Werkzeuge
- Arbeitssoftware über umfangreiche Dokumentation
- Zusammenarbeit der Kunden bei Vertragsverhandlungen
- Reagieren, um nach einem Plan umzuschalten
und wo Sie Ihre Werkzeuge, Methoden und Ihre Erfahrungen zusammenbringen, um diese Werte erfolgreich anzuwenden.