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 agile-estimating-planning-mike-cohn-130612130947-phpapp01-thumbnail-4](https://imageproxy.pixnet.cc/imgproxy?url=https://pic.pimg.tw/kojenchieh/1419841507-785771754_n.jpg)
那哪一種比較好呢? Mike 大神比較喜歡承諾驅動規劃. 什麼? 你沒聽錯, 他確實比較喜歡承諾驅動規劃. 讓我來看他的理由是什麼.
首先, 先對這兩種方法做個簡單的解釋
(1) 速度驅動規劃: 對於下次 sprint 要做多少 story, 是根據團隊平均的速度來決定, 如果團隊平均能做 30 個故事點數, 那下次 sprint 就選擇大約 30 個故事點數的故事來執行.
(2) 承諾驅動規劃: 對於下次 sprint 要做多少 story, 是藉由詢問團隊成員來決定, 團隊成員願意承諾做多少, 那就是做多少個故事.
一開始聽起來, 我會覺得速度驅動比較好, 因為比較科學, 比較有根據, 但是 Mike 提出了以下兩點:
1. 速度是變動的
如果你有紀錄團隊的 velocity, 你可能會得到類似以下圖表. 團隊的速度是變動的, 在一段時間以後, 你大約會知道團隊的速度是落在那個範圍內, 因此你就可說, 下個 sprint 我們需要做多少故事.
![velocity_blog1 velocity_blog1](https://imageproxy.pixnet.cc/imgproxy?url=https://pic.pimg.tw/kojenchieh/1419841371-963693310.jpg)
但是, 你也看個這個圖表中的速度會起起落落, 有時候會比較快, 有時候會比較慢, 並且除非你有比較久的歷史資料, 否則這樣做還是很不準確.
此外, 這也跟你用的估算方法和單位有關, 或者跟你所做的專案是否連續性, 有很多時候這些資料可能沒有參考性.
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
全站熱搜