Ich denke, Sie konzentrieren sich auf die falschen Werte. In Agile steht der Geschäftswert im Mittelpunkt. Sie erstellen ein Produkt, um einigen Endbenutzern einen Geschäftswert zu liefern.
Wenn Sie die Persistenzschicht zu spät erstellen oder auf Ihrem Weg nachholen, ist dies Ihre Strategie, um dem Kunden einen Geschäftswert zu liefern. Ich glaube nicht, dass der Begriff "agil" selbst vorschreibt, ob Sie das eine oder andere tun sollten.
Der Standpunkt zur Verzögerung der Datenspeicherungsstrategie wird in dieser Präsentation von Robert C. Martin (einem der Autoren des agilen Manifests) vertreten.
Es ist eine sehr gute Präsentation, ich kann empfehlen, dass Sie es sehen.
Aber damit bin ich nicht einverstanden! Zumindest zu einem gewissen Grad.
Ich glaube nicht, dass Sie eine User Story für "Fertig" aufrufen können, wenn die User Story Daten enthält, die beibehalten werden sollten, und Sie tatsächlich keine Art von Persistenz implementiert haben.
Wenn der Product Owner entscheidet, dass es jetzt Zeit ist, live zu gehen, können Sie dies nicht tun. Und wenn Sie erst spät im Projekt mit der Implementierung von Persistenz begonnen haben, wissen Sie auch nicht, wie lange es dauern würde, die Persistenzschicht zu implementieren, was ein großes Projektrisiko darstellt.
Die agilen Projekte, an denen ich gearbeitet habe, haben die Datenzugriffsstrategie nicht verschoben. Aber es wurde entkoppelt, so dass wir es auf dem Weg ändern können. Und das gesamte Datenbankschema ist nicht von vornherein konzipiert. Tabellen und Spalten werden auf dem Weg erstellt, den sie benötigen, um den gespeicherten Benutzer zu implementieren, der letztendlich den geschäftlichen Wert liefert.