La mia azienda ha recentemente iniziato a intraprendere progetti di sviluppo software più piccoli. Applicazioni web tipicamente piccole da utilizzare sulla intranet di un cliente. Di solito sono 3-5 mesi di lavoro in totale.
In genere, il cliente non sa cosa vuole esattamente, quindi ci paga per progetti più piccoli (3-4 settimane) per raccogliere i requisiti e scrivere un design funzionale. Una volta che è stato approvato, entrambi sappiamo cosa è voluto e possiamo citare per il resto del progetto e continuare. Questo perché preferiscono avere contratti a prezzo fisso piuttosto che pagare tempo e materiali.
Questo sviluppo si presta molto bene a un modello a cascata, raccogliamo requisiti, progettiamo, implementiamo, testiamo, forniamo. Tuttavia, nonostante ciò, a volte arriviamo alla consegna e il cliente dice "non è quello che intendevo".
Il mio istinto è di assicurarmi di avere un design più dettagliato in anticipo, ma mi viene detto che dovremmo essere "più agili" e sviluppare in modo iterativo il sistema con il cliente in modo che possano vederlo svilupparsi e possiamo avere problemi con aspettative precedenti.
Sto facendo fatica a vedere come adattarlo a un modello a prezzo fisso. Come posso stimare un progetto quando il cliente non sa nemmeno cosa vuole? Vedo che lo sviluppo Agile sarebbe utile in questo scenario, ma non con un prezzo fisso.
Mi manca qualcosa?