今天剛剛進行了一個小軟體的工作量評估,總是覺得評估的不夠準確,而且難以明確,把心中的困擾跟實際所使用的做法簡單說說,
工作量評估中,困擾我的問題主要有以下幾個
1、需求不清晰,並且會有變化
2、工作量評估在需求規格說明編寫的同時就需要進行,一般來說,沒有立項,就還不會做詳細的需求調研,但這時候就要出工作量評估
3、系統架構及設計沒有開始,此時工作量評估往往不準確,比如可以採用一個既有的組件,或者重用一些代碼,但是沒有詳細定義設計時,難以確定準確可以節約多少時間,改造成本
4、不知道自己將面對什麼樣的Team Dev,有人一天,有人要10天才能做完,但你很難有一支你熟悉瞭解的團隊
雖然也瞭解過各種工作量評估方法,但是實際中總感覺難以使用(應該是不會使用)
自己的做法如下:
1、確定有多少模組,每個模組下有多少頁面,針對每個模組列出需求、設計、開發、測試、部署時間,組成這一模組的時間
2、需要多少個公用的類,分別有多複雜
3、加上專案管理時間,大概5個人的團隊,需要一個不編碼的專門管理,做類似於功能檢查,代碼review之類的事情
4、加上一定比例的變更時間(根據使用者的曆史情況而定,或者感覺使用者頭腦清晰度而定)
5、最後得出的數字乘以一個1.5-3,得出最後時間,這個1.5-3是根據評估人曆史的情況,比如,我以前一年裡評估的工作量大概都需要乘以2才是最後實際的,就會在新項目評估時(無條件乘以2),這些時間總會被使用者有辦法用掉,(說到這裡,自己很可恥一下,開發過程中很多時間都不知道去哪裡了,比如使用者說按鈕上怎麼沒有圖片啊,之類的,或者說放左邊好看啊,這些時間就沒了,每次都不可預知,或者伺服器上裝個什麼軟體,不知道又出什麼問題,有幾天不開心,效率低下等等)
雖然一直按以上這種方式做,但是總覺得不是很好,主要有以下幾個方面
1、準確性差,從上可以看到,準確率只有50%左右
2、難以解釋,說這個頁面為什麼要這麼久,這個功能為什麼這麼久,完全是憑著腦子裡過一下,有幾個按鈕,大概寫多少代碼的一個感覺,經不起推敲
3、評估工作量和實際設計完成後的很難對應上,通過設計後,可能有些部分為了通用超出想象得工作量,有些部分公用了,又減少了。
很難理解,到底真正準確率高的工作量評估是怎麼做的。
在我看來,設計完成後,工作量才能準確評估。但是為什麼工作量評估總是要在前期需求剛剛瞭解一部分就要出。這是為什麼呢,怎麼做呢?
特別值得一提的是,根據大概會產生多少程式碼進行評估,我特別難以理解,有人能聽客戶說了一天需求,就大概估算出程式碼數,真是神人啊。
歡迎告訴我您的工作量評估方法,讓我也學習一下。