话说3级的PM已经非常厉害了,但仍然处于定性阶段。如何才能不动声色的跟BOSS过招?PM 4级就是让数字变成你的嘴巴,开启项目管理的量化大门。因此,4级PM的工作重心(详见上一篇文章中的表格),也会逐渐转变。对应的四类工作,总结起来变化如下:

开发类:

保持3级,适当深化

项目管理类:

在量化的项目质量与绩效目标的要求下,识别关键过程,借助统计学的基线与模型,策划与监控关键项目过程

支撑与协作类:

  • 基于企业的目标体系,制定支撑业务目标实现的项目质量与绩效目标

  • 掌握统计学技术,对项目进行量化管理:

-  使用基线对项目进行监控,及时发现异常并分析解决

-  使用模型,预测项目的质量与绩效目标的达成情况,在项目早期就可以识别风险并加以管控

-  当发现有影响目标实现的问题存在时,进行根源分析,策划解决方案,并使用统计学技术,进行预测与差异性分析,以评估新的解决方案的可实施性

  • 数据驱动的向上管理:

-  就项目的质量、绩效目标,对业务目标的支撑性作用,与管理层达成一致

-  定期与管理层沟通项目的量化管理状态,并就下一步工作的开展达成一致

改进类:

当改进计划被评估分析并批准后,认真落实,并对改进结果进行评审验证

接下来,我们展开来说说软件项目的量化管理。在详细展开软件量化管理的实践之前,有必要先澄清三个问题

一、没有准确的度量定义,收集的数据跟垃圾没有两样。

在软件开发过程中,具有潜在价值的度量指标繁多。怎么办?

很多PM问过我,“要想提高开发的效率,应该度量那些数据”?这问题不难啊,比如用代码行和工作量一除就有了。

可很多PM这么做了,却得不到想要的结果。为什么?

因为缺乏度量标准

就拿代码行来说,有人度量新增的,有人度量更改的,有人包含提示行,有人不包含……工作量的度量呢,也是面临同样的问题,算不算测试啊,算不算写文档啊……结果N种代码行的度量,结合了N种工作量的度量。这样的量化结果,你说怎么拿来用?

所以,当PM要“用数据说话”的时候,最先要做的是定义。前面的基础打好了,后面的应用才不会浪费。

图片来自网络,版权归作者所有

二、数据确实可以一定程度上反应团队的绩效,但这是个雷区,非高手不要碰。

很多公司都有KPI考核,尤其那些文化中比较强调竞争性的公司,喜欢横向比较,甚至搞末位淘汰。我只能说,作为咨询师我愿意尊重公司的不同文化,但用量化的项目数据做个人绩效的评定,我并不赞同。IBM的研究,也证明了在两个不同的软件项目之间,很难找到可比的度量:

  • 不同类型的产品导致的任务复杂程度差别可能达到五倍

  • 小修改中每行代码的成本,常常高出新编程序的2-3倍

  • 需求更改的程度可以说千变万化

  • 相应项目设计变更的程度有过之而无不及

Flaherty,M.J. “Programming process measurement system for System/370,” IBM System Journal

图片来自网络,版权归作者所有

比绩效考核更为重要的是,使用项目数据真正的目的,是帮助企业看清项目的进展情况,为过程改进提供有价值的依据

首先,数据采集的过程,无论是否使用自动化工具,都不可避免要人为参与。其次,产生不良数据的原因很多,直接使用往往会产生错误的评价。例如一个平均工龄大于5年的项目组,和一个平均工龄不到1年项目组,比较效率就没有意义。如果非得进行绩效评价,我们需要更多的维度和更多的数据。

三、量化管理 ≠ 数据管理

量化管理是建立在大量数据的基础之上,使用统计学技术,进行预测与监控,以数据驱动决策

某公司开发阶段的人员成本偏高,主要原因在于人员的工作效率低下,因此希望通过控制开发阶段编码效率来减低人员成本。经过与项目团队的深入沟通,我们锁定了团队规模、开发语言难度和团队人员的能力三个可能的影响因素,并进行定义与赋值:

然后将以上三个可能的影响因素,统一为一个影响因素“团队能力权值”。

团队能力权值=团队成员能力*团队规模*开发语言难度

接下来,我们收集了50个产品类项目的代码行、工作量等信息。考虑到数据完整性等因素,最后选定30个有效产品类项目。使用统计学工具Minitab进行回归,建立了效率模型:

【编码效率模型】:Y=aX^b

Y - 编码效率,单位“KLOC/人月”

X - 团队能力权值,单位“个”

a、b - 系数(考虑数据保密性,以字母代替)

有了上述模型,PM可以在项目建立的初期,进行效率的预测估算,例如:

【场景】某个软件开发产品中,团队规模为小规模团队,采用C#作为开发语言,平均人员能力是三年以下工作经验,熟练掌握一种或两种开发语言,没有管理经验;

【分析】按照“团队能力权值的计算公式得出:X=0.32

【结果】Y=a0.32^b (KLOC/人月)

在项目开展的过程中,PM还可以根据基线(下图),对项目的进展状态进行监控,效率控制在3.12304~4.422919内,出现异常点时及时分析和处理:

下周我们会分享5级PM的过程管理能力。然后,详细阐述胜任四大类工作的具体做法。更多实践、更多干货分享,持续关注我们哦~

PM过程能力成熟度4级的更多相关文章

  1. PM过程能力成熟度2级

    当PM意识到自己不再是程序员后,就会在项目管理方面,逐渐达到过程能力成熟度1级.尽管这种亲身经历会带给PM管理的信心,但从项目的层面来说,整体还是混沌的,PM在经历过1级的阶段性胜利后,将面临更多的问 ...

  2. PM过程能力成熟度3级

    2级PM已经可以把项目管理起来了.如果这时候,企业只有一个PM,那这种程度的管理,只要逐渐深化,就可以一直维持下去. 然鹅,现实总是复杂很多... 公司会在PM建立2级的过程管理后,提高所有项目的可视 ...

  3. 突破瓶颈,再出发 - PM过程能力成熟度5级

    尽管程度不同,但PM的每个级别都在践行过程改进,并在4级借助数据,达到了“登峰造极”的程度.随着量化与统计分析的深入,项目会被优化到极其稳定的状态,组织的过程改进也就此进入了平台期. 平台期可以被视为 ...

  4. PM领导能力成熟度2级

    人生如戏,大幕拉开,他走上舞台,饰演PM一角. 从技术岗位迈向管理岗位的第一步,对大多数像他一样的新晋PM来说,并不轻松.技术知识与经验是他曾经的主要才能与成功基础,而从成熟度一级开始,身为管理者的他 ...

  5. PM过程管理成熟度1级

    之前,我已经从项目实现的角度.企业管理诉求两方面,分析了PM的核心能力架构,以及其在过程管理方面的能力等级.接下来,Fancier凡奉信息会站在PM能力成长的角度,横向与纵向阐述每一成熟度等级PM的过 ...

  6. CMMI能力成熟度模型集成的过程域

    什么是CMMI CMMI全称是Capability Maturity Model Integration, 即能力成熟度模型集成,是由美国国防部(Office of the Secretary of ...

  7. 能力成熟度模型CMM

    能力成熟度模型(Capability Maturity Model,英文缩写为CMM)[1]是 一种开发模型.Carnegie Mellon大学的研究人员从美国国防部合同承包方那里收集数据并加以研究, ...

  8. CMMI将能力成熟度分为5个级别

    CMMI将能力成熟度分为5个级别(初始级,已管理级,已定义级,量化管理级,优化级) . 初始级 此时软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力.管理是反应式的. .可管 ...

  9. CMMI 能力成熟度模型集成

    关于CMMI的过程域,请参考 CMMI能力成熟度模型集成的过程区域 1.CMMI/SPCA概述 CMM是“能力成熟度模型(Capability Maturity Model)”的英文简写,该模型由美国 ...

随机推荐

  1. 【工作查漏补缺】jQuery ajax - serializeArray()

    方法用途: 获取表单内的所有有name的所有数据框,在非表单提交需要挨个遍历组装数据的情况下很好用 ps:需要jQuery支持 var twoform = $("#editProductAc ...

  2. Postman 安装

    前言 安装前的准备: 1.Chrome 浏览器的扩展插件来进行的安装,并非单独应用程序. 2.电脑上已经安装了 Chrome 浏览器 3.本文章适用操作系统  window7 一,非官方安装 个人不建 ...

  3. python+selenium 自动化测试实战

    一.前言: 之前的文章说过, 要写一篇自动化实战的文章, 这段时间比较忙再加回家过11一直没有更新博客,今天整理一下实战项目的代码共大家学习.(注:项目是针对我们公司内部系统的测试,只能内部网络访问, ...

  4. Abp通用配置模块的设计

    引言 约定优于配置,配置趋于灵活 约定优于配置(convention over configuration),也称作按约定编程,是一种软件设计范式,旨在减少软件开发人员需做决定的数量,获得简单的好处, ...

  5. cglib根据数据动态生成对象

    最近有个任务:根据查询SQL直接导出报表 实现关键是,怎么根据sql查询的数据动态生成对象列表,想到Cglib动态代理实现 废话少说,上代码: 定义动态生成Java Bean类: import jav ...

  6. Uber是如何重新思考GPS定位的(尤其是在城市峡谷中)

    郑昀(公众号:老兵笔记) 20180424 2018年4月19日,Uber 公布了 GPS 优化算法,https://eng.uber.com/rethinking-gps/,针对GPS定位在城市环境 ...

  7. 数组属性的习题、Arrays工具、二维数组

    一.数组的练习 1.声明一个char类型的数组, 从键盘录入6个字符: [1]遍历输出 [2]排序 [3]把char数组转化成一个逆序的数组. import java.util.Scanner; pu ...

  8. 死磕 java集合之LinkedHashSet源码分析

    问题 (1)LinkedHashSet的底层使用什么存储元素? (2)LinkedHashSet与HashSet有什么不同? (3)LinkedHashSet是有序的吗? (4)LinkedHashS ...

  9. springboot~configserver里对重要信息进行RSA加密

    简介 参考:https://springcloud.cc/spring-cloud-dalston.html#_encryption_and_decryption_2 RSA非对称加密有着非常强大的安 ...

  10. java~IDEA引用包时分组所有java包

    对于java系统包,我们的IDEA里开发项目时,如果你使用了java系统包,如import java.util,那么,你可以把它和其它第三方的包分开,这样更清晰,我们可以在设置里,代码风格,java ...