Mike Cohn 在他的暢銷書: Agile Estimating and Planning 中有提到, Scrum 團隊在進行 sprint 規劃會議時, 可以用兩種方式進行規劃: (1) 速度驅動規劃(Velocity Driven Sprint Planning), (2) 承諾驅動規劃 (Commitment Driven Sprint Planning).
 
agile-estimating-planning-mike-cohn-130612130947-phpapp01-thumbnail-4  
 
那哪一種比較好呢? Mike 大神比較喜歡承諾驅動規劃. 什麼? 你沒聽錯, 他確實比較喜歡承諾驅動規劃. 讓我來看他的理由是什麼.
 
首先, 先對這兩種方法做個簡單的解釋
(1) 速度驅動規劃: 對於下次 sprint 要做多少 story, 是根據團隊平均的速度來決定, 如果團隊平均能做 30 個故事點數, 那下次 sprint 就選擇大約 30 個故事點數的故事來執行.
 
(2) 承諾驅動規劃對於下次 sprint 要做多少 story, 是藉由詢問團隊成員來決定, 團隊成員願意承諾做多少, 那就是做多少個故事.
 
一開始聽起來, 我會覺得速度驅動比較好, 因為比較科學, 比較有根據, 但是 Mike 提出了以下兩點:
 
1. 速度是變動的
如果你有紀錄團隊的 velocity, 你可能會得到類似以下圖表. 團隊的速度是變動的, 在一段時間以後, 你大約會知道團隊的速度是落在那個範圍內, 因此你就可說, 下個 sprint 我們需要做多少故事.
 
velocity_blog1  
 
但是, 你也看個這個圖表中的速度會起起落落, 有時候會比較快, 有時候會比較慢, 並且除非你有比較久的歷史資料, 否則這樣做還是很不準確
 
此外, 這也跟你用的估算方法和單位有關, 或者跟你所做的專案是否連續性, 有很多時候這些資料可能沒有參考性.
 
 
2. 定錨效應
在利用速度驅動去規劃時, 我們使用的資訊是一開始對這功能的了解, 但是這個記憶容易會深刻印在我們心中, 但是這時候的資訊可能不正確, 或者到後來是不對的, 但是你只會一直記得早期的印象, 導致於你的評估會有嚴重的缺陷.
 
Mike Cohn 有提到若是想要看詳細資訊, 可以參考一下資料.
The Impact of Irrelevant and Misleading Information on Software Development Effort Estimates: A Randomized Controlled Field Experiment
http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=5551161&url=http%3A%2F%2Fieeexplore.ieee.org%2Fiel5%2F32%2F4359463%2F05551161.pdf%3Farnumber%3D5551161
 
所以 Mike 覺得, 如果你有長期的資料, 那是非常合適使用速度驅動規劃. 但是你沒有太多資料, 那承諾驅動規劃可能是比較好的選擇. 並且一個自組織的團隊, 應該是要對自己速度負責, 管理自己的進度. 
 
但是, 要記住, 這不是 manager 幫團隊承諾, 否則這將會變成 control and command, 這不是敏捷了!!!
 
參考文獻: Why I Prefer Commitment-Driven Sprint Planning
arrow
arrow
    全站熱搜

    kojenchieh 發表在 痞客邦 留言(0) 人氣()