[IT168 专稿]
办公室的空调温度调得很低,但此时张力却清楚感到额上直冒汗,汗珠正往下滴。张力陷入了沉思,到底“接不接这个半路的烂摊子项目”?在软件项目开发里,半路接手烂摊子项目的事情时有发生,这种事情一般让接手人谈虎色变。接手吧,这项目搞好了,也没什么大功劳,因为公司已经花费很多的资源和人力,搞砸了则肯定要挨批评。
张力今天刚出差回到公司,老板就通知他要参加一个非常重要的会议。在会议上老板说公司近期有一个非常重要的项目,项目合同在前几个月已经签定, 客户对项目非常重视。随着项目开发的深入,问题逐步开始暴露。经过半年时间反反复复的开发,项目不但没有顺利的预期完成,反而连团队成员都对项目失去信心,原项目经理受不住打击辞职走人,项目最终沦为一个烂摊子。
老板表示,目前项目一半的功能已经开发完成,单元测试和集成测试也已经完成。因为用户新提出需求,所以尚有少部分模块需要进行重新开发。公司希望再委派强力的项目经理,把这个关系到公司重大利益的项目做好。老板说完后就直接盯住张力。张力的头皮感到一阵阵的发麻,果然这个破项目要落在自己头上了。
接任项目后张力发现自己想得太简单了。实际情况是,与该项目有关的信息一概不全,项目计划严重滞后,项目进度报告缺乏,哪些工作正在进行,哪些工作还没有开始都乱得一塌糊涂。经过几个晚上的痛苦思考,张力认为该项目犹如一个患者,得了病就需要先控制病情不再恶化;然后,再分析项目瓶颈及问题范围,处理好遗留问题;最后,重整团队上路才能继续完成项目。
控制病情,止住项目恶化
如何控制局面,让项目不再恶化?张力决定从以下方面着手。
(1)重览合同,了解项目需求
在接手项目后,张力听到最多的抱怨是,客户经常在开发到一半的时候提出需求变更,从而造成项目延误。张力听后心中了然,决定先了解整个项目的合同内容,把整个项目的范围和最终交付物列出来。
后来证明,这个举动有两个很重要的作用:①让张力清楚而全面地了解到项目的交付物和时间线。简单地说,就是从合同中把整个开发范围的项目阶段、步骤、活动、工作等指导方向整理出来。②是明确甲、乙双方的责任。实际上,搞好客户关系是项目的稳定剂,搞不好就是失败的催化剂。从合同中把双方的责任理清,分辨哪些工作是应该完成的,哪些工作是客户自己处理的,这样便有了一个初步、但十分清晰和客观的视野。对于合约没有明确的细节,双方可进行继续确认,或从合同中挑出客户不合理的变更需求,与对方补签合同。因此,通过重新审视合同,可以让新任项目经理有一个全面的项目视野,以便开展后续工作。
(2)重新明确客户需求
接手项目后,张力认为前任项目经理有一点可能忽视掉了,就是项目需求。作为项目经理应时刻清楚地知道项目需求,以此定义项目的范围、内容,然后制定出有实际操作意义的实施步骤和计划。在一个开发项目中,必须明白哪些需求是必须实现的,哪些是可有可无的,哪些其实是不包括在项目中的。
很多项目搁浅是因为需求的不确定性和复杂度。客户需求不能一味地满足,不合理和不明确的要和客户逐条分析过滤,重新调整需求及优先级等。不合理的需求要分析给客户听,让客户知道并非开发的原因导致延期。还应和客户沟通,争取将在原周期内无法实现或客户正在提出的新需求放在二期项目中,让双方随时了解目前的状况。
(3)清楚公司底线和老板支持
在软件开发中,很多时候都会碰到失败或半失败的项目,中途上位的接替者会承担很多风险。因此,要清楚知道公司的底线或公司的倾向做法。比如:不论牺牲多大,也要完成这个项目;或是公司在这个项目上能忍受多大的损失。这些都和项目二次启动有密切相关,至少要保证直接上司的肯定支持。