在啟動(dòng)一個(gè)大項(xiàng)目的過程中往往需要批量估算用戶故事辟灰,這是一個(gè)有挑戰(zhàn)的過程哈垢。一方面我們不想占用太多時(shí)間赖捌,另一方面又要求具備做計(jì)劃需要的準(zhǔn)確程度(夠用的準(zhǔn)確)案疲,同時(shí)得到完整的項(xiàng)目范圍封恰。在眾多項(xiàng)目中我們嘗試了多種做法,來應(yīng)對(duì)不同規(guī)模用戶故事的估算褐啡。
大規(guī)模的估算
對(duì)于規(guī)模在200個(gè)故事以內(nèi)的需求诺舔,可嘗試下面2種做法:
相對(duì)估算法
旨在短時(shí)間內(nèi)獲取相對(duì)精確的估算
步驟:
1. 業(yè)務(wù)人員給開發(fā)團(tuán)隊(duì)一個(gè)個(gè)介紹故事,并Timebox討論的時(shí)間备畦,如每個(gè)故事不超過2分鐘低飒。
2. 比較這個(gè)故事與已分析過故事的相對(duì)大小,并放在相對(duì)大小類似的列下懂盐。左邊小褥赊,右邊大。意見不一致時(shí)解釋一下莉恼,再?zèng)Q策崭倘。
3. 過完所有故事后,針對(duì)有風(fēng)險(xiǎn)的區(qū)域做整體調(diào)整类垫。比如多個(gè)故事完成一個(gè)大需求司光,前面評(píng)估時(shí)不考慮實(shí)現(xiàn)順序,可能放到了一起悉患,但實(shí)際工作中先做的故事工作量會(huì)大些残家,因此需要針對(duì)這些故事做些調(diào)整,分散它們的相對(duì)大小售躁。
4. 把各列故事強(qiáng)制分組到斐波那契數(shù)列(1,2,3,5,8,…)或倍數(shù)數(shù)列(1,2,4,8,16,...)表示的相對(duì)大小列中坞淮,考慮合并類似大小的列茴晋,或分解一列中的故事到相鄰的列中。
注意事項(xiàng):
1. 需要的話大家提前討論比較相對(duì)大小時(shí)的指導(dǎo)回窘,如比較技術(shù)復(fù)雜性诺擅,需求細(xì)節(jié)復(fù)雜性以及需求的不確定性等。
2. 盡可能打破大家拿點(diǎn)數(shù)換算成人天的固有概念啡直。
3. 要體現(xiàn)群體智慧的力量烁涌,而不是某一兩個(gè)人的理解,可以使用估算撲克的方法判斷大小酒觅。
看看相對(duì)估算法在實(shí)際應(yīng)用中的場(chǎng)景:
估算2.0
一種更為強(qiáng)調(diào)紀(jì)律性和全員強(qiáng)制參與的相對(duì)用戶故事估算方法
步驟:
1. 準(zhǔn)備一個(gè)較大的桌子或地面撮执、開發(fā)人員選出順序。待估算的用戶故事放置在一邊舷丹。
2. 第一位開發(fā)人員抒钱,從待估算的用戶故事中選擇一個(gè)認(rèn)為工作量適中的用戶故事卡片,放置到準(zhǔn)備好桌子的中間部分。
3. 第二位開發(fā)人員,從待估算的用戶故事中選擇出一個(gè)自己熟悉的用戶故事,如果比剛才選擇的用戶故事大,就放在剛才故事的右邊察郁。如果比剛才選擇的用戶故事小,就放在剛才故事的左邊。相似的話就放在剛才故事的下方。
4. 第三位開發(fā)人員可以選擇移動(dòng)剛才第二位開發(fā)人員的卡片位置,也可以選擇放置新的卡片逼友。如果挪動(dòng)位置的話要說明自己的原因精肃。
5. 重復(fù)第4步,并循環(huán)開發(fā)人員帜乞。需求司抱、測(cè)試人員可以提出一些疑問。
6. 所有人對(duì)故事卡片位置沒有意見之后黎烈,開始放置相對(duì)估算數(shù)字习柠。
7. 先放置1,下一個(gè)人可以選擇移動(dòng)1照棋,也可以選擇放置新的估算數(shù)字资溃。
8. 可以繼續(xù)調(diào)整故事卡片,最后所有人對(duì)數(shù)字沒有異議烈炭,結(jié)束整個(gè)過程溶锭。
注意事項(xiàng):
1. 只有開發(fā)人員可以移動(dòng)卡片。
2. 測(cè)試和需求人員進(jìn)行提問和解釋符隙。
3. 需要持續(xù)寫出故事的假設(shè)條件趴捅。
看看估算2.0在實(shí)際應(yīng)用中的場(chǎng)景:
更大規(guī)模的估算
如果故事規(guī)模增加到數(shù)百個(gè)垫毙,上面的做法就顯得耗時(shí)太長。在一個(gè)項(xiàng)目中我們采用下面的做法拱绑,在一天的時(shí)間里評(píng)估了500個(gè)左右的故事和接口综芥。
大致步驟:
1. 先將故事按照業(yè)務(wù)模塊分組貼到墻上。業(yè)務(wù)模塊和故事間還可以加入一層叫特性(下圖中的藍(lán)卡)猎拨。
2. 多人共同識(shí)別出工作量為1的故事(下圖中貼粉條的綠卡)膀藐,就是那些工作量很小的故事,做為后續(xù)評(píng)估的標(biāo)準(zhǔn)迟几。同時(shí)標(biāo)記出工作量為0消请,即可忽略工作量的卡(下圖中貼黑條的綠卡)。
3. 多人分頭識(shí)別出工作量是2的故事类腮,也就是比1大臊泰,但不至于大3倍的故事,把數(shù)字2寫到卡片上蚜枢。再分頭依次識(shí)別出3缸逃,5,8厂抽,...的卡需频。遇到難以評(píng)估的卡也標(biāo)記出來(下圖中貼黃條的綠卡)。
4. 針對(duì)剩下的難以評(píng)估的卡做討論筷凤,分解昭殉,再評(píng)估。清理掉評(píng)估用的各種臨時(shí)條子藐守。
5. 計(jì)算特性的工作量挪丢,也就是特性下故事工作量的和,以便于后面利用特性做交付計(jì)劃卢厂。
6. 對(duì)于后端接口(后端團(tuán)隊(duì)的工作單位)乾蓬,由一位資深工程師按照相對(duì)估算法評(píng)估。
當(dāng)然任内,在估算活動(dòng)中還有一些基本原則和細(xì)節(jié)需要牢記在心,以確比诩恚快速和夠用的準(zhǔn)確死嗦,且聽下回分解。