Ho lavorato come programmatore su un progetto progettato per software generico per stazioni di rifornimento (da ridistribuire per molti clienti) per 18 mesi. Il progetto è grande. Oggi abbiamo circa 150 tavoli. Non abbiamo usato un approento specifico, non è stato ben gestito.
La tabella delle persone ha oggi circa 70 colonne, ma 15 mesi fa aveva circa 30 colonne. Questi nuovi campi sono emersi per integrarsi con altri moduli come vendite, contabilità e finanza. Anche molti campi sono stati creati e poi cancellati.
Di conseguenza, abbiamo avuto molti refactoring e rielaborazioni. Il progetto non si prepara mai perché ci sono sempre nuovi requisiti emergenti.
Questo è il mio dubbio: se avessimo usato un approccio abituale alle specifiche, avremmo avuto interviste, un documento di requisiti, attività, sequenze e diagrammi di classe, quindi sapremmo fin dall'inizio che la tabella "persona" avrebbe avuto bisogno di 70 campi , quindi abbiamo evitato un sacco di refactoring.
Potrebbe esserci bisogno di aiuto in questo progetto? Ho la sensazione che in questo caso anche la mischia finisca in un sacco di refactoring.
Sono solo un programmatore, non un project manager. Mi chiedo come avrebbe dovuto essere fatto: con mischia o con un grande design in primo piano.
Modifica
Solo per completare la fine di questa storia. Otto mesi dopo ho fatto questa domanda, dopo aver messo in produzione il progetto in alcuni "test costumers" il progetto è fallito ufficialmente. Il proprietario del prodotto ha deciso di abbandonare il progetto. È stato difficile risolvere i problemi e si sono verificati molti problemi di perfomance.