在做软件项目测试服务的过程中经常听到如下抱怨:开发出来的东西根本不是我们想要的;我们要求的某某功能没有实现;最令甲方难平心中之愤的是之前这些问题都已经口头告知了乙方项目组成员,而乙方在项目实施过程中却竟然无视如此重要的需求与反馈。也会听到有的乙方项目经理的苦诉:我手下的程序员在设计评审时描述了他所负责的模块架构,然而软件开发出来后,我发现和我所理解的结构大相径庭……
也许有些情况比上述问题还要复杂,那么,问题何在?其实以上诸多问题都是有沟通引起的,沟通无效导致软件项目的最终失败。在软件行业,沟通的成败决定整个项目的成败,沟通的效率影响整个项目的成本、进度,沟通不畅的风险是软件项目的最大风险之一。在需求多变、逻辑性强、复杂程度高的软件项目建设过程中需要建立起良好的沟通计划与秩序,以严谨的沟通态度与科学的沟通方法保障软件项目的顺利实施。
软件项目本身是沟通的产物。从客户需求的前期调研到需求分析到架构设计再到编码设计实现到贯穿项目过程中的测试修改再到上线发布等等这一系列工作都是以沟通为基础的。沟通不仅仅是软件项目管理的必要手段,沟通更是软件项目建设过程中的必需工具和必不可少的重要工序。
软件项目需求的确定是甲乙双方不断沟通的产物
明确的顾客需求诞生于和甲方的互动沟通之中,软件项目建设之初客户需求的确定依靠甲乙双方的不断沟通来完成。软件项目建设的软肋在于客户需求的把握。项目规划之初需要乙方派出专业的项目经理和研发骨干与乙方进行深入沟通,充分把握客户的实际需求,有时候鉴于项目之初客户需求的模糊性或者甲方项目经理的项目经验与业务范围所限,在一开始甲方的需求表达的还是不够深入、全面。这就需要乙方凭借自己的项目经验或者行业经验未雨绸缪给出规划建议或细节的充分考虑,为项目需求做出充分准确的余量规划。而这些都是建立在不断地反复沟通与对最终用户的深入调研的基础之上的。在这里对于沟通与调研的方法不做赘述。
软件项目实施过程中项目组内部需要建立良好的沟通秩序(沟通计划)并保证沟通的有效性
我们曾遇到过这样一个案例,某软件企业在开发某业务管理软件,客户需求做得非常完善,系统分析也十分明确、清晰,但在开发阶段,项目经理发现系统分析其中一个中间层的函数出错,由于该功能模块由他一个人负责开发,当时他就直接对其参数进行了修改,也并未及时和其它编程人员进行沟通说明,过后很快就忘了这件事,当项目接近尾声时,系统突然出现一个大的Bug,影响到整个系统的运行,最后在花费了大量的精力进行查询测试后,才发现是这名项目经理更改的参数出了错。如果最初该项目经理能及时和项目组成员进行沟通,这种错误完全可以避免。一个建立起良好的沟通秩序的项目团队可以有效防范项目失败的风险并能达到事半功倍的效果。
项目沟通计划是项目整体计划中的一部分,其作用非常重要,却常容易被忽视。很多项目中不做完整的沟通计划,导致沟通混乱,轻则导致项目组工作效率低下,重则直接导致项目以失败告终。项目经理确定之初要做的第一件事就是确定整个项目的沟通计划,因为在沟通计划中描述了项目信息的收集和归档结构、信息的发布方式、信息的内容、每类沟通产生的进度计划、约定的沟通方式等等。只有建立起良好的沟通规则,才能把握好沟通,从而全面了解项目的各方面信息,不断推动项目的顺利进展。项目的沟通形式是多种多样的,大致分书面和口头两种形式。书面沟通大多用来进行通知、确认和需求等活动,适合于项目团队中使用的内部备忘录。