由此可知,一个人单独开发一个软件,人均效率高,只可惜大部分软件规模和时间要求都不允许一个人单独开发,而团队开发的沟通消耗却呈二次方增长。所以,项目团队应该尽可能精简,以较少的人在可能允许的时间内完成任务是相对高效的。
团队的组织方式与实施效率
不难看出,通过减少沟通消耗、提高沟通效率能够提高项目团队工作效率。良好的团队组织可以减少不必要交流和合作的数量,是提高团队效率的关键措施。
减少交流的方法是明确的个人分工和接口定义。卡内基-梅隆大学的D.L.Parnas认为,编程人员仅了解自己负责的部分,而不是整个系统的开发细节时,工作效率高。
一种行之有效的方法是改变沟通的结构和方式。比如上面的例子中,一个10人的项目团队,沟通路径有10×(10-1)/2=45条,这种计算基于一种假设,即团队中成员间的关系是对称的,各人在团队中的沟通地位完全对等,沟通方式是全通道式的。同样一个项目,把组织方式改变为下图所示:
由一位系统架构师将系统分为三个相对独体的子系统,构架师负责子系统间的接口定义;然后将其余9人分为三个小组,每个小组负责一个子系统,小组组长和架构师相互沟通子系统间的接口,小组间的交流通过架构师组织进行;每个小组内部采用全通道式的沟通方式。那么,这样的一个组织方式沟通路径只有9条,沟通效率是全通道式组织方式的五倍。
当然,这种方法的先决条件是有一个对整个项目总体把握很好的软件架构师以及精确完整地定义所有接口。
团队的默契度与实施效率
很显然,团队的默契程度对软件实施效率影响很大。一个经过长期磨合、相互信任、形成一套达默契的做事方法和风格的团队,可能省掉很多不必要的沟通,相反,初次合作的团队因为团队成员各自的背景和风格不同、成员间相互信任度不高等原因,要充分考虑沟通消耗。
软件企业人员流动率高的特点导致团队凝聚力和默契度的锤炼比较困难。而凝聚力和默契度的需要长期的、大量的内部沟通和交流才能逐步形成,由此不难理解持续良好的沟通和交流是一个团队的无形资产,自然,稳定、默契的开发团队形成一个软件企业的核心竞争力的道理。
还有一点不容忽视,那是软件开发这种以人脑为主要工具的创造性很强的作业,开发人员的心情和兴奋度对个人工作效率影响很大,而一个人置身于氛围良好、合作默契的团队中心情一般较好,这种良好的氛围所能带来的能量是不可估量的。
三、高效沟通技巧
一个高素质的团队组织者和协调管理者所发挥的作用往往对项目的成败起决定作用,一个的项目经理必然是一个善于沟通的人。沟通研究专家勒德洛(Ludlow,R.)提到:高级管理人员往往花费80%的时间以不同的形式进行沟通,普通管理者约花50%的时间用于传播信息 。可见,沟通的效率直接影响管理者的工作效率。介绍沟通技巧的文章很多,这里只提几种提高沟通效率的技巧。
沟通要有明确目的沟通前,经理人员要弄清楚作这个沟通的真正目的是什么?要对方理解什么?漫无目的的沟通是通常意义上的唠嗑,也是无效的沟通。确定了沟通目标,沟通的内容围绕沟通要达到的目标组织规划,也可以根据不同的目的选择不同的沟通方式。
善于聆听
沟通不仅仅是说,而是说和听。一个有效的听者不仅能听懂话语本身的意思,而且能领悟说话者的言外之意。只有集中精力地听,积极投入判断思考,才能领会讲话者的意图,只有领会了讲话者的意图,才能选择合适的语言说服他。从这个意义上上讲,“听”的能力比“说”的能力更为重要。
渴望理解是人的一种本能,当讲话者感到你对他的言论很感兴趣时,他会非常高兴与你进一步加深交流。所以,有经验的聆听者通常用自己的语言向讲话者复述他所听到的,好让讲话者确信,他已经听到并理解了讲话者所说的话。
避免无休止的争论
沟通过程中不可避免地存在争论。软件项目中存在很多诸如技术、方法上的争论,这种争论往往喋喋不休,永无休止。无休止的争论当然形不成结论,而且是吞噬时间的黑洞。终结这种争论的好办法是改变争论双方的关系。争论过程中,双方都认为自己和对方在所争论问题上地位是对等的,关系是对称的。从系统论的角度讲,争论双方形成对称系统,而对称系统是不稳定的,而解决问题的方法在于变这种对称关系为互补关系。比如,一个人放弃自己的观点或第三方介入。
项目经理遇到这种争议中一定要发挥自己的权威性,充分利用自己对项目的决策权。
使用高效的现代化工具
电子邮件、项目管理软件等现代化工具的确可以提高沟通效率,拉近沟通双方的距离,减少不必要的面谈和会议。IT项目的项目经理,更应该很好地运用之。
参考文献:
1、 人月神话 FREDERICK P. BROOKS, JR. 清华大学出版社
2、 现代项目管理 白思俊等 机械工业出版社
3、 项目经理案头手册 (美)詹姆斯.P.刘易斯等 机械工业出版社
4、 项目人力资源与沟通管理 刘新梅等 清华大学出版社
5、 软件工程(高级) 郑人杰 清华大学出版社