A me capitava di frequente di sovrastimare dei progetti e sottostimarne degli altri e se stai leggendo questo articolo saprai sicuramente quanto può essere deleteria questa cosa.

Il mio lavoro si divide principalmente in due differenti aree: progettare software CRM/ERP su misura e realizzare siti internet.
I preventivi, per i software in particolar modo, erano sempre un'incognita. La stima del tempo necessario per l’implementazione era basata esclusivamente su un'ipotesi soggettiva condizionata dal momento. Se la stima era troppo ottimistica si rischiava di dover lavorare in fretta e a prezzi molto bassi, se la stima era troppo alta si rischiava di fare un preventivo fuori mercato.
Il problema era frequente ed allora ho cominciato a pormi la domanda: come posso stimare correttamente i tempi necessari per la realizzazione di un progetto? Dopo una serie di ricerche, test, ed esperimenti avevo deciso di accettare che era impossibile stimare correttamente il tempo fin quando sono venuto a conoscenza del metodo di dimensionamento relativo proposto da Scrum.
L’ho studiato, sperimentato e leggermente adattato alla mia realtà e devo dire che ora non riesco ancora a stimare con precisione assoluta i tempi di realizzazione di un progetto ma mi avvicino molto.
Il metodo consiste nel suddividere il lavoro in piccoli blocchi che possono essere valutati singolarmente.
Facciamo un esempio, devo realizzare un software per una web agency.

Divido il software in piccoli blocchi:
- Creazione dell’ambiente
- Schermata inserimento dati
- Schermata avanzamento lavori
- Schermata assegnazione compiti
- Funzione di verifica credenziali
- Funzione controllo tempi di lavoro
- Funzione anali dei costi
- Report budget
- Azione automatica

e ad ognuno di questi blocchi assegno un peso con un valore secondo la serie di Fibonacci.
Il motivo per cui uso la serie di Fibonacci è più filosofico che altro, comunque i valori sono 1,2,3,5,8,13,21,34,55,.. (potreste anche usare una serie che raddoppia il valore ogni volta come 1,2,4,8,16,32,64,128,…). Ho deciso che al compito più facile assegno un valore 3, agli altri compiti poi assegno un valore partendo da un confronto con il valore 3, se è più difficile assegno ad esempio un 5, un 8 o via dicendo. Procedendo così dovrei arrivare alla fine dove i compiti più difficili hanno un valore più alto e quelli più semplici un valore più basso. Ho scelto di partire da 3 perché può sempre emergere qualcosa di più semplice.

- Creazione dell’ambiente (8)
- Schermata inserimento dati (3)
- Schermata avanzamento lavori (5)
- Schermata assegnazione compiti (21)
- Funzione di verifica credenziali (13)
- Funzione controllo tempi di lavoro (3)
- Funzione anali dei costi (64)
- Report budget (3)
- Azione automatica (13)

Se un blocco dovesse avere un punteggio troppo alto (nel mio caso sopra il 150) cerco di suddividerlo in blocchi più piccoli.
Il valore complessivo è 133, a fine progetto calcolo le ore che vi ho dedicato ed emerge che sono 40. Quindi 40 ore diviso 133 punti dà un risultato di circa 0,3, questo vuol dire che per realizzare 3 punti ho bisogno di un'ora di lavoro.
Perfetto, è quello che volevo sapere!
Quando ho un nuovo progetto da quantificare lo divido in blocchi e assegno ad ogni blocco un valore comparando la difficoltà con gli altri compiti svolti in precedenza che è molto più semplice che determinare quante ore ci vogliono. Sommo i punti, divido per 3 ed ho il numero di ore stimato!
Man mano vado avanti con i progetti diventerò sempre più bravo a stimare il livello di difficoltà.
Purtroppo per il primo progetto bisogna misurare quindi non si hanno dati.
Attenzione poi a modificare il tempo per ogni punto costantemente perché possono cambiare le condizioni e potete diventare più o meno efficienti nel tempo.
Non assegno valori da 1 a 10 o progressivi in genere ma uso una scala incrementale perché in una misurazione di questo tipo la differenza tra una difficolta 6 e una difficolta 7 sarebbe poco indicativa.

Nel caso di lavoro in team i punti di difficoltà li deve indicare chi effettivamente esegue il lavoro e non chi vende il prodotto perché è solo chi deve fare quel blocco che può stimarne la difficoltà.
Se più persone del team possono eseguire lo stesso blocco ognuna assegnerà un voto (senza sapere cosa indicano gli altri), il valore del blocco sarà la media dei valori. Nel caso due persone del Team diano valori molto alti o molto bassi rispetto alla media potrebbe essere utile un confronto sul perché di questa valutazione, in modo da far emergere le difficoltà a cui qualcuno non ha pensato o dei metodi alternativi di realizzazione che qualcuno ha individuato, alla fine della discussione si procede con una nuova votazione.
La prima votazione dev’essere fatta in segreto solo per evitare che i primi che votano possano influenzare gli altri.

Personalmente, visto che devo fare una marea di lavori in casa, utilizzo questo metodo per tutto (deformazione professionale, credo). Mi son fato una lista delle cose da fare molto dettagliata (pitturare bagno, trapiantare ulivo, aggiustare sportello, riordinare garage) ed ho assegnato i punteggi ad ogni cosa (e sono veramente tante), a seconda del tempo che ho a disposizione prendo la mia lista ed eseguo i compiti che posso portare a termine. Per quanto possa sembrare banale vi assicuro che per me è stato molto funzionale.
Applicando la stessa filosofia al lavoro cerco di inserire con punteggio ogni cosa che devo fare (anche non legata ad un progetto) e faccio il ragionamento seguente: “ho un'ora di tempo quindi posso chiudere un'attività da 3 punti”, seleziono nella mia lista un'attività compatibile e la eseguo. Facendo così mi trovo spesso ad iniziare e finire i task che ho aperto e cerco di non iniziare tante cose lasciandole a metà.

Questo è il metodo che utilizzo io e mi trovo decisamente bene.
Se decidi di utilizzarlo o già lo utilizzi fammi sapere come ti trovi e se hai individuato delle migliorie, se invece utilizzi altri metodi e hai voglia condividili nei commenti.

Stai cercando un software di Project Management?


Scopri Gmoole Project Manager

La piattaforma On-Line che soddisfa le esigenze
delle Agenzie Web e di Comunicazione.


Se vuoi maggiori informazioni contattaci

 Confermo di aver letto l'informativa sulla Privacy ai sensi della normativa vigente.
 Acconsento all'invio di materiale pubblicitario all'indirizzo E-Mail specificato.

Contattaci utilizzando il modulo a fianco se desideri maggiori informazioni.

Ti risponderemo nel più breve tempo possibile.


Se preferisci puoi contattarci telefonicamente o incontrarci di persona presso la nostra sede.

NETMOOLE SNC
Via Sardegna 11/13, 25069 Villa Carcina (BS)
P.IVA e C.F.: 03963530989

E-Mail: info@netmoole.it
Telefono: +39 030 2060246