Chi dovrebbe partecipare alla stima del tempo?


9

In un progetto IT:

  1. Chi dovrebbe partecipare alla stima del tempo? Sviluppatore, team leader, scrum master ed ecc?
  2. Di chi dovrebbe essere il maggior numero di voti ?

2
Se stai facendo Scrum : (a) non c'è un capo squadra. (b) il team dovrebbe stimare collettivamente utilizzando Planning Poker. (c) e il ragazzo che probabilmente farà il compito dovrebbe essere seguito. Un team Scrum è interfunzionale e le attività non sono assegnate, ma se il ragazzo che padroneggia il DB dice che dovrebbero essere necessari 3 giorni. Probabilmente dovrebbero essere necessari 3 giorni.

1
Dovresti essere consapevole che una stima non è una decisione, ma una previsione (spesso difficile). Non c'è gerarchia. Non ci sono voti
user281377

@ammoQ Il problema è che molti leader di progetto hanno questo come decisione!
Amir Rezaei,

2
Sì, è un malinteso mentale comune. Ovviamente puoi prendere una decisione sui tempi, ma poi devi stimare (cioè prevedere) la qualità e la completezza archiviabili.
user281377

@ user281377 Mi piace quello che stai facendo: principio di incertezza di Heisenberg per lo sviluppo del software.
K.Steff,

Risposte:


8

Non si tratta tanto delle persone coinvolte quanto delle competenze che devono essere presenti:

  • Una buona conoscenza del dominio problematico - questo è particolarmente importante quando i requisiti sono ambigui o di alto livello. Come programmatore che non ha mai lavorato in viaggio per stimare il lavoro relativo alle classi di biglietti su un aereo e presumerà che ce ne siano 3 o 4 (economia, affari, prima ecc.) Ma se hai lavorato in viaggio saprai che ce ne sono dozzine. Ciò può significare che è coinvolto un analista aziendale o un utente esperto, anche se nel tempo gli stessi sviluppatori svilupperanno questo tipo di conoscenza.

  • Comprensione della tecnologia e del lavoro che sarà coinvolto - di solito uno sviluppatore, sebbene un manager con esperienza recente che abbia la fiducia del team, spesso può fare il lavoro. Idealmente, però, ottieni la persona che effettivamente svolgerà il lavoro in quel modo in cui vengono acquistati nel preventivo.

  • Comprensione del processo di stima: questa è la chiave. È necessario comprendere come fare una stima decente, come assicurarsi che sia corretta, controllare i livelli di contingenza appropriati, verificare il doppio conteggio o il riempimento eccessivo. Solitamente un PM, un responsabile dello sviluppo o uno sviluppatore senior lo porteranno, sebbene in alcuni processi un solido modello di stima possa fornire la guida necessaria.

Queste abilità possono essere in una persona, anche se a volte ne avranno bisogno di tre o più, ma la cosa fondamentale è assicurarsi che tali abilità siano presenti, non che siano presenti persone particolari.

Detto questo, generalmente cercherò più di due persone, poiché si desidera avere la certezza aggiuntiva che due o più persone che si controllano a vicenda lavorano.

Per quanto riguarda il cui voto viene conteggiato di più, non funziona così. È una discussione e una negoziazione. Se un manager ritiene che la stima degli sviluppatori sia troppo alta, deve spiegare perché e sfidare (non esercitare pressioni) lo sviluppatore per giustificarlo e devono raggiungere un consenso. Nel caso in cui non sia possibile raggiungere tale accordo, direi due cose per esperienza:

(a) Non andare con il numero che "vuoi", sta solo chiedendo problemi e ciò che vuoi non ha alcun impatto materiale sulla velocità con cui il lavoro può essere svolto.

(b) In quasi tutti i casi in cui ho visto dove uno sviluppatore è stato sovrastato in base a una stima, il numero finale è risultato più vicino a quello che pensava lo sviluppatore rispetto a chiunque li sovrastasse, in gran parte perché hanno ignorato il punto (a) sopra.

(Detto questo in agile, credo, e certamente in XP, la regola è che gli sviluppatori controllano le stime e questo è definitivo. Se gli utenti vogliono abbassare le stime devono cambiare il requisito per qualcosa di più semplice.)


+1 per il numero che "desideri". Vedi qui .
Spencer Rathbun,

1
Qualcosa di più approfondito sul "numero che voglio": Estimation Games
K.Steff,

2

Non so se c'è una risposta unica per tutti a questa domanda. Dove lavoro, di solito ci sono due ingegneri del team che implementeranno la funzione / correzione che forniscono un preventivo. Quindi due ingegneri forniscono ciascuno una stima "min", "max" e "prevista". Di solito ci aspetteremmo che entrambe le stime siano ragionevolmente coerenti, quindi se sono selvaggiamente diverse, potrebbero essere necessarie ulteriori discussioni (forse un ingegnere aveva ipotizzato che l'altro no, ecc.).

Nella nostra situazione, il "voto" di nessuno è conteggiato come tale. Generalmente calcoliamo solo una media delle due stime (ricordate, se non sono già nello stesso campo di gioco, quindi rifiutiamo entrambe e ricominciamo da capo con le discussioni, quindi prendere la media non è un grande salto). Le stime sono solo stime, dopotutto, quindi non devono essere esatte .


1

Nella mia esperienza, le stime tendono ad essere fatte dalla persona che molto probabilmente farà il compito da sola. I team di SCRUM dovrebbero sforzarsi di essere interfunzionali, ma dopo un po ', alcuni tipi di compiti vengono generalmente svolti dalle stesse persone.

Di vitale importanza è ottenere un'accettazione dal team su tutte le stime. Se uno sviluppatore ritiene di possedere un preventivo, lavorerà per soddisfarlo. Se gli sviluppatori ricevono una stima del fatto che non si sono comportati da soli e non hanno avuto alcun input o influenza, non sentiranno lo stesso livello di responsabilità nei suoi confronti e gli scoperti verranno spiegati con "Te l'avevo detto che ci sarebbe voluto più tempo".


0

Un progetto ha requisiti aziendali e scadenze provenienti dall'alto verso il basso. Quelle sono "stime fornite" per la prima iterazione.

Questi requisiti devono essere partizionati per le attività più grandi con un costo noto al 100% (come "abilita registrazione" = 2 ore = "scarica log4j / SLF4J e collega").

La stima dovrebbe essere effettuata al più alto livello possibile che dispone già di competenze tecniche sufficienti per farlo.

Le stime corrette devono risalire sotto forma di "caratteristica visibile dall'azienda" = "questa quantità di tempo" fino a quando raggiungono il proprietario dell'azienda a un livello adeguato, in grado di eliminare / modificare i requisiti o di allentare le scadenze. Quindi tornare indietro. Fino alla convergenza finale. In pratica, le persone tendono a ignorare questa fase o a semplificarla, il che a sua volta può creare rischi associati a scadenze e opportunità mancate.


1
"Un progetto ha requisiti di business + termini che arrivano dall'alto verso il basso. Questi sono" dati stimati "per la prima iterazione." - Tristemente vero e responsabile del tipo di pressione che porta gli altri a dare stime imprecise mentre cercano di rimanere entro queste scadenze, nonostante ciò sappia quanto tempo impiegherà davvero.
Jon Hopkins,

@Jon Hopkins - +1, punto giusto, ma ho descritto il processo ideale, in realtà, come hai detto, i manager tecnici a volte preferiscono impegnarsi ad apriori un programma non realistico e trovare "giustificazioni" per i ritardi man mano che il progetto procede
bobah

Non sto criticando la tua risposta - sto solo dicendo che questo particolare elemento è qualcosa di cui diffidare e che quelli che stimano dovrebbero, se possibile, in primo luogo non essere informati di queste scadenze per paura di essere influenzati da loro.
Jon Hopkins,

1
"Un progetto ha requisiti aziendali e scadenze che arrivano dall'alto verso il basso." - A meno che le persone al vertice non siano sviluppatori stessi con esperienza "in trincea", questa è una ricetta per DISASTRO.
Vettore

Hai mai notato come le squadre MLB abbiano sempre un ex giocatore come loro manager in panchina? Questo perché solo un ex giocatore capisce cosa serve per portare a termine il lavoro e ha la fiducia dei ragazzi che scendono in campo.
Vettore

-1

Chi o chi dovrebbe partecipare alla stima del tempo? Sviluppatore, team leader, scrum master ed ecc?

Preferisco che tutti ci fossero nella stima del tempo e facciamo lo stesso qui

Chi o il cui voto dovrebbe essere conteggiato di più?

Lo sviluppatore, ma è ancora tutto basato sul lavoro di gruppo


-2

GLI SVILUPPI INCARICATI DELL'ATTUAZIONE DEL PROGETTO! NESSUN ALTRO!

Gli sviluppatori che fanno le vere mani sul lavoro e i leader del team di sviluppo sono gli unici in grado di stimare correttamente quanto tempo ci vorrà davvero. Solo i programmatori che hanno familiarità con la base di codice attuale possono comprendere le potenziali difficoltà e insidie ​​che possono essere incontrate nel corso dello sviluppo. Tutti gli altri sono "spettatori".

Inoltre, l'unico modo in cui gli sviluppatori possono fidarsi di fornire stime accurate è quando gli uomini d'affari si fidano di loro e fanno affidamento sulla loro esperienza in modo tale che gli sviluppatori sappiano che non saranno penalizzati se la loro stima non soddisfa le aspettative dell'azienda.

Regola empirica: ci vorranno almeno 3 volte il tempo necessario per la stima di qualsiasi project manager o uomo d'affari che non abbia familiarità con le sfide dello sviluppo manuale e della base di codice in questione.

Come qualcuno che ha lavorato come sviluppatore sia come libero professionista che come impiegato in grandi aziende per quasi 20 anni, lo dico con la massima certezza e il beneficio di una grande esperienza amara.


2
Per favore, migliora questa risposta.
K.Steff,
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.