实践与理解CMM体系
我的项目管理之路--5、实践与理解CMM体系
版权声明:本文为博主原创文章,未经博主允许不得转载。
一个现代企业我们可以把它比作为自然界的生命体,而项目则是企业的基础细胞。于是,项目管理的成熟程度标志着组织是高级的 还是低级的。如果一个企业的项目管理多是分立的,项目之间没有参照、借鉴的,我们可以认为这个企业是一个单细胞动物或低级动物。我们很清楚,单细胞动物抵 抗自然界干扰的能力是很低的,应该说它始终处在生存的边缘。如果项目是组织级别,企业内有体系的项目管理制度,包括WBS分解经验库、项目开发效率和质量 数据库、最佳实践库、项目通用激励制度等等,相信这个组织的机体是有活力的。
因此,项目管理不是分立的,在企业内部是需要通过管理逐步成熟。当然,对这个的理解,也是后来慢慢体会的。这得益于公司开展的一些培训,个人参加业内的一些交流活动和自身的认证。
在公司项目运作了一段时期后,领导认识到分立的项目管理在资源共享、风险控制方面的不足,恰逢那个阶段CMM认证刚刚风行。于是,公司便拿出一笔钱,要通过CMM2认证。个人很幸运参与到这个认证过程中,并被指派为EPG组长。
起初,我个人对这样的认证比较反感(相信很多公司的技术人员都有同感),认为更多是要求大家多写一大堆文档,项目的效率和质量不一定能提升(很不幸,后来 认识到老板也是这种态度,导致项目认证的终止)。在做完项目管理流程制定和后期较长时间的实践后,自己对它深邃的内涵有了深入理解。
关于CMM体系,相信大家现在已经很有认识了,它将组织成熟度定义为5个等级--初始级、可重复级、已定义级、已管理级和优化级。对于CMM2,简单的说 可以认为它是项目级的,即建立了项目管理体系;CMM3 是组织级,强调软件工程过程和管理过程已经被定义和集成。从上面的定义,我们可以看出CMM2主要是建立体系的项目管理制度,是有意义的。
在开展CMM2认证的过程中,涉及费用问题,我们选择了一家不是很知名的认证公司帮助咨询(当时CMM认证公司还很少,费用也很高的30-50万)。公司 先从各行政部门抽调1-2名工程师作为CMM2认证组成员,然后咨询老师便开始了枯燥、单调的CMM培训。在大家基本了解什么是CMM2之后,开始依据公 司现状建立项目管理制度。这个过程是最痛苦的过程。因为本身技术人员在文档撰写工作方面不是很有心得,特别是制定一个从无到有的项目管理制度本身就很有挑 战(改变一个人的行为方式是很艰难的,制度的制定势必会激起很多所谓的冲突)。若干个KPA的程序、规程、指导书、模板、checklist等都经历了2 -3遍的撰写、评审和修改,CMM项目组很是疲惫,大家占用了大量的业余时间。
最后,终于将体系文档建立起来,进入实际项目参照执行阶段。问题恰恰就在这个阶段爆发了。前面提到,老板有改进的初衷并投了资,同时却对CMM2认证有一 定个人成见。在项目参照执行阶段,原计划选定的2个项目组,由于涉及项目产品上线的压力和部门经理的阻力,老板大手一挥--暂不执行认证!于是,认证很遗 憾的停止了。但是,整个EPG组整理的项目管理制度和体系后来在大家的努力推动下被落实下来,对项目成功运作打下了坚实基础。特别是,这个过程培养了一批 在项目管理有深入理解的人才。
这批人深入理解了项目管理中需求管理的重要性、项目计划制订的严谨性(项目计划包括进度计划、配置计划、质量保证计划等)、变更的严格控制和项目总结(日常、milestone和项目收尾的总结)。这些是项目成功的基础,也是cmm2中的精髓。
进一步说,项目管理的成熟可以参照CMM/CMMI 5层等级的思想来描述,1-5级的项目成功的关键可以用下面这个QA作用图来描述:
我们可以看出,低成熟度的项目管理的成功更多工作是通过在过程中的指导和监督来保障,而高成熟度的则是通过在组织内部的度量和过程改进,用数据、制度来保证项目的成功。
也就是说,在低成熟度等级下,需要抽取各项目最佳实践来定义过程,并指导过程的试施, QA 在这方面的工作最多。随着过程的完善、制度化和实施, QA 的工作重点逐渐转向了过程评审和产品审计。当企业的过程成熟度达到 4 级或 5 级以后,对过程的遵守已经成为员工的一种习惯,过程和产品的审查需求减少,而度量和过程能力的优化又成为 QA 的工作重点。
现在,我们国家的项目管理多处于l2-l3的地位,如何整理最佳实践定义过程指导项目开发是项目总监的重要工作。最佳实践有哪些?需求撰写、需求评审等等,从实践来到实践中去。
回过头来看,一个组织如果提升其项目管理能力,来自内因的动力是最关键的。在这种动力下,人们制定的流程、规范是切合实际的,落实也是扎实的,也能理解、 把握 CMM等管理模型的深邃。如果改进的动力来自外因,通常是所谓的“不通过某某认证公司无法接什么什么项目”,那么它的学习是形式化的,势必被开发人员、项 目经理最终抛弃,走入形式化。
正是通过CMM2这个项目的锻炼,培养了我系统思维、步步为营推进的工作习惯,也使得自己在项目管理方面获得了升华。拓展了视野,打开了与行业同仁交流的窗口!
实践与理解CMM体系的更多相关文章
- 从理论到实践 全面理解HTTP/2
前言 为了降低加载时间,相信大多数人都做过如下尝试 Keep-alive: TCP持久连接,增加了TCP连接的复用性,但只有当上一个请求/响应完全完成后,client才能发送下一个请求 Pipelin ...
- socket心跳包机制实践与理解
实现Socket心跳包主要分为两大类,第一采用tcp自带的KeepAlive,第二是自定义心跳包,恰巧我在产品VICA中都使用过,下面就这两种心跳包机制谈谈个人的理解与感受. 首先第一种KeepAli ...
- MDM-Object.fn 一些实践与理解
Object.assign() 用于将所有可枚举属性的值从一个或多个源对象复制到目标对象.它将返回目标对象.如果目标对象中的属性具有相同的键,则属性将被源中的属性覆盖.后来的源的属性将类似地覆盖早先的 ...
- 能力成熟度模型CMM
能力成熟度模型(Capability Maturity Model,英文缩写为CMM)[1]是 一种开发模型.Carnegie Mellon大学的研究人员从美国国防部合同承包方那里收集数据并加以研究, ...
- 杂项:CMM
ylbtech-杂项:CMM CMM是指“能力成熟度模型”,其英文全称为Capability Maturity Model for Software,英文缩写为SW-CMM,简称CMM.它是对于软件组 ...
- 关于Android App开发知识体系的一个小总结
前言 本文从热更新.异步并发.性能优化.网络请求等多个方面对Android App开发的知识体系进行了一个分类总结.欢迎大家沟通交流. 热更新 [原]热更新开源项目Tinker源码解析之Dex热更新 ...
- Web 前端从入门菜鸟到实践老司机所需要的资料与指南合集
http://web.jobbole.com/89188/ 2016 – 对于未来五年内Web发展的7个预测 2015 – 我的前端之路:从命令式到响应式,以及组件化与工程化的变革 怎么成为一名优秀的 ...
- 全球IT管理最佳实践之DevOps Master 认证
原文:http://soft.chinabyte.com/30/13940030.shtml 作者:国际最佳实践管理联盟 孙振鹏 关键字: DevOps.DevOps认证.DevOpsDays.Dev ...
- 选择企业架构实践公开课的指导?TOGAF+ArchiMate+BangEA,EA工作者必学一门公开课
我发现身边越来越多人谈数字化.谈企业架构,但是感觉谈的总是IT?知道好像不对,但是又好像也无法告诉别人这和传统的IT架构有什么不一样?网上找资料,看了很多也摸不到门路,也不知道别人讲的对不对.对了还好 ...
随机推荐
- Fortran学习笔记6(函数、子程序)
子程序Subroutine 自定义函数Function 全局变量COMMON BLOCK DATA 程序代码中,常常会在不同的地方重复用到某一功能和重复某一代码,这个时候就要使用函数.函数包括内嵌函数 ...
- grub加密。
一.介绍 安全无小事 linux系统的安全分为很多方面,什么端口啊,什么网络啊,听着都特么烦,今天谈谈最简单明显的密码安全. 二.单用户模式 单用户模式个人觉得相当有用,可以用来修复系统,修改密码… ...
- systemverilog(3)之Randomize
what to randomize? (1) primary input data <==one data (2)encapsulated input data <== muti grou ...
- LeetCode(150) Evaluate Reverse Polish Notation
题目 Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are +, ...
- Lex与Yacc学习(三)之符号表
符号表 列举单词表的方式虽然简单但是不全面,如果在词法分析程序运行时可以构建一个单词表,那么就可以在添加新的单词时不用修改词法分析程序. 下面示例便利用符号表实现,即在词法分析程序运行时从输入文件中读 ...
- cs229_part6
part 6 接下来就是无监督学习算法了. k均值聚类 问题背景 样本集描述: \[ x\in D, x\in R^n \] 之前的有监督学习问题中,所有的x都有对应的y.但是如果我们的x没有对应的y ...
- Spring核心技术(十一)——基于Java的容器配置(一)
基本概念: @Bean和@Configuration Spring中新的基于Java的配置的核心就是支持@Configuration注解的类以及@Bean注解的方法. @Bean注解用来表示一个方法会 ...
- BZOJ 2725: [Violet 6]故乡的梦
求出最短路径树,对于一个询问(x,y) 若不在树上S->T的链上,则答案不变,若在链上,考虑用一条非树边替换这条边,这条非树边必须跨越x->y这条边,线段树维护区间最小值 #include ...
- PHP 和 AJAX MySQL
AJAX 可用来与数据库进行交互式通信. AJAX 数据库实例 在下面的 AJAX 实例中,我们将演示网页如何使用 AJAX 技术从 MySQL 数据库中读取信息. 在下拉列表中选择一个名字 (测试说 ...
- Python中字典的key都可以是什么
作者:Inotime 来源:CSDN 原文:https://blog.csdn.net/lnotime/article/details/81192207 答:一个对象能不能作为字典的key,就取决于其 ...