Ich denke, wir hatten einen erfolgreichen Ansatz in meinem letzten Job, als wir das Projekt pünktlich und mit ein paar Problemen in der Produktion lieferten. Allerdings arbeiteten nur 3 Personen an dem Produkt, daher bin ich mir nicht ganz sicher, wie es zu größeren Teams passen würde.
Wir haben Spezifikationen im Voraus für das gesamte Produkt geschrieben, ohne jedoch zu sehr ins Detail zu gehen und den Schwerpunkt auf die Benutzeroberfläche zu legen. Dies war ein Mittel, um ein Gefühl dafür zu bekommen, was getan werden musste und für den Umfang des Projekts.
Als wir anfingen, Dinge zu implementieren, mussten wir alles viel genauer ausarbeiten (und mussten zwangsläufig einige Dinge anders machen als die Spezifikation). Zu diesem Zweck haben wir uns zusammengetan und den besten Ansatz zur Implementierung jedes Features (manchmal mit Prototypen) ausgearbeitet. Wir haben die ursprüngliche Spezifikation nicht aktualisiert, aber wir haben uns nach den Treffen Notizen gemacht, da es sehr leicht ist, die Details danach zu vergessen.
Zusammengefasst ist mein Ansatz, Spezifikationen als ein exploratives Werkzeug zu behandeln und feinere Details während der Implementierung zu erarbeiten. Abhängig von dem Projekt kann es auch eine gute Idee sein, die ursprüngliche Spezifikation während der Entwicklung der Anwendung auf dem neuesten Stand zu halten (was wir dieses Mal nicht tun mussten).
Es war abrechenbar. Die Leute, von denen Sie sprechen, sind keine "Architekten", sondern Geschäftsanalysten, denke ich. Dies ist jedoch keine Diskussion für StackOverflow. –