话说有一天,魔鬼抓到了两个项目经理张三和李四,他决定吃掉一个,剩一个来给他做项目。张三骄傲地说:“我有PMP证书,我精通CMMI、软件工程,还会敏捷、Scrum。”魔鬼一口就把他吃掉了,“额,你知道的太多了。”
1. 你知道的太多了
有3个游泳教练在教人游泳。第一个教练推荐学生看两本书《游泳工程》和《游泳理论大全YYBOK》,看完了考试,考完试颁发《游泳证书》,可以自由下水游泳了,注意教练不对结果负责。第二个教练会先让学生在岸上按照《游泳YYMMI》规范把动作练到完美,同时结合两本书《游泳工程》和《游泳理论大全YYBOK》,并且在学生下水后严格按照《游泳YYMMI》执行,不能变形。第三个教练很残酷,让学生在岸上练习了一会动作,就让学生带着浮板下了水。如果学生想靠边,教练会把他打到池中去。在一到两周时间内,学生就学会了游泳,但学生完全不知道啥是《游泳工程》,啥是《游泳理论大全YYBOK》。对于继续深造的学生,教练才开始《游泳工程》和《游泳理论大全YYBOK》的讲解,并且每讲一部分就让学生在游泳中多体会纠正。(还有一种,无师自通的狗刨。)
相信大家都很熟悉上面的内容,哈哈。有一个行业一直是第一种和第二种教法,教出了不少水鬼,这就是软件行业。也许他们对《游泳工程》和《游泳理论大全YYBOK》的理解非常到位,也许他们的动作完美符合《游泳YYMMI》规范,他们甚至游得很快,唯一的区别就是他们再也不需要换气了。(我真该庆幸我女儿是跟第三个教练学游泳。)
“如果你的世界中只剩一种工具锤子,你会不会试图把所有东西都变成钉子?”虽然很想说不,但是对大多数人来说,答案是会。学到更多的知识有时是一种负担,一旦被洗脑成功,满地找钉子的人大有人在。
2. 其实只有两种项目管理
其实只有两种项目管理,一种是预言式项目管理,另一种是适应性项目管理。在软件项目中,当前预言式项目管理在行动上占上风,适应性项目管理在话语权上占上风。
2.1 预言式项目管理
预言式项目管理相信项目是可以清楚了解并预测的。预言式项目管理注重前期的计划,并认为项目无非是计划的执行过程,并在执行过程中控制变数。预言式项目管理视变化为威胁,要求严格的变更管理。因为人是带来变化的主体,所以更是威胁。
在预言式项目管理中,人员变成了角色,交互变成了过程和文档。客户变成了需求,领导变成了报告,开发人员变成了人月。从此,项目中的一切均可量化管理。
2.2 适应性项目管理
适应性项目管理相信项目是无法准确预测的,要不断适应变化,响应变化。因为人是变化的主体,所以适应性项目管理特别注重人的作用。适应性项目管理通常采用迭代和增量式工作方式来进行探索和校准。
3. 无责任评项目管理
在上一篇《13给新手的建议》中,我建议新手项目经理找到至少一位同公司的项目管理导师。因为导师就是你们的教练和浮板,他能在出现意外的时候保证你的人身安全(别变水鬼),他能让你把注意力集中到你当前要练习的地方,而不是面面俱到。
但是每一位新手项目经理都想学到更多项目管理知识。应该学哪些呢?其实我更推荐直接在项目中学,跟着导师学。
3.1 项目管理知识体系PMBOK
项目管理知识体系PMBOK是美国项目管理学会(PMI, Project Management Institute)开发的一个关于项目管理的标准,是PMP认证的基础。它把项目管理划分为9个知识领域,即:范围管理,时间管理,成本管理,质量管理,人力资源管理,沟通管理,采购管理,风险管理和综合管理。
无责任乱评:
PMBOK偏向于预言式项目管理,希望理清项目中稳定的那些因素,控制和限制不稳定因素,例如人。
另外,对新人来说,直接看PMBOK容易陷入局部的理解,而不了解项目的整体。所以PMP考试的要求是至少3年以上的项目管理经验,虽然现在貌似交钱就可以考。
如果PMP证书对找工作有帮助,就学吧,但注意不要被洗脑了哦。如果已经有了不少经验,希望更加全面的对项目的各个方面有个了解,PMBOK也是不错的参考资料。
3.2 软件工程
软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。
无责任乱评:
软件工程界长期以来偏向于预言式项目管理,也是希望理清项目中稳定的那些因素,控制和限制不稳定因素,例如人。近期软件工程书籍上开始引入敏捷。(也有人认为敏捷本来就是软件工程的一部分。)
因为过于全面,对新人来说,知识量太大,不建议开始就细读。
软件工程的优点是比较全面,如果希望更加全面的对项目的各个方面有个了解,软件工程是不错的参考资料。
3.3 CMMI
CMMI是一种过程改进方法,它的目的是帮助组织改进他们的绩效。CMMI认证是软件企业的流行认证,一度被认为是“银弹”。
无责任乱评:
CMMI的本质是用于检查组织的软件开发能力的,这一点没错。但是有一点有问题的是,CMMI本身没有能力提供真正的改进,它的改进必须依赖于预言式项目管理或适应性项目管理。换言之,CMMI就是医院的检验科,它能提供检验报告,但是看病治病你还是得找医生。所以相信CMMI能看病的人都被骗了。用CMMI就像去大医院治病,会带来昂贵的检验报告和昂贵的医生诊治费用,不过大医院养活着很多医生。
另外CMMI带来了大量的检验和昂贵的检验成本,本身就会影响项目成败。如果一个人每天都花钱去医院检验,他就有三种风险,一是无力承担昂贵的检验费用,另一种是过量的X光检验会致癌,第三种是检验占用的时间成本太大,没时间锻炼。不如改善生活态度,积极锻炼身体,定期去检验为好。
CMMI也许对公司拿项目,撑门面比较有意义。但是作为个人,尤其是新手,CMMI基本毫无意义。因为你读不懂检验报告,读懂了你也不会看病治病。还是专心把项目做好来得实在。
3.4 RUP
Rational统一过程(RUP)是Rational软件公司(现在Rational公司被IBM并购)创造的软件工程方法。在2000年左右,没用RUP,你出门都不好意思给人打招呼,掉份儿。
无责任乱评:
RUP是典型的预言式项目管理,它那繁琐的流程定义,事无巨细的交付文档,和众多的角色分工都深深的出卖了它。但是沾了迭代两个字的光,它堂而皇之的混入了适应性项目管理的阵营。
它的优点是比较全面,如果希望更加全面的对项目的各个方面有个了解,是不错的参考资料。
3.5敏捷和Scrum
敏捷软件开发又称敏捷开发,是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力。它们的具体名称、理念、过程、术语都不尽相同,相对于“非敏捷”,更强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重做为软件开发中人的作用。
Scrum是典型的敏捷软件开发方法学,目前在所有敏捷方法学中采用率最高。
无责任乱评:
敏捷是典型的适应性项目管理,Scrum当然也是。最大的缺点是理论与哲学很不“科学”,包含了很多人性化的部分,可变性很大,难于把握。在这一点上,预言式项目管理有很大的优势。因此敏捷极其简单又非常复杂。
敏捷更接近传统工匠文化中的手艺传递,特别需要师傅的指引。自学的,无论学了多少理论,都很难有好结果,这也是推荐项目经理导师的重要原因。
原文链接:http://www.cnblogs.com/davidzhang33/archive/2011/05/27/2060093.html
【编辑推荐】