你的位置:软件知识原创基地 >> 知识海洋 >> CMMI >> 详细内容 在线投稿

用数据管理过程

热度3959票  浏览2053次 时间:2010年7月05日 22:36

摘要

用数据说话,这是当前很流行的话题,本文将数据管理过程划分成4个层次,并阐述企业如何达到这四个层次。

1.初级量化管理:以数据“感知”项目的状况(相当于CMMI2)

2.中级量化管理:通过经验值来管理项目(相当于CMMI3)

3.高级量化管理:用PCB进行项目管理(相当于CMMI4)

4.超级量化管理:持续优化的量化管理(相当于CMMI5)

 

如需转载,请给出以下信息:
作者:张传波
软件知识原创基地
www.umlonline.cn

 

  

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相关标准)。

但下面这种情况,算不算“感知级”呢?

在项目总结报告中,统计项目进度、成本等情况,分析与计划比较的差异,提出对以后有用的改进意见。

如果只在项目总结报告的时候,才进行度量的话,是不能算“感知级”的,度量的结果要能用于项目管理,而不是项目结束后了统计出到一些数字,尽管这些数字可以用来改善以后的工作,但对该项目本身工作的改善已经没有任何作用了。

达到初级量化管理的企业,能明确量化管理的目标,通过合适的度量办法,“感知”项目的各类参数,并根据各度量指标的实际数值,采取改善项目行为的措施。

 

4. 中级量化管理-经验级

进行量化管理过程中,我们能得到各类参数值,但该参数值应该怎样才算合理呢?例如进度偏差多少才算合理?遗留缺陷数量多少个才算合理?

前面提到用“功能点”法来估算项目的规模,然后我们可以由规模导出工作量,但规模与工作量是怎样的一个关系呢?怎样根据规模导出工作量呢?相同规模的软件,不同的软件企业来做,导出的工作量是不一样的。

进行初级量化管理的时候,企业通过实际的参数值,来“感觉”项目的状况,当积累足够多数据的时候,管理者可能会找出项目间的一些共同的数据特点,如可以统计出“平均值”、“最大值”、“最小值”,这些数据,可以描述组织整体的性能。

当数据积累比较多的时候,组织级的经验数据,可以用来管理以后的项目,例如可以用组织的平均值做为量化管理的要求。这个时候,就达到了中级量化管理水平了。

中级量化管理有以下特点:

1)      对历史数据进行一定的分析,得出一些数值,从这些数据能大概掌握企业的能力状况。

2)      根据大概的企业能力状况,定出项目量化的管理目标,并用于管理项目。

3)      利用历史的经验数据,由项目规模导出工作量。

 

例:项目规模与工作量的关系

根据历史的经验数据,可以绘出规模与工作量的关系,由这个关系可用来估计新项目的工作量。如果没有大量的经验数据,这是不能做到的。

 

CMMI3级中,并没有专门的PA是与度量直接对应的,为什么说中级量化管理与CMMI3级的要求是对应的呢?CMMI3级的重要特点之一就是,有组织级的度量库,并且项目依据组织级度量库的数据,定义和管理项目的过程。中级量化管理与初级量化管理的最大区别就是,度量数据已经上升到组织级别,每个项目都可以利用组织的“经验”(即历史数据)来管理项目。

 

TAG: CMMI 数据管理过程
顶:246 踩:267
对本文中的事件或人物打分:
当前平均分:-0.65 (1154次打分)
对本篇资讯内容的质量打分:
当前平均分:-0.4 (1076次打分)
【已经有1216人表态】
236票
感动
133票
路过
135票
高兴
128票
难过
140票
搞笑
149票
愤怒
149票
无聊
146票
同情
上一篇 下一篇
软件知识大学
首页 第1页 第2页 第3页 第4页 第5页 第6页 第7页 第8页 第9页