Articles

a bizonytalanság kúpja kísérlet

a bizonytalanság kúpja egy hatékony eszköz, amely a projekt befejezéséhez szükséges idő bizonytalanságát ábrázolja, a projekt elején lévő ismeretek (vagy azok hiánya) alapján. Ebben a cikkben, feltárjuk a Codebots embercsoportjának kísérletét annak meghatározására, hogy a bizonytalansági kúp alkalmazása hogyan javíthatja a projekt becsléseit.

szoftverbecslési sorozatunk részeként megvizsgáltuk az elvárások kezelésének fontosságát bármely szoftverprojekt részeként. Ez a cikk a bizonytalanság kúpjára összpontosít, amely hatékony eszköz a hatókör-és becslési folyamat kockázatainak csökkentésére. Alapjában véve a projekt befejezéséhez szükséges idővel kapcsolatos bizonytalanság ábrázolása, a projekt elején lévő ismeretek (vagy azok hiánya) alapján. Ez végső soron a projekt ismeretlen okok miatt történő kifújásának kockázatát jelenti, valamint azt a tényt, hogy minél tovább próbálod megbecsülni a jövőben, annál valószínűbb, hogy tévedsz. Érdekes paradoxon, amikor pontosan meg akarjuk jósolni a jövőt, azonban nem lehetünk igazán pontosak, mert ez csak becslés.

Image

abban az esetben, ha még nem tette meg, azt javaslom, hogy ismerkedjen meg egy korábbi kísérlettel, amelyet itt, a Codebots-ban végeztünk, hogy felfedezzük, hogyan tudnánk a legjobban kezelni a szoftver kockázatait. Ennek a gyakorlatnak a motivációja a szoftvercsapataink gyakori túloptimizmusa volt, amikor becsléseket végeztek.

miután felszereltük magunkat a legjobb eljárással, hogy javaslatot tegyünk egy kísérletre, azonosítottunk egy problémát a rögzített hatókörű becsléseinkben. Minden idézet legalább 80% – os változást tartalmazott az elvégzett munkában, függetlenül a projekt hosszától. Mivel nem alkalmaztuk a bizonytalanság kúpját, jelentősen akadályozta azt a képességünket, hogy ügyfeleinknek reális becsléseket nyújtsunk és elvárásaikat kezeljük.

1. lépés: Megérteni a problémát

mint fentebb említettük, becsléseinkben problémát tapasztaltunk, amely akkor fordul elő, amikor rögzített hatókörű árat adunk meg az idézési szakaszban. (Rögzített hatókör, amely a megadott pontos követelmények teljesítését jelenti, de rugalmas ideig). Nem számít a projekt hossza, mindig átmentünk a nagy mennyiségű variáció miatt.

a kiváltó ok – nem volt bizonytalan kúpunk. Nem vettük figyelembe azt a tényt, hogy minél messzebb a jövőbe próbálsz megjósolni, annál nagyobb az időeltérés növekedése. Ennek oka, hogy számos konkrét kockázat áll fenn, amelyek közül a legsúlyosabbak a pontatlan becslések, a hatály eltérései és a végfelhasználói szerepvállalás. Mivel az elején mindent megbecsültek, nem volt lehetőség arra, hogy megváltoztassák a becslést, hogy figyelembe vegyék ezeket a felfedezett kockázatokat. Ehelyett ezeknek a kockázatoknak a hatása a projekt élettartama alatt súlyosbodik, vagyis minél hosszabb a projekt, annál többet próbál megjósolni, ezért annál valószínűbb, hogy téved.

2. lépés: Dolgozzon ki egy hipotézist

miután megemésztette a problémát, ezután egy hipotézis kidolgozásán dolgoztunk annak tesztelésére, hogy a bizonytalanság kúpja pontosan alkalmazható-e rögzített hatókörű becsléseinkre.

ebből feltételezték, hogy egy képlet használható a bizonytalanság kúpjának méretének kiszámításához, figyelembe véve a projekt hosszát.

3. lépés: tervezze meg a kísérletet

hipotézisünkkel felszerelve kísérletet terveztünk a bizonytalanság kúpjának tesztelésére. Ehhez létrehoztunk egy kvadratikus függvényt a kúpunk szimulálására, egy paraméterrel, amely az előre jelzett fejlesztési hetek számát képviseli. Ezután alkalmazhatjuk ezt a szorzót becsléseinkre, hogy figyelembe vegyük az idő varianciáját, annak alapján, hogy milyen messze a jövőbe próbáltunk megjósolni.

Image

Ha ezt a korábbi projektek becslési adataira alkalmazzuk, akkor megállapíthatjuk, hogy a fix hatókörű ár a variációval pontosabb lett volna-e.

4. lépés: Gyűjtsük össze az adatokat

különböző projektekből gyűjtöttünk adatokat, beleértve a kiosztott és felvett időre, a befejezett történetekre, a befejezésig eltelt időre vonatkozó információkat, beleértve a projektre és a felmerült kockázatokra vonatkozó további megjegyzéseket.

a becsléseket figyelembe véve minden projekthez egy hipotetikus rögzített hatókörértéket számítottunk ki, a bizonytalanság kúpját használva. Ezen információk felhasználásával meg tudtuk vizsgálni, hogy a fejlesztéshez szükséges idő, mind a kezdeti munka, mind a további variációk befejezése, összehasonlítható volt-e a bizonytalanság kúpjával generált új becslési értékekkel. Kiderült, hogy a javított becslés és a ténylegesen felhasznált idő nagyon hasonló volt!

5. lépés: Döntést hoz

végül az adatok azt mutatták, hogy ha a bizonytalanság kúpját rögzített hatókörre alkalmazzuk, egy olyan képlet segítségével, amely figyelembe veszi a projekt hosszát, akkor egy becslést kapunk, amely figyelembe veszi a projekt fejlesztése során bekövetkező varianciát.

végül azt javasoljuk, hogy a teljes projekt becslése helyett a fejlesztőcsapat csak kis mennyiségű munkára összpontosítson és becsülje meg. Ez segít csökkenteni az ismeretlenek hatását, ezért a bizonytalanság kúpjának méretét. Ez azt is jelenti, hogy ahogy a csapat dolgozik a projekten, többet megtudnak róla, és amikor a következő munkadarab becsléséről van szó, csökkenthetik a bizonytalanságot és pontosabb becsléseket készíthetnek.