在一起(最好是單數(shù)),圍繞在一個(gè)需求人員的周圍;需求人員邀請(qǐng)開發(fā)人員在桌上的卡片中挑選出一個(gè)可以被認(rèn)為是基準(zhǔn)工作量的卡片,不要過大,也不要過小,我們的經(jīng)驗(yàn)是一對(duì)Pair在10個(gè)小時(shí)能夠完成的用戶故事(包含測(cè)試)。
當(dāng)找到這個(gè)基準(zhǔn)點(diǎn)之后,我們要做的是由需求人員對(duì)每張卡片進(jìn)行講解,具體描述這張卡實(shí)現(xiàn)之后,作為用戶我可以做的1,2,3點(diǎn),目的是讓開發(fā)人員了解范圍?;谶@個(gè)范圍,需求人員可以鼓勵(lì)開發(fā)人員提問,當(dāng)遇到當(dāng)時(shí)無法澄清的問題時(shí),由需求人員把這個(gè)問題轉(zhuǎn)化假設(shè)寫在卡片上,讓開發(fā)人員基于假設(shè)進(jìn)行估算。
估算值的大小采用費(fèi)貝納切數(shù)列1,2,3,5,8,13+,注意有三點(diǎn):
- 這里只有層級(jí)的概念,而沒有倍數(shù)的關(guān)系,2點(diǎn)的故事不代表工作量?jī)杀队?點(diǎn)的故事;而是只要認(rèn)為這個(gè)故事大于基準(zhǔn)故事卡而小于一個(gè)3點(diǎn)的故事卡時(shí),那么這個(gè)故事的點(diǎn)數(shù)就是2。所以在一開始如果發(fā)現(xiàn)有一張卡片遠(yuǎn)遠(yuǎn)高于當(dāng)前被估算最小點(diǎn)數(shù)的卡片,可是暫時(shí)不估,等待一個(gè)最相似工作量的卡片被估計(jì)出來繼續(xù);
- 原則上不應(yīng)該出現(xiàn)8個(gè)點(diǎn)以上的故事,如果出現(xiàn),那么證明這個(gè)故事應(yīng)該被拆分。這樣的故事可以被估計(jì)為13+,之后由需求人員繼續(xù)拆分;
- 對(duì)于不能估計(jì)的故事,打上問號(hào),由需求人員之后澄清后再進(jìn)行補(bǔ)充;
Mike Cohn發(fā)明了用卡片游戲進(jìn)行估計(jì)的方法,考慮到成本較高,我們采用“猜拳法”。當(dāng)大家已經(jīng)明確卡片里的內(nèi)容后,由需求人員喊:1,2,3!開發(fā)人員按照自己的想法用手指把點(diǎn)數(shù)表達(dá)出來,出拳之前大家不要商量,不要影響別人的判斷,像殺人游戲里投票的規(guī)則一樣“不能跟票”。規(guī)則是:
- 重大差異雙方PK后重新出拳:如果結(jié)果相差兩個(gè)數(shù)量級(jí),比如1和5,雙方進(jìn)行PK,讓大家充分考慮不同意見,然后重新出拳;
- 少數(shù)服從多數(shù):如果出現(xiàn)相差不大的情況,少數(shù)服從多數(shù),有特別需要提出的,可以給予機(jī)會(huì)提出,酌情考慮重新出拳;
- 平票估多不估少:如果出現(xiàn)平票,比如3個(gè)3,3個(gè)5(因此盡量避免偶數(shù)人參加)時(shí),按照估算量大的來算;
需求人員要作為主持人控制整個(gè)工作量預(yù)估的節(jié)奏,防止過度陷入細(xì)節(jié),酌情給予重新出拳的機(jī)會(huì)。
注意,工作量點(diǎn)數(shù)應(yīng)該寫在卡片背面。
迭代計(jì)劃
迭代計(jì)劃首先需要明白的是到底整個(gè)團(tuán)隊(duì)能夠在一個(gè)迭代里交付多少。我們的實(shí)踐是,把之前準(zhǔn)備的卡打散,由需求人員對(duì)核心開發(fā)人員(參加估計(jì)工作量的)說:“既然大家都已經(jīng)完成了工作量預(yù)估,也對(duì)需求有了大致的了解,那么大家看一看估計(jì)兩周的時(shí)間里,我們團(tuán)隊(duì)能差不多做些什么東西?請(qǐng)?jiān)谶@些卡里挑”。
這里需要注意的是,如果團(tuán)隊(duì)是新建團(tuán)隊(duì),大家對(duì)團(tuán)隊(duì)能力沒有一個(gè)經(jīng)驗(yàn)的參考,可以讓大家選擇自己估計(jì)能在兩周內(nèi)完成卡片,之后的規(guī)則也基本類似。
這樣的挑卡活動(dòng)大概進(jìn)行6到8輪,每輪都把卡片重新洗過,由需求人員記錄每輪收集卡片的總工作量(這也是為什么把工作量放在卡后,這樣可避免開發(fā)人員有意識(shí)地挑選工作量大或小的卡片),然后除以輪數(shù),得到一個(gè)大概的團(tuán)隊(duì)單迭代(兩周)最大交付能力的數(shù)字。
因?yàn)橛肋h(yuǎn)只能看到昨天的天氣,這個(gè)數(shù)字一定是不準(zhǔn)確的,它將會(huì)在兩周后根據(jù)第一迭代的交付情況進(jìn)行適當(dāng)?shù)恼{(diào)整。
至此,我們已經(jīng)得到了一個(gè)團(tuán)隊(duì)極限交付能力值,假設(shè)這個(gè)值是30。那么接下來要做的事情便是設(shè)計(jì)迭代計(jì)劃。
迭代計(jì)劃需要考慮的兩個(gè)進(jìn)入標(biāo)準(zhǔn)是:
- 優(yōu)先安排技術(shù)風(fēng)險(xiǎn)較大的技術(shù)任務(wù)在剛開始的迭代;
- 每個(gè)迭代的一系列故事聚合在一起應(yīng)該有一個(gè)明確的業(yè)務(wù)目標(biāo),體現(xiàn)一種明確的業(yè)務(wù)場(chǎng)景,而不是零零散散的功能點(diǎn);
我們做的實(shí)踐是給需求人員和核心團(tuán)隊(duì)與團(tuán)隊(duì)極限交付能力相等數(shù)量的“籌碼”(我喜歡使用曲別
針),我們的例子里是30個(gè)。把30個(gè)籌碼按照上述的進(jìn)入標(biāo)準(zhǔn),分別放與工作量相等數(shù)量的曲別針在卡上。當(dāng)30個(gè)全部用完,那么第一迭代的故事卡片就被確定。接下來是第2個(gè)迭代的需求,以同樣的方法,直到所有卡片被排完。注意越到后面迭代的卡片越不準(zhǔn)確,因此可酌情考慮只做迭代1,2的計(jì)劃。
到此為止,我們至少直到了迭代1和迭代2計(jì)劃安排的工作內(nèi)容,接下來的工作便是按照迭代泳道把這些卡片貼在墻上,當(dāng)?shù)谝粋€(gè)迭代需求分析完畢后,全體開發(fā)人員進(jìn)行Kickoff會(huì)議,快速開始迭代。
版權(quán)聲明:轉(zhuǎn)載時(shí)請(qǐng)以超鏈接形式標(biāo)明文章原始出處和作者信息及本聲明
http://yizhituzei.blogbus.com/logs/70698391.html