案例
L先生曾负责了一个航空领域的大型数据仓库项目,在此项目一期的时候,各类问题层出不穷,项目组疲于应付,四处救火:
◆在项目中,L先生与各项目干系人没有建立有效的联系,根本无法让他们了解项目进展情况。甚至连项目开发人员自身对项目整体情况也没有清楚的认识,而只管自己那一部分,对其他工作则不闻不问;项目一旦开始,直到项目结束才能准确知道产品情况。整个开发过程完全是一种黑盒模式,项目组成员无法把握准确进度,无法保证项目质量。
◆到了项目后期才发现销售模块开发进度过慢,不得已加班加点,仓促交工,项目质量连自己都不放心,大量的BUG遗留在这部分,产生许多隐患,维护的工作量甚至超过了开发,导致系统维护成本过大。用户抱怨颇多,维护人员更是怨声载道。
◆在项目交工时,客户提出运输模块提供的信息无法满足制作报表的要求,并抱怨这个变更早就通知过项目组,可L先生作为项目经理竟然全然不知,结果是来回扯皮。
◆开发人员在设计对内开账模块时描述了实现方式,但为了节省时间,只是粗粗地写了设计,就去编码。等编码结束时,发现和L先生原来所理解的出入甚大,只得推翻重来,不但工作量增加了,而且成本超支严重。
在此项目的二期时,公司开始采用CMM的一些开发思想,加强对需求、计划的管理,采用了配置管理工具VSS 来管理文档,情况才逐步好转,但前期仍然出现了许多问题:不少项目成员对文档敷衍了事,认为只是走走过场而已。
L先生遇到的现象绝非偶然,稍加分析我们会发现,L先生的项目组在开始引用CMM的开发思想时,缺乏的是一种项目组各个层面间的沟通机制,而加强沟通管理应是实施成功项目管理的必由之路。
困惑源自缺乏沟通
企业在实施CMM过程中,所遇到的阻力会来自于方方面面。增强正向的推进力,弱化逆向的阻力,对于过程改进的成功至关重要。为实现这一目标,企业各层面之间正确的沟通与协调起着决定性作用,这就需要对项目进行有效的沟通管理。
项目经理是沟通项目层和管理层的桥梁,是项目沟通的焦点所在。对于CMM的贯彻实施起着承上启下的作用。贯彻CMM不能奢望全体人员从一开始就一致拥护,但是项目经理的积极参与、并与各层面有效沟通,却是非常必要的,这在很大程度会增强企业整体推进CMM实施的动力。
CMM实施的内部驱动力主要来自于两方面:高层经理和项目经理。高层经理通过资源和政策驱动,项目经理以实际问题驱动。项目经理首先应该明白过程改进的意义,认识到过程改进工作正是为项目服务的,是使项目能够顺利进行的可靠保证。而不单单是被动地服从高层经理的安排和质量经理的规划,而且应该把这种认识通过正确的沟通方式,源源不断地传给项目层,并影响客户等其它层面。 从而使项目层成为推进CMM实施的动力。
CMM实施的过程是打破旧平衡,建立新平衡的过程,在这期间体系会相对混乱,对正在运行的项目会产生某些负面的影响。最直接的表现就是会带来额外的工作量,产生很多事务性管理工作,这样容易使相关人员产生抵触情绪。有效的沟通就显得愈发重要。项目经理应敏锐地发现项目进行过程中开发人员的这种苗头,及时地以正式沟通方式予以控制,并着重指出过程改进对项目、企业的益处,让成员看到希望,迫使其先坚持下去,最大程度地避免这种情绪的强化和蔓延。只要是真正的实施过程改进,项目组成员会在潜移默化中体会到CMM的益处。随着时间的推移,当看到项目质量不断地提升、工作状态日趋规范和稳定,开发人员逐渐会发自内心地支持这种过程改进。
对于项目的SQA(软件质量保证)和SCM(软件配置管理)人员来讲,需要增强配合意识,不断强化