Meine Frage ist nun, dass es sich lohnt, in die agile Welt einzutauchen, da wir bereits vor Projektbeginn alle Anforderungen haben (während wir das vorhandene Produkt neu schreiben).
Ja, obwohl ich mir vorstellen würde, dass es wahrscheinlich mehr als ein paar mögliche Änderungen am aktuellen Design der Anwendung gibt, da dies die Zeit wäre, um verschiedene technische Schulden zu beseitigen, wenn ein saubereres Design angesichts der jetzt bekannten Informationen vorliegt.
Ist Agilität nicht nützlicher, wenn Sie nicht alle Anforderungen im Voraus haben und Ihre Anforderungen in Phasen erhalten?
Wie sicher sind Sie, dass sich diese Anforderungen beim erneuten Erstellen der Anwendung nicht ändern werden? Sind Sie sicher, dass das aufgenommene Design niemals überarbeitet wird?
Zweitens, sagen wir, wenn wir in Agile einsteigen, was ist die beste Vorgehensweise zum Entwerfen einer Datenbank? Angenommen, wir erstellen in unserer ersten Iteration nur ein Anmeldesystem (Benutzer können sich anmelden, abmelden usw.). Müssen wir nur eine Benutzertabelle erstellen, ohne uns um andere Tabellen kümmern zu müssen? Und andere Tabellen würden sich weiterentwickeln, wenn unser Produkt Fortschritte machen würde?
Hier gibt es viele verschiedene Möglichkeiten. Tun Sie gerade genug, damit es funktioniert. Wenn die Benutzertabelle alles ist, was benötigt wird, großartig. Wenn es ein paar andere Tabellen gibt, die jemand haben möchte, damit die Datenbank in einer normalisierten Form vorliegt, ist es möglicherweise besser, dies zu tun. Sie werden beim ersten Mal nicht perfekt sein und bei Agile dreht sich alles um das Ausprobieren und Beheben von Methoden. Sobald Sie zeigen, was Sie haben, wird der Benutzer häufig Feedback erhalten, das Agile am Laufen hält ... (Auch wo die neue Anforderungen werden kommen, da die Leute dann vielleicht auch anfangen, nach Sachen zu fragen)