软件度量四问

Q1:如果没有高层的支持,度量分析与改进可以成功吗?

 

B公司一直被质量问题所困扰。技术负责人王总希望项目经理老金将精力放在开发上。但老金却有不一样的想法。他大学的专业是数学(请收下学渣的膝盖),因此希望通过数据准确描述质量,甚至希望用数据与客户达成质量评价的标准。

尽管王总不同意,老金这个耿直boy,还是带着团队做了一份包含详细度量数据与分析结果的测试报告。在项目试运行前,老金基于这份测试报告与客户进行了深入的讨论,明确了质量的标准。后期再沟通质量问题,也越来越顺滑了。

我们都遇到过“高质量”的这种要求。可什么是高质量?在没有进行度量之前,只能客户说了算。而乙方项目组则无能为力。其次,王总不支持度量,只看到了度量在短期对工作量的占用。而项目经理老金就有远见的多了。尽管没能得到王总的首肯,但毕竟对质量问题的改善提出了实质性的解决方案。一年后,老金坐上了王总的位置。这是一个脑袋决定了屁股的案例。

我也曾因度量工作所投入的大量资源而认定,“无高层不度量”,直到碰到老金。就算没有管理层的高度支持,项目经理考虑长、短期利益,也要主动度量。

 

Q2:短期能交付就已经很好了,长期利益那么渺茫,我一个项目经理为什么要度量呢?

 

亲,你不是一个人哦~ 

很多项目经理都有这个疑问,他们的潜台词是,度量之于交付有作用吗?这是一个短期问题,从发展的角度,仍可从两个层面来回答:

短期来看。如果作为项目经理只是考虑“交付”这么一个行为,那可以换个更恰当的词,叫“交差”。要交差,可以不那么麻烦。就像前面案例中的王总,只要持续做下去,总是可以交差的。

长期来看。如果项目经理需要不断改进交付,不断提高交付的约束。比如,按时吗?质量OK吗?成本hold住吗?客户满意吗?*¥&~%[email protected]……那么,就必须通过度量,来明确这些指标的达成情况。

没有客户会一直接受被“交差”。他们总是在达到一个目的之后,又提出进一步的要求,抬高对交付的约束。而PM只能在“交差”“交付”和“高质量交付”的道路上不断前行,用度量分析,表征和证明团队是在“交差”“交付”,还是“高质量交付”。

“表征”和“证明”是度量的短期作用。根据卡耐基梅陇大学软件工程学院的研究,“我们需要进行目标驱动的度量(Goal-Driven Software Measurement)”,度量的作用可以分为四种:

  • 短期:显性的刻画(即,表征)、评估当前状况(即,证明)

  • 长期:预测、改进

软件度量四问

Fancier凡奉信息版权所有

 

度量的短期作用:

我们通过数据刻画,来获得对过程、工作产品、资源等数据的理解,并对当前的状态和目标达成情况进行评估。

度量就像一个“传感器”,当项目和过程偏离我们预先设定的轨道时,它就会被触发,向我们发出信号。以便我们采取措施,让项目和过程尽快回到正轨。

 

度量的长期作用:

能预测才能被计划。我们必须为成本、进度和质量建立可实现的目标,基于目标,建立可预测的度量。比如,我们可以基于历史数据,预估风险、权衡解决方案。

 

Q3:既然度量不可或缺,作为PM应该如何下手呢?

 

度量是一件很花费工作量的事情,因此成本高昂,需要我们深思熟虑。在这里,我抛出三个问题,帮你厘清开展度量工作的整体思路。

Tip 1: 你真的理解你的工作过程吗?

对于一个难以理解的工作过程,我们很难对需要收集的数据有精确的概念,所以就算强行收集数据,也没有什么价值。所以在思考从哪里开始度量时,我们需要小心翼翼地选择成熟的,可以被清晰、深入理解的,而且可控的工作过程。

Tip 2: 你的度量数据收集计划,经得起检查吗?

我们可以通过下面的checklist,检核度量计划。

软件度量四问

 

Tip 3: 如果用度量数据进行评价人员,那会怎么样?

度量是为了改进,改进会落实到人,所以很多情况下,我们会用度量数据直接进行人员评价与考核。对这个想法,我表示呵呵。

从上面的检查表中我们可以看出,度量的过程必然包含大量人为工作活动。如果据此评价人员和团队,他们会想方设法使自己的数据“看上去不错”。因此,管理人员请千万面对现实,想要获得更接近真实的度量数据,一定要让所有的度量处在无压力和非评价性的环境里。

 

Q4:仅给出度量工作的思路,是不是缺乏干货呢?

 

好!下面这幅图,就是一个软件产品的度量示例

软件度量四问

看过之后,你是不是觉得眼前一亮,又转瞬一黑呢?这就对了!

作为一项兼顾长短期利益的工作,度量不是几张表单就能搞定的。按照我们今天所讲的内容,你需要(拿出小本本记下来呦~)

一、确定度量的目标。短期还是长期?刻画、评估,还是预测、改进?

二、结合特定的项目与度量目标,匹配合适的度量项。

三、 按照3 Tips,对选择的度量项分别进行梳理:

  • 你真的理解你的工作过程吗?即,度量项是不是能够反应成熟的工作过程?

  • 你的度量数据收集计划,经得起检查吗?即,是否符合checklist的收集要求?

  • 如果用度量数据进行评价人员,那会怎么样?即,是不是可以获得可观真实的数据?

四、坚持下去。

五、遇到问题,寻求专业人士的帮助。