敏捷評估是否就比傳統評估方法準確很多嗎? 這是很多人的疑問. 我想沒有所以一種方法是萬能的, 重點在於你知不知道他的原理, 以及使用的背景 (context) 為何.
 
因此, 簡單把兩者做了一些比較, 希望幫助大家, 可以更瞭解兩者的不同. 
 
 
 
 
敏捷評估
1. feature 為主
a. 針對每個 feature 去評估需要多少時間
b. 強調要 ends to end 思考, 或者說要不同的角色一起來思考這個功能
 
2. 相對值
它不是直接給一個時間值(絕對值), 它給的是相對值.
 
例如, 你要粉刷多個房間. 第一間房間刷完後, 你會到一個時間. 接下來, 若是要知道下一間房間要花多少時間, 你可以根據面積的比例, 大約可以推算出接下來要花多少時間. 所以 agile 要的, 就是估算每間房間相對比例為何. 而非直接的時間值.
 
為什麼不直接給個要做多久的時間呢? 一方面你做多久的時間, 不一定等於我的時間. 另一方面, 大家容易自己偷埋 buffer. 為了讓大家回歸到專業, agile 建議看的是這個項目的複雜度, 然後比較各個項目之間複雜度, 再來推出時間.
 
3. 觀念抽象不容易解釋
從上面中我想你就可以瞭解, 這真的不容易讓沒聽過的人, 一下就知道這是什麼.
 
4.  不斷規劃
agile 不是不規劃, 他對於半年或是一年的東西, 只會做比較 rough 的計畫, 但是對於這個 sprint 會有詳細的計畫. 因此, 你會發現其實他每個 sprint 都要規劃一次, 讓你有機會根據現狀再進行調整.
 
5. 共識
敏捷的做法, 都是藉由團隊合作來進行的. 大家一起釐清功能的複雜度, 到底複雜在哪, 到底有什麼沒考量到. 因此, 或許最後估出的東西不一定很準, 但是大家對於要做的功能是什麼, 會有更深的認識, 並且也會達到一定的共識.
 
6. 誰及何時評估
團隊成員一起評估, 每個 sprint 會再進行一次, 會依據狀況來調整計畫.
 
 
傳統評估
1. task 為主
a. 將要做的事情, 會以 WBS (work breakdown structure) 方式展開, 然後就會生出一堆 task. 每個人對自己要做的 task 來評估, 加總起來就是總共的時間. 
b. 大家都是對自己負責的部分做評估, 但是對於要互相整合的部分, 常常會忘記要考慮到.
 
2. 絕對值
對每個要評估的項目, 會提出一個值. 可是你知道的, 評估是一個機率, 如果你產生一個值出來, 你必須說明他大概是信心度多少的評估. 例如, 你說 3 天, 還要說這是 50 % 的信心程度. 如果能到 6 天, 信心程度會到 90 %. 
 
3. 很容易解釋
以前就這樣做了, 還要再解釋嗎?
 
4. 一開始會有個大計畫
傳統開發會在一開始時, 有個很完整很大的計畫, 之後就會照著這個計畫去執行. 當然有變動時, 會再花時間進行調整, 可是之前花這麼多時間去規劃, 就有點浪費了.
 
5. 只知自己的想法
因為每個人都是從自己角色的角度出發, 去評估要做的工作要花多久時間. 專業性是很足夠, 但是也可能容易有自己的偏見. 容易變成是瞎子摸象, 雖然每個部分就描述得很正確, 但是就是兜不出全貌, 無法顧到整體.
 
6. 誰及何時評估
通常是專案經理, 或是資深人員, 在專案一開始進行評估
 
 
 
其實每種方法只是從不同角度來思考, 沒有所謂好或壞. 重點在於了解背後的原理, 以及合適的時機. 然後有用就有用, 沒用就沒用......
 
 
 
arrow
arrow
    全站熱搜

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