项目管理案例讨论37

案例分析:变更控制

某大型信息系统工程项目(A 项目)由 H 公司(乙方)承建,工程双方签定的合同规定工期为 8个月。合同签定后 H 公司严格按照软件工程方法进行项目的需求调研(细化)、设计、编码、测试,并于工程正式开工前制订了详细的工程实施计划。

但工程的建设单位——甲方,由于欲在本年度评先进单位,想以信息工程项目建设的成果作为评选先进的筹码。于是在合同签定后 20 天内,甲向乙方提出赶工期的要求,要求将总工期由 8 个月压缩到 6 个月,同时砍掉合同中确定的部分功能点,增加部分功能点。

甲方在过去三年中与 H 公司签定过两个大合同,H 公司一向视甲方为公司的大客户,是公司主要的业务来源,因此 H 公司总经理认为不能轻易得罪甲方。H 公司同意了甲方压缩工期、变更部分需求范围的要求。

由于工期的压缩,乙方感到工期很紧张,于是,在没有全面完成高层设计工作的情况下,就匆忙开展详细设计工作,详细设计工作也没有基本成型的前提下,编码人员就开始了编码,即 H 公司实施工程项目的方案为:概要设计、详细设计、编码、单元测试并行进行。而且,由于工期的压缩,乙方软件工程师吃紧,不得不临时从社会招聘 4 位软件工程师补充项目组。

可即使乙方的人员加班加点地工作,问题还是出现了,由于临时变更部分需求范围,导致原先制定的系统建设方案被迫打破,而临时的变更又未进行深入的分析,导致在项目实施的过程中,频繁地出现需求变更,导致设计变更、编码变更,重复性工作和返工工程量陡然增大。

由于工期紧张,系统开发完成后,未经过充分的测试就匆忙投入运行,在系统投入运行的过程中,系统中隐藏的缺陷暴露出来,使甲方遭受了较大的经济损失。

甲方在公司内部的先进没有评上,还给公司造成重大的经济损失,于是,甲方认为损失都是由工程乙方项目管理不善所造成的,遂将乙方告上了法庭,要求乙方赔偿经济损失。

【问题 1】引起 A 项目变更的主要因素是什么?A 项目涉及了几种变更类型?变更是否合理?除了需求变更引起设计变更以外,还有哪些情况会引起设计变更?设计变更将导致什么不良后果?怎样避免设计变更?

【案例分析】
本题的考点在于由工期、范围的变更所引发的工程项目质量问题,由于质量问题所造成的损失的责任应当由谁承担。

很多信息系统工程项目都有定制软件开发,而定制软件开发常常是 IT 工程项目质量、成本、工期的关键所在,过去,定制软件开发的工程三大目标也是常常出现严重偏离计划的现象。如质量达不到要求,工期严重滞后,成本失控,这种现象与软件工程项目的特点是紧密相关的。软件开发是一种类似于科研的工程项目,其需求的不确定性、规模和工作量的不确定性、质量鉴定的不确定性、难易程度的不确定性、人员的不确定性等因素常常成为制约工程三大目标实现的障碍。在这些因素中,尤其以需求的不确定性所带来的影响为最严重。而需求的不确定性的关键就在于客户,客户往往对信息工程项目的建设的认识不够深入,几不够重视,也是导致需求频繁变更的重要因素。当然,客户的现状对于乙方来说是无力改变的,但乙方可以改变自己,派经验丰富的系统分析员负责需求调研和分析,控制好需求变更。

“客户总是正确的”,关键的问题是我们怎样去面对。客户是我们的衣食父母,客户的需求我们总是应当响应的,而且应积极响应。但我们采取不同的方法去处理客户的要求,就会收到不同的效果。有的方案能够使甲、乙双方之间实现双赢,而有的方案则会给其中一方带来损失,有的方案或使工程双方都受损失。

甲方是 H 公司的大客户,是主要的业务伙伴,因此 H 公司通常会加倍重视与甲方的关系,这样,就很可能导致 H 公司在处理与甲方之间工程矛盾问题的时候有所顾忌,从而束缚了手脚。尤其以技术人员担任的项目经理,在处理类似问题时常常经验不足。

在本案例中,甲方所提出的项目变更,隐藏着重大的项目风险,这点,H 公司一般都是能够意识到的,但关键的问题就在于 H 公司怎样面对这样的项目风险,采取什么方案来应对甲方所提出的要求。好的应对方案将使双方受益,否则,其中一方或双方都会受到损失。但甲方通常不能引导项目建设的方向,因此,对项目的引导就落在了乙方肩上。

在处理类似这种事件时,H 公司大可不必为了客户情面而该言不言,对项目中所存在的风险要与甲方之间达成一致的意见,并积极提出规避风险的方案,即使 H 公司要吃亏,也要把这种吃亏摆在明处,要让甲方了解乙方的困难。乙方只要有理有据,是可以为此向甲方提出索赔要求的。但关键的问题就是乙方要以合适的方式让甲方充分了解乙方索赔的理由是合理的。现在,很多 IT 企业项目管理工作做得不够好,索赔往往就不大可能成功。

实际上,甲方要求做出项目变更,他们也是了解其中的风险的,作为甲方的领导,他们大多数情况都希望乙方能够积极提出解决问题的方案,只要乙方所提出的方案能够实现甲方所希望达到的目的,其他问题都是可以协商解决的。作为乙方的项目经理,应当敏锐地窥测到甲方的意图,甲方希望得到什么,接受什么,舍弃什么。

【参考解答】
引起 A 项目变更的主要因素是甲方的想用 A 项目建设成果评选先进的主观愿望。两种变更:工期变更、范围(或需求)变更。

从合同的法律效力方面讲,H 公司可以不响应甲方的变更请求。但从合作伙伴角度讲,甲方、H 公司在协商的基础上同意变更也是可以的。其他引起设计变更的因素,主要是设计上所存在的缺陷,或对需求理解的缺陷均会导致设计变更,或政策因素制约,或 IT 新技术的出现等。

设计变更必然引起编码变更,引起测试方案、测试用例的变更,导致部分阶段成果、工期、成本损失,频繁的变更还会影响到软件的质量。严重情况将使软件质量、工期、成本失控。需求调研应当深入、详尽,需求定义文档应规范,需求定义文档应通过严格的审核再转入后续开发阶段。对变更要采取有效的控制措施,如合同措施、技术措施、管理措施等。

【问题 2】你认为甲方遭受的经济损失应当由谁承担,说明理由?

【案例分析】
一般来说,项目范围的变更会导致项目成本的变更,而项目工期的缩短,意味着将增加工程应急成本,甲方很可能人力资源不够,而如果为应急而从社会招聘熟练、经验丰富的工程师,必然大大增加乙方的项目开发成本。关于成本方面的变更,乙方可以和甲方协商,要求甲方支付应急成本,由于项目范围变更给乙方所带来的损失,也可以向甲方提出索赔。但过去很多 IT 企业无法做到合理地向甲方索赔,主要原因还在于 IT 企业自身的工程项目管理问题,由于自身管理不善,因此,大多找不到合理、有效的理由来进行索赔。

对于项目的变更,重大的变更,应当和客户签订补充合同,即使不能签订补充合同,也应当针对变更与客户之间有书面的确认文件作为依据。如果是风险太大的变更,那是非签订合同不可。变更合同,或签订补充合同的过程,其实也就是让甲方充分了解项目变更给乙方所造成的困难的最好方法之一。

项目的重大变更,通常还需要配合对项目进行重新论证,如果经过论证是合理的,而且甲、乙双方之间签订了补充合同,那么就代表乙方承认了合同变更后相应的权利义务。这样,如果所一出现的系统事故是由于软件系统质量所造成的,那么,乙方就应当承担相应的责任。如果项目的变更是由于甲方一意孤行,强压给乙方的,那么,甲方就应当为事故而承担责任。

【参考解答】
如果损失的产生是由甲方单方面的愿望、或强压乙方执行变更所直接造成的,那么损失应当由甲方承担。

如果工期、范围的变更经双方论证是能够实现的,并且补充签定或变更了合同,变更了项目合同金额,而乙方由于自乱阵脚,管理不善,从而给甲方造成了经济损失,那么,乙方应当承担损失。

【问题 3】如果你是本项目的乙方,你是否有合理的方案既满足甲方的要求,又保证项目的质量、成本、进度,使 H 公司, 甲方能够实现双赢?

【案例分析】
乙方不能因为工期紧张而忽略了软件质量的测试工作,即使由于乙方前期工作疏忽,而承揽下了一个烫手的山芋,乙方也应当把眼光放长远些,不要为眼前利益而使客户的利益受到损害,需知客户在后续工程项目建设中,倾向于选用具有良好信誉的承建单位。信誉良好的甲方在后续工程项目的建设中,也有弥补承建单位在前期项目中所蒙受的部分损失的情况。

如果乙方忽略了工程质量,那么受损失的不仅仅是甲方,乙方同样会受到损失。信息化工程项目一般都会约定一定期限的免费维护,工程质量缺陷会导致不良质量成本损失,表现在维护阶段的成本增加,“救火”成本增加,客户信誉丧失等。

【参考解答】
乙方应当积极配合,满足甲方评优的愿望。乙方应当积极与甲方沟通,寻求合适的解决办法,得到甲方的理解和认可。乙方可招聘经验丰富的工程师来组建项目小组,以提高工程实施进度、质量,但由此而增加的应急成本,可向甲方索赔。

乙方应与甲方充分协商,对项目的变更进行论证,采取合适的实施方案,并且通过协商变更或补充签定合同,变更项目合同金额。乙方不能因为工期紧张而忽略软件质量的测试,乙方可考虑在项目分解的基础上,一次规划、设计,选择部分功能模块提前实现,以满足甲方评优的愿望。