Quale potrebbe essere una buona attività di team building per migliorare le capacità di stima? [chiuso]


9

Sto mettendo insieme una presentazione da consegnare ad alcuni dei miei compagni di squadra (tutti gli sviluppatori) e vorrei includere una breve attività di team building incentrata sul miglioramento delle capacità di stima. Qualcuno ha qualche suggerimento o è a conoscenza di attività di team building che potrei usare?


2
Il miglioramento della stima non è qualcosa che può essere fatto con una breve attività. Deve essere uno sforzo a lungo termine per tenere traccia delle stime, dei tempi effettivi e di un qualche tipo di post-mortem per determinare perché la stima e il tempo effettivo erano diversi. È anche un'abilità che si sviluppa nel tempo: puoi migliorare stimando e imparando dai tuoi errori attraverso l'analisi.
Thomas Owens

Hai un problema? Quanto sono accurate le tue stime e dovresti dedicare del tempo per migliorarle?
JeffO,

@ Thomas Owens, sono consapevole che non è qualcosa che può essere fatto con una breve attività. Sto solo cercando di aumentare la consapevolezza dell'importanza di sviluppare buone capacità di stima. Avrei dovuto essere più specifico nella mia domanda.
Rob,

2
@Jeff O, nessun problema - si tratta di nuovi assunti, alcuni con meno esperienza, e voglio aiutarli a lavorare sulla stima in generale.
Rob,

Risposte:


8

Dai un'occhiata alla pianificazione basata sull'evidenza di Joel On Software , è un modo abbastanza semplice per le persone di capire come stimare in modo più accurato.

Il modo migliore per imparare a stimare è avere buoni requisiti, pratica, pratica e pratica. Insegnare loro cose come la programmazione basata sull'evidenza aiuterà la pratica ad essere più efficace, ma nulla può sostituire la pratica effettiva.


Mi piace un po 'di EBS (sono un appassionato utente di FogBugz). Non ho pensato di usarlo come esempio, comunque, un buon suggerimento. Prenderò ispirazione da questo.
Rob,

6

Presenta un problema di esempio usando Minecraft.

Il cliente ha bisogno di una piramide a gradoni marrone di 20x20 blocchi. La piramide ha anche bisogno di un fossato largo almeno 10 blocchi.

Dagli 3 minuti per disegnare un semplice WBS e un preventivo.

Dopo 2 minuti, dicono che il cliente ha cambiato idea e ora ha bisogno di una piramide 30x30. Di 'loro di rivedere le loro stime nel minuto rimanente.

Alla fine del tempo dì loro di posare le matite e ora dicono che gli sviluppatori iniziano a lavorare al progetto ma il cliente è confuso perché non c'era un ponte che attraversava il fossato.

Di 'loro che il ponte impiegherebbe X ore a svilupparsi e chiedi a tutti quelli che hanno sottovalutato di alzarsi.

Questo porterà il punto a casa.


2
Mi piace questo, ma se non hai familiarità con Minecraft, non sono sicuro di come potresti trovare una stima che abbia senso. Come quantificheresti il ​​tempo necessario per costruire una piramide a gradoni marroni?
Rob,

1
@Thomas Owens, penso che il punto maple_shaft sia quello di impressionare gli sviluppatori l'importanza di scoprire questi tipi di requisiti. Come consulente, ho visto personalmente molti esempi di cose ridicolmente ovvie che un utente avrebbe dovuto chiedere, ma non l'hanno fatto, perché non si rendevano conto che era ciò di cui avevano bisogno. Io e i miei sviluppatori siamo tutti consulenti e, nella nostra situazione attuale, non abbiamo il lusso di ingegneri con buone esigenze, motivo per cui sto cercando di aiutarli a porre questi tipi di domande di scoperta dei loro clienti per migliorare le loro stime .
Rob,

2
@ unforgiven3 Tuttavia, ciò non ha nulla a che fare con la stima. Il compito dell'ingegneria dei requisiti potrebbe ricadere su uno sviluppatore, ma puoi basare le tue stime solo sui requisiti noti. Migliorare la capacità di analizzare, verificare, convalidare e scoprire i requisiti è disgiunto dal migliorare la capacità di stimare il tempo necessario per eseguire un'attività. I requisiti cambiano, quindi le stime cambiano, ma è impossibile stimare ciò che non si conosce e non si dovrebbe provare.
Thomas Owens

1
@Thomas Owens, sono d'accordo che è impossibile stimare ciò che non sai - che è precisamente il mio punto - devi scoprire i requisiti per una funzione e convalidare i presupposti su di essa come prerequisito per la creazione di una stima decente. Concordo, tuttavia, dopo una certa considerazione, che è disgiunto dal migliorare la propria capacità di stima - forse concentrare l'attività sulla scoperta dei requisiti sarebbe più immediatamente utile di un'attività di stima. Aspetti positivi: sicuramente mi fanno pensare che forse mi sto concentrando sull'abilità sbagliata per migliorare.
Rob,

1
@ unforgiven3 Un buon ingegnere dovrebbe sempre lavorare per migliorare entrambi. Sono stato in una posizione in cui non ero incaricato dell'ingegneria dei requisiti, ma mi è stata consegnata una specifica che aveva ciò che ho visto erano problemi. Avere la capacità di vedere quelle e porre le domande giuste è essenziale per chiunque sviluppi software e deve essere lavorato. Tuttavia, quando sto effettuando una stima, ho sempre basato le mie stime sulla specifica, anche se ci sono domande. Lascio solo una finestra più grande per errore (dando il 75% di possibilità invece dell'85% o dando una finestra leggermente più grande).
Thomas Owens

1

Suggerisco un generatore / risolutore di labirinti per i seguenti punti:

  • È divertente da fare
  • Non riesci a pensare a tutti i casi per la prima volta
  • La generazione e la risoluzione di cose sono abbastanza complementari
  • Questo copre dal back-end con il salvataggio dei dati al front-end con caricamento dei dati
  • Molti punti possono essere assegnati alle persone: specifica dei file, visualizzazione, generazione, risoluzione, ottimizzazione, test ecc ...

1

Puoi suonare il "Quanto tempo impiegheresti a scrivere questo?" gioco. Simile a un gruppo di persone che si vantano di come possono guidare a Las Vegas in X ore (dove il numero X di solito diminuisce con ogni gruppo fino a quando qualcuno afferma di poterlo fare in meno di un'ora). Quindi, per i programmatori: buttare fuori un obiettivo semplice e vedere cosa dice ogni individuo e se c'è un consenso da parte del gruppo o opinioni straordinarie. Quanto tempo impiegheresti a scrivere ciao mondo? Che cosa significa "scrivere", significa anche "eseguire" e "testare"? Richiede prima un ambiente di simulazione? Su quale piattaforma e quale cross-compilatore e quali strumenti sono già installati e pronti? ecc. ecc. "Hello world" potrebbe richiedere 4 giorni per "scrivere" su una piattaforma integrata (installa strumenti, prepara la piattaforma,

Dopo che il team ha finito di decidere quanto tempo potrebbe richiedere l'obiettivo, quindi misurare il tempo effettivamente impiegato (forse non per l'obiettivo suggerito ma per uno simile nel mondo reale) o ricordare un progetto precedente con un obiettivo molto simile. Confronta la stima con quella reale. Esagerare selvaggiamente l'errore tra la stima e l'effettivo e pubblicare una conclusione per tutti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.