Recentemente ho visto molti post che affermano che uno dei motivi principali per cui Agile viene utilizzato è perché i clienti spesso cambiano i requisiti.
Tuttavia, supponiamo che i client non cambino spesso i requisiti . In effetti, i clienti hanno requisiti fissi anche se potrebbero essere un po 'vaghi (ma nulla di irragionevolmente vago), ma io comunque uso Agile.
Il motivo per cui utilizzo Agile è perché il software è abbastanza complesso da fornire dettagli, problemi che non riconoscerei finché non li affronterò. Potrei fare un approccio di pianificazione pesante come la cascata, ma poi ci vorranno alcuni mesi per finalizzare tutti i progetti di alto livello e le firme di codifica di basso livello. Però c'è un design architettonico specifico e preciso per il sistema.
La mia domanda è: sarebbe considerato negativo, codifica dei cowboy, anti-pattern, ecc.? Dobbiamo impiegare waterfall e pianificare il più possibile con grandi dettagli prima di iniziare la codifica quando i requisiti sono stabili invece di questa mentalità "facciamo lo facciamo" in Agile?
EDIT: Il punto principale qui è che: NON POSSIAMO incolpare i clienti per il cambiamento dei requisiti. Supponiamo che i clienti ci abbiano indicato un problema molto concreto, ci danno una lista dei desideri in termini molto ragionevoli e ci lasciano soli (cioè i clienti hanno le loro cose produttive da fare, non li infastidiscono più. termina quando hai un prototipo funzionante minimo). Sarebbe sbagliato usare Agile in questo scenario?