Fornire stime quando si lavora con tecnologia non familiare?


19

Di recente mi è stato presentato un nuovo problema, per fornire una stima per un progetto in cui devo usare un framework (e potenzialmente frammenti di un altro framework) con cui non ho familiarità. È molto più facile per me fornire stime quando sono libero di usare ciò che ho familiarità, ma era come se una paralisi paralizzante per analisi fosse iniziata quando è stata richiesta una stima per lavorare in un territorio sconosciuto.

La mia soluzione, a posteriori, era sbagliata. Ho semplicemente iniziato a lavorare.

Come potrei stimare meglio progetti e attività quando mi viene richiesto di lavorare con lingue / tecnologie / strutture sconosciute?


2
Dare una stima su qualcosa che non hai mai fatto è, in tutta praticità, impossibile da fare con precisione. Di recente ho dato questa analogia quando mi è stato chiesto quanto tempo ci sarebbe voluto quando ci fossero un sacco di incognite: "Immagina di uscire di notte in campagna. È buio pesto. Devi camminare un miglio sulla terra. Sai in quale direzione ti trovi devi andare, ma hai solo una lanterna che illumina dieci piedi. Non hai idea di cosa ti sta davanti: campo, fiume, montagna. Detto questo, puoi fare ipotesi istruite, ma alla fine sei soggetto a cose al di fuori del tuo controllo "
Nemi,

Ciò dipende anche dallo scopo del preventivo. Stai valutando il caso più probabile? Peggiore caso? Sono previste scadenze rigide?
David Thornley,

@ David Credo che questo sarebbe un caso "molto probabile".
Sampson,

Risposte:


18

La risposta standard dal libro di testo agile è eseguire un picco. Uno spike è un compito a tempo per esplorare l'ignoto, in modo che alla fine si disponga (si spera) di informazioni sufficienti per fornire una stima utile o avere un'idea migliore di quanto tempo sarà necessario per arrivare a quel punto .

I picchi possono durare da 1 ora a diversi giorni o anche di più. Poiché sono time-boxed, non vi è alcun rischio per entrambe le parti e le spese sono strettamente limitate.

Idealmente durante il picco identificheresti alcune cose semplici che dovevano essere raggiunte con questo nuovo framework e avresti adottato soluzioni molto semplicistiche. Mentre vai avanti, impari, e questo è tutto ciò che riguarda i picchi.


Forse è una buona idea aggiungere che "spike" è la terminologia di Scrum .
Jesper,

1
Sembra un buon approccio. Nel mio caso particolare, il mio "picco" consisteva nel progetto stesso. Mi è sembrato un uso prezioso del mio tempo utilizzare effettivamente l'attività come gateway per la familiarità piuttosto che un'attività non correlata.
Sampson,

10

Il modo classico di farlo è attraverso la raffinatezza. Alla prima riunione di pianificazione dici;

"Non ne ho idea - fondamentalmente stiamo facendo ricerche di software qui. Tuttavia, avrò una stima migliore entro il prossimo incontro, tra mesi"

Quindi vai via e fai le ricerche. Prossimo incontro:

"Sembra che ci vorrà da due a quattro quarti. Costruiremo un prototipo che ci permetterà di affinare ulteriormente le cifre".

Prossimo incontro:

"Il prototipo è stato più facile da costruire di quanto pensassimo. Sembra che possiamo farlo in 2 quarti, più o meno al mese."

e così via. In ogni fase, l'azienda ha la possibilità di conservare il progetto o lasciarlo continuare, ottenendo stime sempre migliori della data di completamento mentre lo fa.

Questo è descritto molto bene nel grande libro di Steve McConnell Rapid Development , che merita di essere molto più conosciuto. Certamente è di gran lunga superiore a qualsiasi dei libri di "agile" che ho letto.


+1 Grazie per l'intuizione, @Neil. Esaminerò anche il suggerimento del libro.
Sampson,

2

Puoi fare ricerche e comunque elaborare stime errate. Vedi Limiti limite alla stima del software di JP Lewis e il materiale allegato Limiti matematici alla stima del software . Non sto dicendo che non dovresti preoccuparti di stimare o ricercare, solo che non puoi fare una stima obiettivamente accurata e devi dirlo insieme a qualsiasi stima tu arrivi.


3
Le stime sono per definizione imprecise e sembra che molti manager e / o clienti abbiano difficoltà con questa realtà.
Wolfgangsz,
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.