工时、工期、执行时间计算方式
程序员文章站
2022-07-03 22:59:34
...
公司要落实规范化项目管理,所以开始狂补项目管理的知识,此文的产生参考了以下资料:
http://wenku.baidu.com/view/80e6e510f18583d0496459d7.html 功能点估算法介绍及应用
http://wenku.baidu.com/view/305929d428ea81c758f578da.html 软件功能点估算.xls
http://www.zhihu.com/question/19842309 如何计算项目工期?
http://blog.sina.com.cn/s/blog_6314f2690100h8bu.html 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
上一篇: ubuntu黑屏无法进入系统
下一篇: Clojure的recur
推荐阅读