话说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. shiro的DelegatingFilterProxy怎么找到ShiroFilterFactoryBean

    首先看到web.xml中的配置 <context-param> <param-name>contextConfigLocation</param-name> < ...

  2. 阿里云对象存储OSS访问控制

    阿里云对象存储OSS的Android SDK提供了STS鉴权模式和自签名模式来保障移动终端的安全性. OSS可以通过阿里云STS (Security Token Service) 进行临时授权访问.交 ...

  3. Windows Server 2016-Hyper-V网络虚拟化概述

    在 Windows Server 2016 和虚拟机管理器中,Microsoft 提供的端到端网络虚拟化解决方案. 有构成了 Microsoft 的网络虚拟化解决方案的五个主要组件: Windows ...

  4. July 09th, 2018. Monday, Week 28th.

    Happiness is an inside job. 自内寻找,才能找到幸福. From William Arthur Ward. Nobody wants to suffer, and we al ...

  5. WebDeploy to remote IIS

        参考 Web Platform Installer Direct Downloads

  6. jersey在 spring boot 添加 packages 扫描路径支持

    最近公司内部系统要做数据对接,故使用 jersey 来做 restful webservice 接口设计.由于 spring boot 已经集成 jersey,估计直接导入 spring-boot-s ...

  7. java8 日期时间之间的关系

     Class or Enum Year Month Day Hours Minutes Seconds* Zone Offset Zone ID toString Output Where Discu ...

  8. webpack打包The 'mode' option has not been set,错误提示

    学习到webpack打包这个工具的时候,总是报错.在这里记录一下...... 我是window系统 当使用npm安装好webpack后,你去查看如果出现一下问题. 出现以上问题,我的做法是 先将web ...

  9. ubuntu16.04 apt-get update出错:由于没有公钥,无法验证下列签名

    问题: W: 校验数字签名时出错.此仓库未被更新,所以仍然使用此前的索引文件.GPG 错误:https://packagecloud.io/github/git-lfs/ubuntu xenial I ...

  10. load data infile

    mysql> load data local infile 'd:/lw.txt' into table user (code,password,channelId);Query OK, 478 ...