1. 程式人生 > >Scrum 之 敏捷估算

Scrum 之 敏捷估算

        無論是團隊研發一款產品或者開發某一個專案,我們都需要回答“我們大概什麼時間能夠完成?”, 或者到某一個時間點,我們能夠做到什麼程度, 因此和傳統的開發模式一樣,我們在工作開始之前需要對我們需要做的事情進行工作量的估算。

敏捷估算的特點:

團隊集體估算

在Scrum的開發過程中,團隊共擔責任,集體承諾每個Sprint的工作,因此對於工作量的估算敏捷團隊採用集體估算的方式。集體估算,通常採用估算撲克作為工具,團隊通過玩估算遊戲進行集體估算。使用估算撲克來做工作量估算是最有效,也是非常有趣的一種估算方式。估算撲克由一組類似斐波納契數列的數字組成,這些數字包括:0,0.5,1,2,3,5,8,20,40,?,∞, 每幅撲克有四組這樣的數字,可供4個人使用。

估算撲克的使用方法:

1.每個團隊成員拿到一組卡片,包括0,0.5,1,2,3,5,8,13,20,40,?,∞,共計12張。

2.產品負責人或者一名團隊成員扮演閱讀者的角色,他負責閱讀需要估算產品Backlog的條目,並且詢問大家是否有疑問。

3.團隊討論這個條目。

4.當團隊理解了這個條目之後,每個團隊成員按照自己的想法給出估算結果,並且選擇對應的撲克出牌,估算結果不能告訴其他人,出牌時數字朝下扣在桌面上。

5.所有人都出牌之後,閱讀者向大家確認是否都已經確定估算結果,確認後,數”1,2,3″,大家同時展示估算結果。

6.團隊評估不同的估算結果.我們是否想法一致?我們是否存在分歧?有沒有什麼是我沒有考慮到的?討論之後可以再估算一輪,最終團隊需要達成一致。

7.回到第二步,開始估算下一個條目。

估算大小,而不是估算時間週期,使用相對估算,而不是絕對估算

一瓶礦泉水,讓一個3歲的小妹妹把它喝完所花的時間和一個成年人把它喝完所花的時間肯定不一樣,因此同一項工作,不同能力的人完成它花費的時間顯然是不一樣的。如果我們要估算從家到公司的絕對距離時多少公里,您可能不一定知道,但是如果您時做地鐵上班,從家裡到公司有多少站,你一定很容易知道,當我們知道有多少站之後,我們就可以大概清楚路上需要花多長時間了。敏捷估算時,我們不會估算絕對時間和週期,我們估算大小,和相對值,也就是倍數。敏捷估算時,我們使用故事點作為計量單位,它是一個倍數,我們會先找一個我們認為最小的一個功能的大小作為參考基準,定義為1個故事點,把其它的故事和它做比較,如果是2倍大小,就是2個故事點,如果是5倍大小,就是5個故事點。

記錄每個Sprint的團隊速度

團隊速率是一個Scrum團隊在一個Sprint中實際完成的故事點數,通過團隊速率可以知道團隊做的有多快。新開始的專案或產品開發,或者是新團隊,沒有初始速度,我們可以做1-2個Sprint測算一個速度,作為初始速度。在Sprint執行過程中,我們要記錄每個Sprint的速度,為以後的計劃做參考。


        我們估算了產品Backlog的故事點總數,然後又知道了每個Sprint團隊的平均速度,那麼我們就可以推算我們大概需要多少個Sprint可以做完,這樣我們就得到了週期。
我們估算了產品Backlog的故事點總數,然後又知道了每個Sprint團隊的平均速度,那麼我們就可以推算我們大概需要多少個Sprint可以做完,這樣我們就得到了週期。