UML软件工程组织
北京火龙果软件工程技术中心

IT项目管理向沟通要效率

 

作者: 田俊国  出处: 51CMM

 

 项目沟通管理是现代项目管理知识体系中的九大知识领域之一。项目沟通管理把成功所必须的因素——人、想法和信息之间提供了一个关键连接。涉及项目的任何人都应准备以项目"语言"发送和接收信息并且必须理解他们以个人身份参与的沟通怎样影响整个项目。项目管理中,因为沟通是一个是个软指标,沟通所起的作用不好量化,而沟通对项目的影响往往也是隐形的。然而,沟通对项目的成功,尤其是IT项目的成功太重要了。本文结合IT项目的特点谈谈IT项目中的沟通的特殊意义以及沟通对项目实施效率的影响。

 一、IT项目中沟通的特殊意义

对于项目来说,要科学地组织、指挥、协调和控制项目的实施过程,就必须进行信息沟通。沟通对项目的影响往往是潜移默化的,所以,在成功的项目中人们往往感受不到沟通所起的重要作用,在失败项目的痛苦反思中,却最能看出沟通不畅的危害。没有良好的信息沟通,对项目的发展和人际关系的改善,都会存在着制约作用。沟通失败是IT项目求生路上最大的拦路虎。常常能听到的典型例子是某某集团耗资几千万的ERP项目最终弃之不用,原因是开发出的软件不是用户所需要的,没提高用户的工作效率反而增加了工作量,不难看出,造成这种尴尬的局面的根本原因是沟通失败。当一个项目组付出极大的努力,而所做的工作却得不到客户的认可时,是否应该冷静地反思一下双方之间的沟通问题?软件项目开发中最普遍现象是一遍一遍的返工,导致项目的成本一再加大,工期一再拖延,为什么不能一次把事情做好?原因还是沟通不到位。

通常的项目管理教材将项目沟通的重要性归结为四点:

(1)决策和计划的基础。 项目班子要想作出正确的决策,必须以准确、完整、及时的信息作为基础。通过项目内、外部环境之间的信息沟通,就可以获得众多的变化的信息,从而为决策提供依据。

 (2)组织和控制管理过程的依据和手段。在项目班子内部,没有好的信息沟通,情况不明,就无法实施科学的管理。只有通过信息沟通,掌握项目班子内的各方面情况,才能为科学管理提供依据,才能有效地提高项目班子的组织效能。

(3)建立和改善人际关系是必不可少的条件。信息沟通、意见交流,将许多独立的个人、团体、组织贯通起来,成为一个整体。信息沟通是人的一种重要的心理需要,是人们用以表达思想、感情与态度,寻求同情与友谊的重要手段。畅通的信息沟通,可以减少人与人的冲突,改善人与人、人与班子之间的关系。

(4)项目经理成功领导的重要手段。项目经理是通过各种途径将意图传递给下级人员并使下级人员理解和执行。如果沟通不畅,下级人员就不能正确理解和执行领导意图,项目就不能按经理的意图进行,最终导致项目混乱甚至项目失败。因此,提高项目经理的沟通能力,与领导过程的成功性关系极大。
除以上四点外,根据IT项目的特点,IT项目沟通的重要性还体现在下面两点:

(5)信息系统本身是沟通的产物。软件开发过程实际上就是将手工作业转化成计算机程序的过程。不像普通的生产加工那样有具体的有形的原料和产品,软件开发的原料和产品就是信息,中间过程间传递的也是信息,而信息的产生、收集、传播、保存正式沟通管理的内容。可见,沟通不仅仅是软件项目管理的必要手段,更重要的,沟通是软件生产的手段和生产过程中必不可少的工序。

(6)软件开发的柔性标准需要沟通来弥补。软件开发不像加工螺钉、螺母,有很具体的标准和检验方法。软件的标准柔性很大,往往在用户的心里,用户好用是软件成功的标准,而这个标准在软件开发前很难确切地、完整地表达出来。因此,开发过程项目组和用户的沟通互动是解决这一现实问题的唯一办法。

因为以上特点,可以说,在IT行业,沟通的成败决定整个项目的成败,沟通的效率影响整个项目的成本、进度,沟通不畅的风险是IT项目的最大风险之一。

 二、沟通对项目实施效率的影响

沟通对项目实施效率的影响往往是间接的、不易觉察和量化的。不少项目管理者认为项目管理九大知识领域中的沟通是一个软指标,很难考核一个项目组成员的沟通能力。下面从几个与沟通有直接或间接关系因素讨论沟通对IT项目实施效率的影响。

项目复杂程度与实施效率

沟通路径所消耗掉的工作量多少取决于软件项目本身的复杂度和耦合度。原IBM在马里兰州盖兹堡的系统技术主管Joel Aron,在他所工作过的9个大型项目的基础上,对程序员的实施效率进行了研究。他根据程序员和系统部分之间的交互划分这些系统,得到了如下的实施效率:

非常少的交互 10,000指令每人年
少量的交互 5,000
较多的交互 1,500

一般说来,底层软件(操作系统、编译器、嵌入式系统、通信软件)的接口复杂度要比应用软件(MIS、操作维护软件、管理软件)要高得多。

在估算软件开发项目工作量时要充分考虑任务的类别和复杂程度,因为抽象的、接口复杂的系统开发过程中沟通消耗必然大。还有,有深厚行业背景的软件,要考虑开发人员为熟悉行业知识所要付出的沟通消耗。

团队规模与实施效率

IBM 360操作系统之父的F.P.布鲁克在他著的《人月神化》中提到:需要协作沟通的人员的数量影响着开发成本,因为成本的主要组成部分是相互的沟通和交流,以及更正沟通不当所引起的不良结果(系统调试)。

人与人之间必需通过沟通来解决各自承担任务之间的接口问题,如果项目有n个工作人员,则有n×(n -1)/ 2个相互沟通的路径。假设一个人单独开发软件,年实施效率为10000行代码,而每一条沟通路径上每年消耗掉的工作量可折合500行代码,则团队规模和沟通消耗以及实施效率存在以下关系:

团队规模n 沟通路径数
n×(n -1)/ 2
沟通消耗(LOC/人年)
沟通路径数×500
实施效率(LOC/人年)
10000-沟通消耗/n
1 0 0 10000
4 6 3000 9250
6 15 7500 8750
10 45 22500 7750

由此可知,一个人单独开发一个软件,人均效率最高,只可惜大部分软件规模和时间要求都不允许一个人单独开发,而团队开发的沟通消耗却呈二次方增长。所以,项目团队应该尽可能精简,以较少的人在最可能允许的时间内完成任务是相对高效的。

团队的组织方式与实施效率

不难看出,通过减少沟通消耗、提高沟通效率能够提高项目团队工作效率。良好的团队组织可以减少不必要交流和合作的数量,是提高团队效率的关键措施。

减少交流的方法是明确的个人分工和接口定义。卡内基-梅隆大学的D.L.Parnas认为,编程人员仅了解自己负责的部分,而不是整个系统的开发细节时,工作效率最高。

一种行之有效的方法是改变沟通的结构和方式。比如上面的例子中,一个10人的项目团队,沟通路径有10×(10-1)/2=45条,这种计算基于一种假设,即团队中成员间的关系是对称的,各人在团队中的沟通地位完全对等,沟通方式是全通道式的。同样一个项目,把组织方式改变为下图所示:

 

  由一位系统架构师将系统分为三个相对独体的子系统,构架师负责子系统间的接口定义;然后将其余9人分为三个小组,每个小组负责一个子系统,小组组长和架构师相互沟通子系统间的接口,小组间的交流通过架构师组织进行;每个小组内部采用全通道式的沟通方式。那么,这样的一个组织方式沟通路径只有9条,沟通效率是全通道式组织方式的五倍。

当然,这种方法的先决条件是有一个对整个项目总体把握很好的软件架构师以及精确完整地定义所有接口。

团队的默契度与实施效率

很显然,团队的默契程度对软件实施效率影响很大。一个经过长期磨合、相互信任、形成一套达默契的做事方法和风格的团队,可能省掉很多不必要的沟通,相反,初次合作的团队因为团队成员各自的背景和风格不同、成员间相互信任度不高等原因,要充分考虑沟通消耗。

软件企业人员流动率高的特点导致团队凝聚力和默契度的锤炼比较困难。而凝聚力和默契度的需要长期的、大量的内部沟通和交流才能逐步形成,由此不难理解持续良好的沟通和交流是一个团队的无形资产,自然,稳定、默契的开发团队形成一个软件企业的核心竞争力的道理。

还有一点不容忽视,那就是软件开发这种以人脑为主要工具的创造性很强的作业,开发人员的心情和兴奋度对个人工作效率影响很大,而一个人置身于氛围良好、合作默契的团队中心情一般较好,这种良好的氛围所能带来的能量是不可估量的。

三、高效沟通技巧

一个高素质的团队组织者和协调管理者所发挥的作用往往对项目的成败起决定作用,一个优秀的项目经理必然是一个善于沟通的人。沟通研究专家勒德洛(Ludlow,R.)提到:高级管理人员往往花费80%的时间以不同的形式进行沟通,普通管理者约花50%的时间用于传播信息 。可见,沟通的效率直接影响管理者的工作效率。介绍沟通技巧的文章很多,这里只提几种提高沟通效率的技巧。

沟通要有明确目的

沟通前,经理人员要弄清楚作这个沟通的真正目的是什么?要对方理解什么?漫无目的的沟通就是通常意义上的唠嗑,也是无效的沟通。确定了沟通目标,沟通的内容就围绕沟通要达到的目标组织规划,也可以根据不同的目的选择不同的沟通方式。

善于聆听

沟通不仅仅是说,而是说和听。一个有效的听者不仅能听懂话语本身的意思,而且能领悟说话者的言外之意。只有集中精力地听,积极投入判断思考,才能领会讲话者的意图,只有领会了讲话者的意图,才能选择合适的语言说服他。从这个意义上上讲,“听”的能力比“说”的能力更为重要。

渴望理解是人的一种本能,当讲话者感到你对他的言论很感兴趣时,他会非常高兴与你进一步加深交流。所以,有经验的聆听者通常用自己的语言向讲话者复述他所听到的,好让讲话者确信,他已经听到并理解了讲话者所说的话。

避免无休止的争论

沟通过程中不可避免地存在争论。软件项目中存在很多诸如技术、方法上的争论,这种争论往往喋喋不休,永无休止。无休止的争论当然形不成结论,而且是吞噬时间的黑洞。终结这种争论的最好办法是改变争论双方的关系。争论过程中,双方都认为自己和对方在所争论问题上地位是对等的,关系是对称的。从系统论的角度讲,争论双方形成对称系统,而对称系统是最不稳定的,而解决问题的方法在于变这种对称关系为互补关系。比如,一个人放弃自己的观点或第三方介入。

项目经理遇到这种争议中一定要发挥自己的权威性,充分利用自己对项目的决策权。

使用高效的现代化工具

电子邮件、项目管理软件等现代化工具的确可以提高沟通效率,拉近沟通双方的距离,减少不必要的面谈和会议。IT项目的项目经理,更应该很好地运用之。

 


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