Articles

conul incertitudinii experiment

conul incertitudinii este un instrument puternic care descrie incertitudinea cu privire la timpul necesar pentru a finaliza un proiect, bazat pe cantitatea de cunoștințe (sau lipsa acestora) la începutul unui proiect. În acest articol, explorăm un experiment realizat de o echipă de oameni de la Codebots pentru a determina modul în care aplicarea unui con de incertitudine ar putea spori estimările proiectului.

ca parte a seriei noastre de estimări software, am explorat importanța gestionării așteptărilor ca parte a oricărui proiect software. Acest articol se va concentra pe conul incertitudinii, un instrument puternic pentru atenuarea riscurilor implicate în procesul de definire și estimare. În centrul său, este o descriere a incertitudinii cu privire la timpul necesar pentru a finaliza un proiect, pe baza cantității de cunoștințe (sau a lipsei acestora) la începutul unui proiect. În cele din urmă, explică riscul ca proiectul să explodeze din cauza necunoscutelor și faptul că, cu cât încercați să estimați mai mult în viitor, cu atât este mai probabil să greșiți. Este un paradox interesant în care vrem să prezicem viitorul cu exactitate, însă nu putem fi cu adevărat exacți, deoarece este doar o estimare.

Image

În cazul în care nu ați făcut-o deja, vă recomand să vă familiarizați cu un experiment anterior pe care l-am efectuat aici la Codebots pentru a descoperi cum am putea gestiona cel mai bine riscurile în software. Motivația pentru acest exercițiu a fost supraoptimismul frecvent din partea echipelor noastre de software atunci când a venit vorba de efectuarea estimărilor.după ce ne-am echipat cu cea mai bună procedură pentru a propune un experiment, am identificat o problemă în estimările noastre fixe. Fiecare ofertă conținea o variație minimă de 80% a lucrărilor efectuate, indiferent de durata proiectului. Deoarece nu am aplicat un con de incertitudine, capacitatea noastră de a oferi clienților noștri estimări realiste și de a le gestiona așteptările a fost semnificativ împiedicată.

Pasul 1: Înțelegeți problema

după cum am menționat mai sus, am întâmpinat o problemă în estimările noastre, care apare atunci când oferim un preț fix de aplicare în etapa de cotare. (Domeniul de aplicare fix înseamnă livrarea cerințelor exacte date, dar pentru o perioadă flexibilă de timp). Indiferent de durata proiectului, ne-am dus întotdeauna din cauza unei cantități mari de variație.

cauza principală – nu am avut un con de incertitudine. Nu am luat în considerare faptul că, cu cât încercați să anticipați mai mult în viitor, cu atât este mai mare creșterea varianței de timp. Acest lucru se datorează prezenței unui număr de riscuri specifice, cele mai severe fiind estimările inexacte, variațiile domeniului de aplicare și implicarea utilizatorului final. Deoarece totul a fost estimat la început, nu a existat nicio oportunitate de a modifica estimarea pentru a ține cont de aceste riscuri descoperite. În schimb, impactul acestor riscuri este agravat pe durata de viață a proiectului, adică cu cât proiectul este mai lung, cu atât încercați să anticipați mai mult, prin urmare, cu atât este mai probabil să greșiți.

Pasul 2: Dezvoltați o ipoteză

după ce am digerat problema, am lucrat apoi la dezvoltarea unei ipoteze pentru a testa modul în care un con de incertitudine ar putea fi aplicat cu exactitate estimărilor noastre de domeniu fix.

Din aceasta, s-a emis ipoteza că o formulă ar putea fi utilizată pentru a calcula dimensiunea conului de incertitudine, având în vedere lungimea unui proiect.

Pasul 3: planificați experimentul

echipat cu ipoteza noastră, am procedat la planificarea unui experiment pentru a testa propunerea noastră de con de incertitudine. Pentru a face acest lucru, am generat o funcție pătratică pentru a simula conul nostru, cu un parametru reprezentând numărul de săptămâni prezise de dezvoltare. Am putea apoi să aplicăm acest multiplicator estimărilor noastre pentru a ține cont de varianța timpului, în funcție de cât de departe în viitor am încercat să prezicem.

Image

dacă aplicăm acest lucru datelor de estimare din proiectele anterioare, am putea determina dacă un preț fix cu variația ar fi fost mai precis.

Pasul 4: Colectarea datelor

am colectat date dintr-o varietate de proiecte, inclusiv informații despre timpul alocat și luat, poveștile finalizate, timpul până la finalizare, inclusiv note suplimentare despre proiect și riscurile întâmpinate.

luând estimările, am calculat o valoare ipotetică fixă a domeniului de aplicare pentru fiecare proiect, folosind conul de incertitudine. Folosind aceste informații, am putut examina dacă timpul pe care l-am luat efectiv pentru a dezvolta, finalizând atât lucrarea inițială, cât și variațiile suplimentare, a fost comparabil cu noile valori de estimare generate folosind conul de incertitudine. Se pare că estimarea îmbunătățită și timpul efectiv luat au fost foarte asemănătoare!

Pasul 5: Luați o decizie

în cele din urmă, datele au demonstrat că, dacă am aplica conul de incertitudine într-un domeniu fix, folosind o formulă care ia în considerare lungimea unui proiect, am ajunge la o estimare care ar lua în considerare varianța care apare pe parcursul dezvoltării proiectului.în cele din urmă, recomandăm ca, în loc să încercăm să estimăm întregul proiect, o echipă de dezvoltare să se concentreze doar pe și să estimeze o cantitate mică de muncă. Acest lucru va ajuta la reducerea impactului necunoscutelor și, prin urmare, dimensiunea conului de incertitudine. Acest lucru înseamnă, de asemenea, că, pe măsură ce Echipa lucrează la proiect, ei învață mai multe despre el, iar atunci când vine vorba de estimarea următoarei bucăți de muncă, pot reduce incertitudinea și pot face estimări mai precise.