软件行业的项目组依赖于大家的沟通。在项目中,如何强调沟通都是不过分的。而事实上,绝大多数问题的出现,我们基本上都可以在沟通上找到一些问题的根源。举一个例子来说,我们很多人在工作中,都有一点感觉,我们之间的工作挂接不那么严丝合缝,似乎总是有一些灰色地带的存在,而正是这些模糊的地方,导致我们工作出现一些不和谐音。可以明确的说一点:这一点将在你的工作中,不断出现;而且随着你岗位的提升,责任的提升,这一点将变得越来越多。原因是,至少在现在我看来,任何组织结构都无法定义得如此明晰(因为我们面对着是变化越来越快的市场的这一个现实),所以,需要我们加强沟通,依靠沟通能力来弥补一些问题。
首先,团队沟通的成本上很高的,而且随着以下因素,沟通的成本会越来越高:人数的增加,工作地点的分离,缺乏共同的语境平台,不相同的价值观或者判断准则等等。人数的增加,使得相互之间的沟通线越来越多,而且,信息的增加,不见得一定能够把你导向成功,你将不得不判断各种不同的信息,从而使得成本越来越高。根据这点,我们在管理上,推荐进行单头领导(而不是多头领导)是这个原因,我们赞成使用少量的高素质人员替代大量无经验的人员,也是基于这一点的判断.工作地点的分离,也将导致沟通成本急剧上升。我不知道大家如何看待在这样的一个团队:我们的需求团队在北京,设计团队在上海,开发团队在武汉,测试团队在大连。如果是我看见这样的团队,将使得我很挠头。而且,但凡有可能,我极其不愿意使用这样一种团队,因为地点的分离,使得沟通和交流的数量和质量大大低于直接的面对面的交流。对于一般的开发团队来说,我希望他们不仅仅是在一个办公室里,而且更希望他们的办公位本身是挨在一起的,这样他们抬起头能交流。
他们会变得更喜欢进行交流。很多项目经理告诉我,我们有msn进行日常的沟通,我们有电话会议进行项目会议,我们有视频会议来解决面对面沟通的问题。但是,事实上,这一点远远不够。我们现在有很多手段进行沟通,但是诸位请回答我一个问题,以前你在家的时候,每天和你母亲说多少话?你离开母亲以后,虽然你也同样有各种很方便快捷的联系手段(而且我很多时候也和母亲在msn上聊天),但是你每天聊多少句?你们的了解是更多了还是更少了?和母亲之间的沟通尚且如此,那么和一个项目组团队(甚至是你没有见过面的项目组成员),你们的沟通又是如何?人和人之间的沟通和交流,没有比直接的面对面更加有效的了,我们可以听见对方的话音,看见对方的每一个眼神……更重要的是,我们能够相互之间触手可及,这是一种鲜活的沟通手段,任何手段都比不上他。所以,除非万不得已,不要把你的团队分成那么多地点。
有一个例子,我们曾经试验过软件工厂(在武汉设立了软件工厂,以至于我看见我们举行会议的时候,总是会有几个武汉的同仁,风尘仆仆地赶到北京),理想状态下,我们希望在北京做需求、设计和验收测试,在武汉进行开发和测试。而且主要是研发一些独立性很强的产品(比如一个显示报表的工具),或者一个很简单的功能实现。当时,为了体现软件工厂的有效性,总经理下令,不强求在北京的团队使用武汉的软件工厂。结果几乎没有人使用武汉的软件工厂,而且即使有人使用了,也是直接把需求和设计人员直接派到武汉,象项目经理一样带这个项目。当时我们很现实,软件工厂是否成功,不是我的事情;但是我的项目失败了,是大的问题了。所以,还是请一帮张口闭口软件工厂的兄弟们,至少自己亲手干一干,你会发现,其中的难度是非常高的,你仿佛一朝之内回到解放前,对于项目的忧虑和风险会急剧上升的。他并不是如同你所想像的那么容易驾驭。
当然了,如果你真的能够很轻松地驾驭这方面的团队,我不得不说,你的项目管理能力以团队管理能力非常出色,是一个国际性的项目管理大牛,但是……,国内的98%以上的小型项目,有必要采用这种方式研发吗?我觉得没有太大的必要。所以还是不要开口闭口的软件工厂,软件工厂的。
我们知道一点,我们现在面临的问题,如同20年前提出软件工程的时候一样,是软件项目失败率太高,而不是我们已经解决了软件项目失败率问题,那么对于绝大多数项目来说,还是如何保证成功率,如何来做吧。缺乏共同的语境平台,也会导致沟通成本的上升。比如我们希望某一种设计文档,能够按照一个相对固定的格式来做。当然,这种做法不值得走得太过(章节内容完全规定得非常死非常死,容易引发负面效应了),但是,这种做法有效的一点是,他统一了语境平台,大家很清楚,到哪里可以找到你的某一部分内容。举一个通用管理上的例子来说,在联想,我们都清楚“我们把这件事拉一下”,这句话的意思是,我们找个地方,把这件事情好好梳理一下。比如我们看见一个哥们在会议上说话说错了(当然是那种一般的内部性质的会议,可不是很要命的地方、很要命的时间说错话),我们会善意地笑一下,说“再给他一次机会吧”。因为每一个刚进入联想的兄弟们,都会参加一个一周的“入模培训”,意思是,无论你在社会上是一个什么样子的人,进入联想必须经过这个模子套一下,然后至少你们能拥有相对比较一致的价值观了(这个入模培训基本上可以看成一个传统介绍+联想常用语的潜移默化+简单拓展训练。也许过去n年以后,联想人会忘记很多事情,但是入模培训想来是难以忘记的了,至少我离开联想2年了,口头和做事方式中,还是多多少少带有一些联想的东西)。“给他一次机会吧”,这句话出自每一个入模培训中都会讲的小故事,说一个某教练带着“某某学员”(这两个某某都可以换成你想说的人),去参加文化考试。
老师:“9+10等于多少啊?”
学员:“20!”
教练:“这种题目都会做错,老师,再给他一次机会吧!”
……
老师“那1+1等于多少啊?”
学员:“2!”
教练:“老师,要不……再,再给他一次机会?”
讲得兴起,再多说一点。通常每一期入模培训完毕以后,都是联想内部邮件系统受到很大压力的时候,因为这时候,很多“模友”(进入同一期入门培训的人,称为模友;如果你们有幸被分在一个组内,那是更亲密的模友了,我们当时组名叫“vii”,发音为v two,靠,一个土得掉渣的名字,现在还觉得有点脸红,当时是老实,不然死也不会让这个名字通过啊。
还有的队叫“大刀队”,呵呵那更搞笑了,看见那个team的组长上去,是个小小的瘦子,我还想着:这大刀敢情说的是水果刀?呵呵)。在联想这样一个大型公司中,部门层出不穷,我们在部门之间合作的时候,如果发现你的合作部门接口人是你的模友,那恭喜你了,一般来说,他不会太难为你的,甚至给予你很大的帮助。于是,你会发现,在很多的需要多部门合作的项目中,正式依靠着这种亲密的关系,才使得事情更容易推进。模友们的关系会维持很长的时间,以至于我们会聚在一起,给某个模友过生日;模友离开联想的时候,也会给我们发一份邮件,告知我们离开联想了。甚至上你的部门,向你当面道别。这是一个不错的方式啊。这是为了建立起来一个共同的语境平台(顺便说一句,程序是一种极其好的,无二义性的语境平台哦,无论是美国人还是中国人写出来的程序,都是我们能够看懂的的程序)。如果缺少这个语境平台,不理解对方所说的话,还是小事,但是他会使得你会象个外人一样,不
能融入到整个团队中。不相同的价值观或者判断准则,也会潜在得极大提高沟通成本。因为他会使得一些基本的判断发生偏差,使得管理者倾向于收回所有的判断权和决策权,并且使得团队成员丧失很多的锻炼的机会,。后变得,团队leader忙死,下面团队成员闲死(更可能的是,团队成员也忙死,但是忙得不得其要而已)。管理者会倾向于把做一件事情分解称为各种操作性指令,而总体目标在团队成员脑子里是一个模糊的东西。这是一件很恐怖的事情。呵呵,讲到这一点,我想开过车的兄弟们都知道,我们总是希望在去某一个地点的时候,脑子里大致有一条路线图,我想很多人会很讨厌,在某一个非常繁忙的地段,然后旁边的哥们不告诉你目的地何在,开始发各种命令:“往左并线……”,“并线哪!”,“唉,唉,跟着那辆大车出去”,“那辆,那辆,跟着这辆有啥用处啊!”。如果这是一个哥们敢长期这么说,我会打开车门,让他下车滚蛋!这至少会让我非常光火,因为我不得不到处寻找他所说的标帜物,而我实际上不知道他到底要干什么。会显得很笨拙,而且很不爽!我喜欢的指示是:“从桥下左拐,你需要在这里出高速道路”。这我明白多了,然后即使你再给我各种指示,我也很容易理解了。
举一个现实的例子,一般来说,销售团队和研发团队之间的沟通,总是存在部分的问题。销售团队人员一个好产品,是一个能够销售出去的产品;而研发团队所谓的一个好产品,是从技术本身出发所描述的。所以,销售一般不太愿意,为了所谓的框架来花费成本,但是研发总是对此念念不忘。类似的,提高团队沟通成本的地方还有很多,比如语言的不通(比如一个英语不好的人员和老外沟通),相互之间背景的不相同(上面的销售和研发的冲突,是如此),私下之间的关系属于臭鱼看不上烂虾的那种(当然,非常具备职业素养的人,很好得平衡工作和私下的关系,但是这毕竟是很少部分人所具备的的职业素养)等等。都会很大的提高沟通成本。以上说了提高沟通成本的一些事情,对于一个沟通如此重要的领域来说,尽可能降低一些沟通的难度和沟通的成本,对于项目来说总是有利的。这会潜在降低很多你的软件成本的。下面说说沟通上面一些需要注意的地方了。不说复杂的,说简单的。