Gli sviluppatori affrontano un problema complesso scomponendolo in più piccoli e risolvendoli separatamente.
In un mondo ideale , risolvere un problema sarebbe un problema complesso A e potresti, in un dato momento, scomporlo in un breve elenco di piccoli problemi A 1 a A n , per ogni valutazione il tempo è semplice, dato che il tempo richiesto per risolvere il problema complesso iniziale sarebbe:
con D è il processo di decomposizione stesso.
Nel mondo reale , l'unico problema è che t ( D ) sarebbe in realtà più grande del tempo impiegato per risolvere i piccoli problemi . In altre parole, per arrivare a questo livello di scomposizione del problema, devi praticamente risolvere il problema stesso.
Puoi ancora:
-
Separa l'attività data (risolvendo il problema) in blocchi più piccoli, ogni blocco è ancora un problema complesso,
-
Valuta il tempo previsto per ogni blocco e il rischio corrispondente.
Ad esempio, l'attività 1 richiede ca. 5 ore, ma il rischio di rimanere bloccati è alto, quindi concedici 12 ore come aspettativa al cliente.
-
Valuta le dipendenze e in che modo influenzano il tempo.
Ad esempio, l'attività 19 richiede 2 ore e il rischio è talmente basso che puoi dire che sono 2 ore di sicuro. Non 1. Non 3. Ma l'attività 19 si basa sull'attività 24: l'attività 24 può influire sull'attività 19 in modo da richiedere la riscrittura completa del codice dell'attività 19 utilizzando un approccio diverso.
-
Fornisci tutti questi dettagli al tuo cliente. Non fornire la somma.
L'ultimo punto è importante. Se fornisci la somma, diciamo 192 ore, il cliente crede che sia una metrica molto precisa e il tempo che trascorrerai proviene, diciamo, da 189 a 195 ore.
Se, invece, dai i dettagli,
-
Il cliente che si preoccuperà capirà che non è 192 ore. È 192 ore se tutto va storto, dato il rischio determinato durante la valutazione. Sono anche 238 ore se tutto va ancora peggio. Anche 85 ore se tutto è ok.
-
Per quanto riguarda il cliente a cui non importa, non leggerà la tua risposta in tutti i casi. Tutto quello che vuole è un numero, per poterti incolpare più tardi. Dando una risposta molto dettagliata non leggerà mai, sai che non può chiederti il tempo che ci vorrà ancora: hai già risposto. Inoltre, non può biasimarti più tardi, dal momento che non ha letto la risposta per calcolare la somma.