|
领导让我找一个能度量开发人员工作量的方法,我查找了很多资料,实例,感觉都不适用,最终总结,觉的工作量的度量,要把“感性分析”和“量化分析”混合起来使用,只要企业内的大部分人觉得合理即可。
我顾虑,领导会说“你小子,找了半天都没有找到,还找借口没有准确度量的方法!”
请大家,指点一下,有没有准确度量的方法呢???
工作量度量,有关软件度量的方法有很多,但是我看了好久,感觉都不可靠。也许是我的经验不行吧,呵呵。
总结:
对于工作量度量业界很多是用数学公式来计算,可能数学公式更加的客观和科学。
但是看看市面流行的计算方法吧:
最常见的是基于代码行的数学模型,那么这里存在不少问题,工作量估算主要是为了在项目进行中进行有效的项目监控,那么软件开发尚未结束,谁知道最后的代码行有多大?代码经常会被修改,那么修改的代码算不算?如果算,那么代码修改越多难道能说明工作量越大?代码效率的区别也是很大的,假如一个10行代码可以实现的东西被写成50行,难道能客观的反映工作量?
还有疑问就是,代码行分析方法就是就是对软件产品的源代码的行数进行测量,但是是计算物理行数,还是程序的命令数量?
空行是否计算? 注释是否计算? 预定义文件是否计算? 不同版本如何计算?
这里面是否设计到一系列的规则定义问题?
开发过程种的配置脚本,编译脚本是否计算?
共享文件(例如共享的开发库文件种的头部文件)如何计算?
对于这方面我也查了很多资料,但是都没有很好的办法。
还有2种比较高级点的方法是基于功能点和COCOMO的方法,那么它们的公式中的系数该怎么定?不少人都说,根据自己的实际情况来定呗,但是觉得这些都需要相应的成本和工作投入,而且可靠性并不一定能得到保证。也许得靠经验的积累吧。
所以感觉工作量的度量还是要靠人的经验来估算,大家可以在项目周会上对工作量进行充分的估算,在估算时要同时考虑到项目执行的难度,根据经验给出合理的评估。
研发人员从事智力创作,不像民工那样可以采用简单的“计时、记件”方式来衡量业绩,也无法像销售人员那样可以用“明确的数字”如“销售额或销售毛利”来衡量业绩。
研发人员的“工作量、工作难度、进度延迟率、工作成果质量、工作态度”都会影响业绩,如果要用一系列指标来衡量研发绩效,每个指标的权重可能是不同的。
目前业界不存在最优的或者是标准的研发绩效评估方法,无法用数学公式(即完全量化方式)来评价智力创作过程。我们不必追求精确的评估方法,只要企业内的大部分人觉得合理即可,通常要把“感性分析”和“量化分析”混合起来使用。
感觉这些度量方法,都是理论的,要实施是很麻烦的,需要大量的记录文档,会占用时间和人力。
附录:
简介代码行分析方法:
代码行(line of code)指所有的可执行的源代码行数,包括可交付的工作控制语言(JCL:job control language)语句、数据定义、数据类型声明、等价声明、输入/输出格式声明等。
一代码行(1LOC)的价值和人月均代码行数可以体现一个软件组织的生产能力。组织可以根据对历史项目的审计来核算组织的单行代码价值。
代码行LOC(源代码行数)常用于源代码的规模估算。
简介功能点分析法:
功能点分析法(FPA:function point analysis)是在需求分析阶段基于系统功能的一种规模估算方法,是基于应用软件的外部、内部特性以及软件性能的一种间接的规模测量。
从系统的复杂性和系统的特性这两个角度来度量系统的规模,其特征是:“在外部式样确定的情况下可以度量系统的规模”,“可以对从用户角度把握的系统规模进行度量”。功能点可以用于“需求文档”、“设计文档”、“源代码”、“测试用例”度量,根据具体方法和编程语言的不同,功能点可以转换为代码行。
简介COCOMO模型:
COCOMO,英文全称为constructive cost model,中文为构造性成本模型.它是一种精确、易于使用的,基于模型的成本估算方法。
从本质上说是一种参数化的项目估算方法,参数建模是把项目的某些特征作为参数,通过建立一个数字模型预测项目成本(类似于居住面积作为参数计算的整体的住房成本).
[ 本帖最后由 sunlight0124 于 2009-9-28 15:51 编辑 ] |
|