UML软件工程组织

成也萧何,败也萧何:项目管理者
原作者:清华大学网

 项目管理者是项目的总负责人,是项目推进的总设计师和总运营者,也是软件企业的少数精锐。项目管理者必须为项目相关各方提供成功的项目结果,如图2-3所示。软件项目的成败,直接取决于项目管理者选择的成败。项目管理者需要从系统思维、持续学习、励行沟通、提案能力、团队管理和优先级管理等诸多方面着力,致力于成为崛起于混乱之上的少数精锐,成为项目成功的捍卫者。


图2-3 项目管理者的五角目标诉求

系统思维:宏观思维与整体感觉

项目管理者决不能是一位单向度思维的管理者。所谓单向度思维,就是单向思维,缺乏多元理念、立体感、全面性、多维度,强调工具理性,甚至表现出自以为是的态度、刚愎自用的行为模式,不是受到排斥就是沦入已确立的话语和行为领域。单向度的思考模式难以把握事态的快速变化,必须向交互性、非单向化转变。项目管理者需要具有“整体感觉”和“宏观思维”,具有流程、进程、工程、框架、层次、体系、多项选择概念以及逻辑化思考能力。良好的系统思考能让工作更严谨、更犀利、更条理分明,更容易找到问题的核心本质,更能获得卓越的沟通效果,更能提升决策的品质和速度。系统思考的结构化思路可以参考著名的麦肯锡方法的核心概念MECE(mutually exclusive,collectively exhaustive),中文意思是“相互独立,完全穷尽”。要达致这一点,可以借助于逻辑树状法(没有遗漏、没有重复地整理思维)、矩阵图法(通过矩阵框架,进行立体定位)和排序法(掌握流程,找到问题重点)等方法。

持续学习:自我精进之道

学习始终是个人的自我精进之道。项目管理者,作为组织中承上启下的最重要个体,作为理论性与实务性相结合的最基本载体,其持续学习的需求更加不可或缺。但是,项目管理者必须避免“习惯性防卫”,以及由此产生的“熟练的无能”,即“有高度熟练的技巧,保护自己免于受到学习中的痛苦与威胁”。

学习前沿(learn the latest)。软件开发技术日新月异,项目管理理念层出不穷,顾客需求变动不居,项目管理者必须了解软件开发项目的前沿动态,不仅仅包括诸如J2EE、.NET、UML等技术知识,还包括CMM、PMBOK、P2M等项目管理知识以及流程再造、营销组合、知识产权等相关知识。学习是一个持续的过程,其方式也不一而足。

学习过去(learn from the past)。那些忘记过去的人将会重复失败,而失败就是最好的老师。只有成为管理的历史学家,才能够逐渐成长,因为过去的经验和教训如果不能成为今天和未来的财富,那么作为管理者将无法成长。学习过去的精髓在于使管理者认清“有价值的失败”与“无意义的成功”。“有价值的失败”指那些使人产生顿悟,澄清认识,从而增强智慧的失败,是日后成功的铺垫。“无意义的成功”指那些虽然进展顺利但没有成为日后可供参考的积淀和螺旋式上升的助力。表面的成功或相安无事,并不一定意味着可以高枕无忧,因为成功本身既可能建立在以前失败的基础上,也可能成为日后失败的源头。对失败的反思往往要比回顾成功困难得多,但是反思过去,特别是反思过去的失败,从过去中学习,起点将会更高。

标杆学习(learn by benchmarking)。也就是学习最佳实践。以竞争对手或者非竞争对手的最佳做法为典范,效法学习,追求卓越绩效。如果说学习过去是一种纵向学习方式,那么标杆学习就是一种横向学习方式。标杆学习能使项目管理者从项目中跳将出来,将学习的参照转向更加广泛也更加多样的对象。

励行沟通:信息共享与上下融通

除了一般技术人员的基本能力外,项目管理者还需要具备更多的资质和技能,特别是沟通能力。在大多数情况下,沟通出现问题并不是因为缺乏沟通技巧,而是因为没有对沟通给予足够的重视。明确的顾客需求诞生于和顾客的互动沟通之中,互信的合作氛围来自于成员之间的坦率沟通。项目管理者需要具备这些沟通技能:(1)聆听技能。沟通始于聆听。像用嘴巴一样,还要用耳朵沟通。倾听比谈话更难,理解别人之后才会被别人理解,有效沟通的秘诀就在于让听者—— 而不是说者—— 成为焦点。仔细聆听对方的话语,观察对方的表情,尤其注意字里行间和弦外之音,懂得用心去倾听他人的“意见”或“异见”。(2)调整技能。根据沟通场景,引导对方去思考,诉之于情,引发共鸣;根据沟通对象的言语和表情作出适当的回应;根据对方的反应调整沟通方式。(3)表达技能。软件开发中,即使个人很有思想但是表达能力差,其效果也截然不同。在表达观点时需要注意:准确阐述自己的意见、观点、思想、想法和方案,避免模糊不清;以易于理解的方式加以阐述,提高沟通效果;把握阐述的要点,并注重阐述内容的系统性和连续性。

提案能力:问题解决方案专家

提案能力就是针对客户面临的问题,通过调查、分析向顾客提供解决方案的能力,包括对顾客需求的把握能力、现状的分析能力、解决方案的创意能力和文档化能力、以及方案选择的建议、解释、说服以及获得认可的能力。提案能力的高低在很大程度上反映了管理者对问题理解的深度、广度,也能反映出其赢得顾客满意甚至顾客惊喜的能力。提案的关键在于系统化创意、条理化阐述、重点性推荐,让对方在阅读提案书后能准确地领会提案者的创意、思维、建议和选择标准。提案能力的基本要求在于:(1)站在顾客的立场上思考问题,从顾客的角度出发提出提案;(2)提案的课题非常明确,针对特定的课题加以阐述;(3)专业,为顾客提供的解决方案必须具有专业水准,切实助益于解决顾客所面临的问题;(4)提出解决问题的备选方案,阐明各方案的客观优劣,推荐选择某种方案并阐明理由;(5)提案不仅仅能解决“现象”,更要注重解决“问题”。

团队管理:从最大公约数到最小公倍数

团队是软件开发项目所依赖的组织基础,而项目管理者就是团队的当然推动者,推动团队绩效从最大公约数到最小公倍数的转变。项目管理者需要注意如下几点:(1)时常通过这些关键词自我反省:领导能力、尊重、反馈、评估;(2)组建和谐的团队,项目管理者必须充当队员的激励者、教练、活跃气氛者、维和人员和冲突裁决人;(3)项目管理者所表现出的情绪—— 无论正面还是负面的,都将是团队成员培养品质的基础;(4)主要任务就是为项目组提供服务,包括指导、顾问、问题及冲突解决、资源提供、目标及优先级设定、评估绩效和提供反馈,并在需要的时候提供技术性指导。

优先级管理:精于选择的艺术

作为项目管理者,项目最初所能采取的最重要一步可能就是有意识地设定优先级。凡事皆有“本末”、“轻重”、“缓急”、“先后”之分,关键在于抓住“本”、“重”、“急”、“先”之事并优先解决,在资源的利用上作出倾斜,并在时间的安排上设定期限。优秀的项目管理者可能对那些无足轻重的事情无动于衷,但他们对那些较重要的事务却总是倾力以赴。如果过于专注项目中的细枝末节,通常就会变得对大事要事无能为力。“抓住大事,小事自会照顾好自己。”现代项目管理者的一大问题是注意力分散,分不清轻重缓急,也不善于区分轻重缓急。如果碰巧能力较强,即便错误的事情也能做得很好,不利的局面也多能扭转,但会无谓地耗费很多时间和资源。项目管理的目标不能太多太杂,太多就等于没有目标,太杂就会分散资源和精力,所以必须在多种事项中做出选择。选择像一条河流,河流变得越宽,就有越多的人淹死在里面。而项目管理就像游泳,项目管理者需要越来越强的游泳技巧,更需要游向正确的方向,最需要在各个方向中做出选择。项目管理者必须能在所有的子项目中做出优先级的判断,做出优先级的选择,以最佳方式实现项目管理的成功。
项目管理者的技能:34项关键技能

美国专家罗伯特·T.弗崔尔(Robert T.Futrell)等人在其《高质量软件项目管理》(Quality Software Project Management)中系统描述了软件质量协会的软件项目管理知识体系(SQI BOK,Software Quality Institute’s Body of Knowledge for Software Project Management),提出项目管理人员在产品开发管理、项目管理、人员管理方面所必需的34项关键技能,详见表2-1。

表2-1 项目管理人员所必需的技能

■产品开发技能

(1)评估过程—— 定义审查标准;

(2)知道过程标准—— 理解过程标准;

(3)定义产品—— 识别顾客环境和产品需求;

(4)评估可选择过程—— 评估各种方法;

(5)管理需求—— 监控过程变更;

(6)管理次级承包商—— 计划、管理和监控绩效;

(7)实施初始评价—— 评价难度、风险、成本和进度;

(8)选择方法和工具—— 定义选择过程;

(9)裁剪过程—— 调整标准过程以适合项目;

(10)跟踪产品质量—— 监控逐渐进化的产品质量;

(11)理解开发活动—— 学习软件开发周期。

■项目管理技能

(12)建立工作结构分解—— 为项目构建WBS;

(13)计划文档化—— 定义关键要素;

(14)估算成本—— 估算完成项目所需要的成本;

(15)估算工作量—— 估算完成项目所需要的工作量;

(16)管理风险—— 定义和确立风险的影响和处理;

(17)监控开发—— 监控软件的生产;

(18)安排进度—— 建立进度表和关键里程碑;

(19)选择量度—— 选择和使用适当的量度;

(20)选择项目管理工具—— 知道如何选择管理工具;

(21)跟踪过程—— 监控项目团队的执行度;

(22)跟踪项目进展—— 使用量度监控项目进展。

■人员管理技能

(23)评估绩效—— 通过评估项目团队强化绩效;

(24)因应知识产权—— 理解关键问题的影响;

(25)高效主持会议—— 计划和实施卓有成效的会议;

(26)互动与沟通—— 与开发者、高层管理者和其他团队进行交流;

(27)领导能力—— 训导团队成员以获得最佳绩效;

(28)管理变更—— 作为因应变更的有效代理人;

(29)成功交涉—— 成功地解决冲突和实施谈判;

(30)规划职业发展—— 构筑和提供职业发展指导;

(31)有效展示—— 使用有效的书面和口头技能;

(32)招聘—— 成功地招聘和面试项目成员;

(33)选择团队—— 选择高效能团队;

(34)构建团队—— 组织、引导和维护有效的团队。

项目管理知识体系:PMBOK·ICB·P2M

PMI的项目管理知识体系:PMBOK?

PMBOK?(Project Management Body of Knowledge)是全球影响最大的项目管理专业机构美国项目管理协会(PMI:Project Management Institution)总结的项目管理知识体系,是从事项目管理工作的项目管理者应该具备的基本的项目管理知识基础。PMBOK中用项目管理过程来组织项目管理中的活动,每个项目管理过程都是“产生结果的一系列活动”。PMBOK根据管理过程的输出结果性质,把项目管理过程划分为启动、计划、实施、控制和收尾5个过程组,每个过程组之间通过产生的结果进行连接。同时,PMBOK中又按照项目管理的知识范畴对项目管理过程进行整理,从整合、范围、时间、成本、质量、人员、沟通、风险和采购这9个不同的管理知识角度对项目管理过程进行整理。

1. PMBOK的体系

图2-4 PMI的PMBOK项目管理九大知识体系与五大项目管理过程

2. PMBOK各阶段的特征

表2-2 PMBOK各阶段的特征

过程

PMBOK各阶段的特征

计划

● 目标明确化

● 支持者责任者的体制明确化

实施

● 计划与进展度量基准的明确化

● 风险对策强化

● 计划变更的规约确定

控制

● 根据基准的客观的进展观测

● 以异常、例外为主体的进展报告

● 遵循规则的迅速的计划变更

收尾

● 记录整理和报告的强化

3. PMBOK的过程

图2-5 PMBOK的过程

IPMA的项目管理知识体系:ICB

国际项目管理协会(IPMA:International Project Management Association)的知识体系国际项目管理资质标准(ICB:IPMA Competence Baseline)的主要内容如表2-3所示,包括知识和经验部分的28个核心要素和14个附加要素。

表2-3 IPMA的项目管理知识体系

PMBOK各阶段的特征
目标明确化
支持者责任者的体制明确化
计划与进展度量基准的明确化
风险对策强化
计划变更的规约确定
根据基准的客观的进展观测
以异常、例外为主体的进展报告
遵循规则的迅速的计划变更
记录整理和报告的强化

JEAA的项目管理知识体系:P2M

P2M(project & program management)是日本工程振兴协会(JEAA:Japan Engineering Advancement Association)所开发的日本型项目管理知识体系,将项目管理扩展到经营战略,可以说是培养具有“更广阔视野、更高度视角”人才的知识体系,其特征在于强调应对环境变化,开创复杂问题的解决之道,提升企业的价值。如果说PMBOK是“防止失败(–effect)”的项目管理,那么P2M就是“创造成功(+effect)”的项目管理。P2M由设计组织宏大愿景的“纲要管理”和实践纲要管理的“项目管理”以及“个别管理”组成,是能够发挥构想模型(scheme model)、系统模型(system model)和服务模型(service model)3种模型的协同效果的项目管理体系,其基本架构如图2-6所示。


版权所有:UML软件工程组织