故事點 是敏捷項目管理和開發中的一種抽象的度量單位,用於估計實現一個或多個用戶故事的複雜度,它是對工做量的一種描述方式。一個故事點就是一個數字,透過這個數字告訴整個團隊用戶故事的複雜度。複雜度包括功能的難易程度、風險和花多大的功夫。segmentfault
故事點(story point)和預估時間(estimated)不同,故事點是一種相對的估計,它並不能和相似「人/天」這樣的單位畫等號,由於每一個人完成一樣複雜度的工做所需的時間是不一樣的。咱們舉個例子說明一下:spa
假設T團隊有A、B、C三位員工,A君的能力是B君的2倍,B君的能力是C君的2倍(能力是不能這樣對比的,這裏只是方便說明問題),T團隊約定10天爲一個迭代,如今他們想計劃一下將來的工做。若是按照預估時間的方式,一個用戶故事B君以爲須要1天,A君以爲0.5天就能夠,C君以爲須要2天,那麼他們最終定多少呢?blog
這裏可能出現兩種結果:項目管理
第一種結果,A君說這個我來作,寫0.5天吧!若是按照這個方式,那麼整個計劃會議就演變成分工會議,A君挑若干的用戶故事,本身進行估時,B君和C君也是如此,當每一個人的總估時都逼近10天的時候,那麼這個迭代的目標就肯定了。這是不少團隊實際採用的方式,看起來好像沒問題,可是長此以往,這種方式的弊端就會顯現出來。開發
固然,還有第二種可能,你們決定取箇中間值,但是中間值定多少纔算合理呢?預估的時間多就意味着總體完成的工做量變少,預估的時間少意味着完不成的機率會增大。rem
不一樣於預估時間,故事點關注的是複雜度,讓全部人對同一個用戶故事有相同的複雜度認知。爲了作到這一點,T團隊能夠找到一個基準的用戶故事(下文稱爲基準故事),基準故事不必定是最小的,可是必定能在T團隊中每一個人心中引發共鳴,而後T團隊將第一個基準故事定義爲1個故事點。get
在估算一個新的用戶故事X時,全部人都須要思考,故事X比基準故事更花時間嗎?若是故事X的複雜度是基準故事的2倍,那麼很顯然,故事X的故事點應該爲2。須要注意的是,故事點的取值要遵循斐波那契數列(一、二、三、五、八、1三、2一、34… ),不過爲了方便記憶,在實際的操做中,不少團隊將21替換20,34替換成40等等。下圖是個人Scrum撲克牌。博客
這些紙牌表示的意思是:it
原則上,一個好的敏捷團隊,不該該爲超過8個故事點的用戶故事估算,大於等於8個故事點的用戶故事應該被拆分爲更小的用戶故事。而隨着時間的推移,T團隊中會出現愈來愈多的基準故事,這些基準故事對應的故事點多是1,也多是2,也多是3。這使得全部人對於新用戶故事的估算愈來愈準確。class
固然在實際的工做中,因爲每一個人實際狀況的不一樣,即便全部人都明白1個故事點意味着什麼,依然會爲一個用戶故事的故事點是2仍是5而產生爭論。有的人考慮的多,有的人考慮的少,有的知道一些近路,有的人一臉茫然。正確的步驟是這樣的:
使用這種方式的好處是顯而易見的,它能讓全部人對這個故事點有一個共識,這意味着,無論誰來完成這個用戶故事,那麼他是承認這個故事點的。並且它能夠有效的避免不假思索的跟風行爲,每一個人必須對用戶故事的複雜度進行思考,才能給出一個相對可靠的故事點,不然就要向全部人進行解釋。
使用這種方式也有它的弊端,那就是計劃會議很是耗時。在實踐中,有的團隊將估算的環節放在計劃會議以前,而有的團隊不借助撲克牌,而是直接經過全員討論得出一個相對正確的故事點。
T團隊對於用戶故事的估算是須要不斷的磨合的,同時還有一個須要不斷磨合的是團隊速度。A君B君C君已經在計劃會議中爲若干個用戶故事完成了估算,總故事點約爲40,那麼T團隊可以完成這個40個故事點嗎?實踐是檢驗猜想的惟一方式。
隨着幾個迭代的嘗試,T團隊發現30個故事點的工做量剛恰好,不緊也不慢,那麼T團隊的團隊速度即爲30個故事點/10天。
團隊速度的做用之一是,若是T團隊在一個迭代中規劃了總計爲30個故事點的用戶故事,無論每一個用戶故事是A君B君C君誰來作,理論上這些用戶故事T團隊都能按時完成。固然T團隊的速度不是一成不變的,下圖是我所在的團隊最近三個迭代的團隊速度。
(截圖來自Worktile Agile)
根據過去一段時間的團隊速度來規劃下一個迭代的工做規模,是很是科學的。
T團隊對本身團隊的能力有着清晰的認識,也對迭代的目標充滿着信心。另外,T團隊還能夠根據本身的團隊速度,在迭代中插入必定比例的非功能性需求。
除了團隊速度,使用故事點也能夠很是直觀的體現T團隊在一個迭代中的工做進展,下圖是我所在的團隊Sprint 10的燃盡圖。
(截圖來自Worktile Agile)
燃盡圖的趨勢能夠有效的體現T團隊目前是否失控,若是燃盡圖老是居高不下,全部人須要在站立會議中進行討論,共同發現、承擔並解決問題,這才能稱得上是一個團隊,不是嗎?
Worktile 官網:worktile.com
本文做者:孫敬雲
文章首發於「Worktile官方博客」,轉載請註明出處。