公司要落實規範化專案管理,所以開始狂補專案管理的知識,此文的產生參考了以下資料:
功能點估算法介紹及應用
軟體功能點估算.xls
如何計算專案工期?
ct_**軟體開發工作量估算方法
在此謝過以上文章的原作者及搬運工。
1、每天9:30 - 11:30 = 2 小時,14:00 - 17:00 = 3 小時,這個時間段,應該可以被稱為**工作時間,乙個人 一天內的有效工時 = 8×(1- 10%) × (1-30%) ≈5 h
其中 10%為 溝通成本抵消的工作時間
30%為 其他事務抵消的工作時間
2、專案成員水平不一,專案經理或研發經理瑣碎事情多,所以不能都以每天5個工時計算,假如完全能滿足崗位要求的人為 1 分,那麼:
水平不錯: 5 小時 * 1.2 = 6 小時
水平正常: 5 小時 * 1 = 5 小時
水平一般: 5 小時 * 0.8 = 4 小時
研發經理: 5 小時 * 0.8 = 4 小時
專案組每日有效工時= (研發經理*n1*0.8+水平一般*n2*0.8+水平正常*n3*1+水平不錯*n4*1.2)*5h
其中n1、n2、n3、n4為人數
3、根據wbs估算工時(開發部分功能點估算最精準的是採用fp估算)
pr—— design : coding&ut : it&st = a : b : c
估算的步驟:(參考:
)a、進行大小估算,得出fp數(fp)。
填寫"大小估算(fp)"worksheet
b、根據fp數,得出總行數(sloc)。
填寫"大小估算(fp)"worksheet。總行數按以下公式計算:
(lpfp即sloc/fp,該係數表示每功能點實現所需的**行數)
總行數 = fp * lpfp
c、確定大小估算
填寫"大小估算總結"worksheet
d、進行工作量估算,得出人日數。
填寫"工作量估算(生產率)"worksheet。按以下公式計算:
coding&ut的工作量 = 總行數(sloc) / lpd
根據開發各階段的工作量比值(pr)計算出專案總的各階段的工作量:
專案總工作量 = (a+b+c)/b * coding&ut的工作量
e、所有參與者討論wbs中工時是否合理,去掉奇異值後取平均(該步驟可反覆進行,根據統計學原理,大量的有窮盡的重複行為,獲得的平均結果與真實值十分相近。)
f、確定大小估算
填寫"工作量估算總結"worksheet
4、根據該工作量(單位:人日)和客戶期望的時間對比,調整功能點優先順序,綜合衡量實施計畫
該工作量是乙個較真實的參考值,因此 在人員、工期、資源投入比等環節考慮時,應當以此工作量作為乙個重要指標,計入其中。
5、該工作量a結合 第2項中「專案組每日有效工時」 可計算出實際完工日期
粗略估算值為:專案執行時間=a*8/專案組每日有效工時 / 每月22工作日
但是,該估算方法偏差較大,因為專案每個階段投入的人力資源不一,所以每個階段的實際 每日有效工時也不一樣,正確的計算方法應該是根據專案實施的各個階段投入的人員來計算每個階段的 實際 每日有效工時,以此計算出偏差較小的估算值。
最貼近實際值的 專案執行時間=(σ((功能點i*複雜係數*σdi*lpfp / lpd )*8 /功能i的每日實際有效工時)) /每月22工作日
6、其他:
a、加班:
**加班時間為:19:00 - 21:00 = 2工時,該項計入單人單日有效工時內
現專案組每日有效工時=f(人數n、能力水平係數、原單人單日有效工時+2)
b、加人:
因為溝通成本提高,暫且以加1人,整體效率降低 10% 來算:
現專案組有效工時=
(原專案組每日有效工時+f(人數n、能力水平係數、單人單日有效工時))*(1-10%)^n
計算執行時間
使用方法 double t double gettickcount do something t double gettickcount t gettickfrequency 所用函式為gettickcount 和gettickfrequency gettickcount 返回cpu自某個時間 如啟...
計算執行時間
import datetime starttime datetime.datetime.now long running endtime datetime.datetime.now print endtime starttime seconds 上例演示了計算執行時間的例子,以秒進行顯示。d1 da...
計算程式執行時間
在長時間計算程式執行時間時,可以使用clock函式。clock比較通用,精度並不是特別的高,大約是10ms。但是對於長時間的計算的話,還是可以使用的。以下是一段示例程式,將幫助你理解 include stdio.h include memory.h include time.h define siz...