Lavoro come sviluppatore / architetto in un progetto software. Il project manager ha deciso di non seguire i principi Agile, ma piuttosto di avere un foglio Excel con tutte le richieste di funzionalità e il loro sforzo (residuo) stimato. Sono tenuto ad aggiornare il tempo rimanente stimato di ciascuna funzione che sto implementando settimanalmente.
Il problema è: con bug e modifiche dei requisiti costantemente in arrivo, lo sforzo rimanente non cambia così velocemente come il gestore si aspetta. Supponiamo che siano rimasti "12 giorni" circa 2 mesi fa, e che oggi siano ancora "7 giorni rimanenti". Il gestore è giustamente nervoso per questo, perché non può dare una data di rilascio per i potenziali clienti e il reparto marketing in questo modo. Qual è il modo migliore per risolvere questo problema? Penso che l'obiettivo principale sarebbe quello di poter fornire una data di rilascio che abbia un senso. Come si può ottenere questo?
Ora, il mio suggerimento all'inizio era:
-
Imposta le priorità per tutte le funzionalità. Questo non ha funzionato bene, dal momento che circa il 70% delle funzionalità ha priorità 1, tutti gli altri hanno priorità 2. E il verdetto è stato: tutte le funzionalità devono essere incluse nella prima versione.
-
Riduci il numero di funzioni o riduci la complessità delle funzionalità che sono le più difficili da implementare o inutilmente complesse (ovvero: nessun utente potrà mai capire come funziona). Anche questo non ha portato molto, tutte le funzionalità devono essere implementate così come sono e sono state aggiunte anche altre funzionalità.
-
Aggiungi correzione bug e amp; caratteristica di cambiare le stime come vengono. Questo è ciò che normalmente facciamo in un altro progetto in questa azienda. Il risultato è che a volte il lavoro rimanente sale tra settimane invece di andare giù. Anche questo non risolverà il problema principale (data di rilascio?).
Sto esaurendo le idee ... Il manager mi ha detto che pensava che le mie stime significassero il tempo necessario per scrivere codice senza errori ... Nessun commento su quell'osservazione. Ha anche detto che si aspettava che includessi la stima del bug fixing nella stima iniziale. Sì, includere lo sforzo per risolvere un bug che non sappiamo nemmeno se esiste ...
Il suo altro suggerimento è stato che scrivo i miei test in modo che coprano ogni possibile caso. Avrebbe senso, ma avendo caratteristiche così complesse e un servizio di background molto ampio e complesso che chiamiamo da questa applicazione, ci vorrebbe un'eternità per coprire ogni scenario con test di integrazione. Non penso che potremo mai raggiungere una copertura del 100%.
Modifica Le domande Come rispondere "Quando sarà fatto?" e Che cosa posso fare per ottenere una stima migliore di quanto tempo ci vorranno i progetti? potrebbe sembrare simile, ma non sono rilevanti per la mia situazione. Ho già dato una stima dello sforzo. La mia domanda è legata al progresso dello sviluppo e alla modifica delle stime / scadenza.