摘要:
用数据说话,这是当前很流行的话题,本文将数据管理过程划分成4个层次,并阐述企业如何达到这四个层次。
1.初级量化管理:以数据“感知”项目的状况(相当于CMMI2级)
2.中级量化管理:通过经验值来管理项目(相当于CMMI3级)
3.高级量化管理:用PCB进行项目管理(相当于CMMI4级)
4.超级量化管理:持续优化的量化管理(相当于CMMI5级)
我将通过4篇文章为大家分享!
1. 前言
量化方面相关资料、理论非常多,如:六西格玛、统计过程控制(SPC)、过程能力基线(PCB)、软件度量、功能点法、软件估算等等。关于量化方面文章,大家可能难以把各文章的内容在脑袋中组织成一面知识网,主要因为各文章按照各自的角度阐述问题。我们需要一个统一的角度来描述这些事情,这里我们就以CMMI的为参考标准,对所有的量化理论进行“格式化”。
为了阐述方便,这里我们把与量化有关的内容,全部统称为“量化管理”,量化管理大致可以分为以下四个级别:
1) 初级量化管理-感知级,相当于CMMI2级。
2) 中级量化管理-经验级,相当于CMMI3级。
3) 高级量化管理-可预测级,相当于CMMI4级。
4) 超级量化管理-持续优化级,相当于CMMI5级。
高级别的量化管理,必满足所有低级别量化管理特点,例如高级量化管理,它具备初级量化管理、中级量化管理的特点,又具备本身的特点。
2. 量化管理的第一基本法则
我们为什么要用“功能点法”来估计项目的规模?
我们为什么要度量项目的工时、费用?
我们为什么要做量化管理?
如果我们不用量化管理的方式,也能达到量化管理的效果,而且成本更低,那还要不要进行量化管理?
当我们面对铺天盖地的量化理论的时候,当我们要考虑要做量化管理的时候,首先要问自己的问题就是:为什么要做量化管理?
我们回答一下这个问题:为什么要用“功能点法”来估计项目的规模?
如果老板想这样做,估计他感觉到项目的估算不是很准,他希望通过一些量化的办法,让项目的估算做得更准。所以,他的要进行量化管理的目的是:提高估算的准确率。
这就是老板的完整目标吗?如果员工们不计成本地把功能点法做好了,估算偏差提高到不超过5%,但估算工作需要的时间由原来的5天增加到50天,这样老板会接受吗?其实老板还有隐含的约束条件,就是不能太花成本。
如果把老板的目标再完整表达一下,应该是:在一定的时间成本要求内,提高估算的准确率。
无论我们做什么量化的工作,都必须先明确:
量化管理第一基本法则:明确量化管理的目的及约束条件。
“功能点”法是比较复杂而且难掌握的软件规模度量办法,有可能在研究使用的过程中,才发现不值得用“功能点”法,大家再反过来看看目标:在一定的时间成本要求内,提供估算的准确率,而不是:在一定的时间成本要求内,用功能点法提高估算的准确率。这时,大家可以选用别的办法,或者对“功能点”法进行改造。在制定目标的时候,不要把具体的方法写进去,目标是很高层次的,把办法写进去,也就是相当于限制了思路。
有人可能会说,“在一定的时间成本要求内,提高估算的准确率”,这个目标太虚了吧,写了等于没写。其实正是因为没有明确这个“虚”的目标,很多量化管理的工作变成就是为了量化管理而量化管理。其实六西格玛、统计过程控制(SPC)、过程能力基线(PCB)等量化管理办法,都要有很明确的目的。
如果企业对量化管理的目标都不明确的话,那就非常不好意思了,连初级水平都不是,是属于“无级别”的水平。
3. 初级量化管理-感知级
有很多软件企业,在项目过程中,须提交一些进度报告、总结报告,报告中可能会有进度情况、成本情况的一些数据。收集这些数据的目标也十分明确,就是想了解项目的进度、成本情况,并与计划的情况进行比较,采取必要的措施。
例:进度报告(节选)
在软件测试中,会记录各类缺陷的情况,并且在测试报告中报告缺陷的一些数据。项目组会根据缺陷方面的数据,分析软件的质量,并考虑后续的改进措施。
例:测试报告(节选):
总缺陷数量:50
建议:需要在后续版本中修复没有解决的缺陷。
“感知级”的企业,有这样的一些特点:
1) 有明确的度量目的。
2) 有度量值的比较基准,如例子中的计划完成时间与实际完成时间的对比。
3) 被度量对象的属性定义得比较清楚,如上例中缺陷的属性。
4) 对度量的结果进行分析,并且要考虑改进措施。
“感知级”的企业,应该满足CMMI2级中MA(度量)这个PA的要求的(请参考CMMI相关标准)。
但下面这种情况,算不算“感知级”呢?
在项目总结报告中,统计项目进度、成本等情况,分析与计划比较的差异,提出对以后有用的改进意见。
如果只在项目总结报告的时候,才进行度量的话,是不能算“感知级”的,度量的结果要能用于项目管理,而不是项目结束后了统计出到一些数字,尽管这些数字可以用来改善以后的工作,但对该项目本身工作的改善已经没有任何作用了。
达到初级量化管理的企业,能明确量化管理的目标,通过合适的度量办法,“感知”项目的各类参数,并根据各度量指标的实际数值,采取改善项目行为的措施。
请看下文……