办公室的空调温度调得很低,但此时张力却清楚感到额上直冒汗,汗珠正往下滴,
该出手时就出手 3招拯救半路项目
。张力陷入了沉思,到底“接不接这个半路的烂摊子项目”?在软件项目开发里,半路接手烂摊子项目的事情时有发生,这种事情一般让接手人谈虎色变。接手吧,这项目搞好了,也没什么大功劳,因为公司已经花费很多的资源和人力,搞砸了则肯定要挨批评。张力今天刚出差回到公司,老板就通知他要参加一个非常重要的会议。在会议上老板说公司近期有一个非常重要的项目,项目合同在前几个月已经签定, 客户对项目非常重视。随着项目开发的深入,问题逐步开始暴露。经过半年时间反反复复的开发,项目不但没有顺利的预期完成,反而连团队成员都对项目失去信心,原项目经理受不住打击辞职走人,项目最终沦为一个烂摊子。
老板表示,目前项目一半的功能已经开发完成,单元测试和集成测试也已经完成。因为用户新提出需求,所以尚有少部分模块需要进行重新开发。公司希望再委派强力的项目经理,把这个关系到公司重大利益的项目做好。老板说完后就直接盯住张力。张力的头皮感到一阵阵的发麻,果然这个破项目要落在自己头上了。
接任项目后张力发现自己想得太简单了。实际情况是,与该项目有关的信息一概不全,项目计划严重滞后,项目进度报告缺乏,哪些工作正在进行,哪些工作还没有开始都乱得一塌糊涂。经过几个晚上的痛苦思考,张力认为该项目犹如一个患者,得了病就需要先控制病情不再恶化;然后,再分析项目瓶颈及问题范围,处理好遗留问题;最后,重整团队上路才能继续完成项目。
控制病情,止住项目恶化
如何控制局面,让项目不再恶化?张力决定从以下方面着手。
(1)重览合同,了解项目需求
在接手项目后,张力听到最多的抱怨是,客户经常在开发到一半的时候提出需求变更,从而造成项目延误。张力听后心中了然,决定先了解整个项目的合同内容,把整个项目的范围和最终交付物列出来。
后来证明,这个举动有两个很重要的作用:①让张力清楚而全面地了解到项目的交付物和时间线。简单地说,就是从合同中把整个开发范围的项目阶段、步骤、活动、工作等指导方向整理出来。②是明确甲、乙双方的责任。实际上,搞好客户关系是项目的稳定剂,搞不好就是失败的催化剂。从合同中把双方的责任理清,分辨哪些工作是应该完成的,哪些工作是客户自己处理的,这样便有了一个初步、但十分清晰和客观的视野。对于合约没有明确的细节,双方可进行继续确认,或从合同中挑出客户不合理的变更需求,与对方补签合同。因此,通过重新审视合同,可以让新任项目经理有一个全面的项目视野,以便开展后续工作。
(2)重新明确客户需求
接手项目后,张力认为前任项目经理有一点可能忽视掉了,就是项目需求。作为项目经理应时刻清楚地知道项目需求,以此定义项目的范围、内容,然后制定出有实际操作意义的实施步骤和计划。在一个开发项目中,必须明白哪些需求是必须实现的,哪些是可有可无的,哪些其实是不包括在项目中的。
很多项目搁浅是因为需求的不确定性和复杂度。客户需求不能一味地满足,不合理和不明确的要和客户逐条分析过滤,重新调整需求及优先级等。不合理的需求要分析给客户听,让客户知道并非开发的原因导致延期。还应和客户沟通,争取将在原周期内无法实现或客户正在提出的新需求放在二期项目中,让双方随时了解目前的状况。
(3)清楚公司底线和老板支持
在软件开发中,很多时候都会碰到失败或半失败的项目,中途上位的接替者会承担很多风险。因此,要清楚知道公司的底线或公司的倾向做法。比如:不论牺牲多大,也要完成这个项目;或是公司在这个项目上能忍受多大的损失。这些都和项目二次启动有密切相关,至少要保证直接上司的肯定支持。
确立目标,分析失利原因
所有的新任者都要处理前任遗留的问题,两个不同的人思路不可能完全一致,因此,半路接手项目首先要做的就是从头开始,深入了解这个项目的目标,分析项目瓶颈及问题范围。
(1)重新明确项目目标
重启暂停的项目,重新明确项目目标十分重要,是必不可少的工作。重新明确目标不是要推倒重来,否定前面所有的工作目标。一般来说,暂停前的开发已有很多工作目标已经完成。当张力召集项目成员来共同理清原项目目标时,就暴露出不少问题。例如,合同中并没有把细节和合同范围以外的事情明确地表示出来,造成前任项目经理所设立的项目目标是不明确和不具体的。所以,当讨论到项目步骤、活动、工作和责任时,项目实际进度偏离目标分歧越来越严重。
(2)分析项目失利的主要因素是什么
不论哪种情况,暂停或半暂停的项目都肯定存在许多问题,所以新任项目经理都需要分析目前项目失败的主要因素是什么,
管理资料
《该出手时就出手 3招拯救半路项目》(http://meiwen.anslib.com)。犯了错误不可怕,可怕的是继续犯同样的错误。如果把所有遗留的问题都理解为前任能力不足也是不能根本解决问题的,前任做不好的事情或者解决不了的问题,换了项目经理,也未必能行。所以,首先要了解前任的症结所在,是个人能力有缺陷,还是技术原因,或是其它问题。要汲取教训,避免同样的失误。如果不顾客观原因,大刀阔斧式的强硬态度推行新做法,必将会适得其反。处理遗留,方能轻装上阵
一味的抱怨和指责,并不能解决问题。只有较好地处理好前任遗留问题,才可以轻装上阵。如果急于做出成绩,匆忙处理遗留问题,只会埋下更多的定时炸弹。
(1)不要轻易否定前任团队的工作
当接力棒交到新任项目经理手中,首先要面对的是前任团队的工作成绩问题。这时,对团队原成员的工作要适当给予肯定,调动起原成员的工作动力和信心,以后的工作才会顺利。对待前团队的态度如果处理不得当,会造成项目重新启动的阻碍。
中途接管一支已成立的团队是一项很具考验性的事情。对原团队老是批评与挑剔,会像一朵看不见的乌云压在原成员的心里,成为毒瘤一样的隐患。让重启的项目有一个牢固、可靠的基础,建立相互信任的机制,避免推卸责任的情况发生,是新任必须面对的事情。因此,如何处理好对前团队的态度是新项目经理的一个考验。
(2)不要被原方案所束缚
接手未完成的项目,本来就有一定的风险。但是,既然接手就要对整个项目仔细分析,找出其中有用的东西。同时,要对原方案的做法进行改进和调整。做必要的调整时不能被原有的方案所束缚,否则将陷入已有的烂摊子旧路上来,这样必定会再次失败。
重组团队,关注激励士气
(1)项目成员人心涣散
在还没有理清原项目错综复杂的关系时,张力又发现项目团队一个明显的特点:成员人心涣散。因为原来项目管理上存在一定的问题,使到人员进出频繁,队伍不稳定,项目开发团队成为“流水的兵”。因此,项目组成员人心涣散也就成为原来项目最为头痛的问题。
例如,原项目经理由于无法真正地主导项目,使到某些具备较强技能和经验的核心成员缺乏积极主动的态度,也缺乏强烈的责任感。张力发现,大家都处于等待的状态,都希望是别人做事情,各方都不主动去协调和催促对方,结果大家都在等待中无谓地消耗掉宝贵的时间。
(2)重组项目团队,提升团队士气
因此,张力在重组项目团队时,第一步就是明确各实施成员的工作职责,建立起各相关人员的联络通道。如果项目团队士气低落,项目经理上任伊始应要花较多的精力去了解各团队成员的作用,哪些成员是对项目是有利的,哪些成员是“鸡肋”。同时,项目组老成员可能处于疲惫状态,要注意人员流失,最好能主动缓解项目原成员的压力。
在重新成立的团队,应考虑项目原有的人员配置是否合理,必要时应注入新的力量,以提高团队的活力。还有,当一位项目经理中途加入已经成立的团队时,戒心和怀疑会与希望和兴趣共存,这个时候千万不要一味抱怨接“烂摊子”,要展现信赖,促进新团队团结,让新老成员都觉得对他们有信心。
(3)项目不能仅依赖个体,应建立奖罚制度
对现状了解透彻后,在重新规划团队时张力认为最重要的一点是,项目开发团队不能仅仅依赖某个个体,即便个体重要如项目经理,发挥团队的力量才是根本所在。一个成功的开发团队,不会完全依赖项目中的个体。张力认为应该通过各种渠道和方式建立团队奖罚制度,例如可以在精神和物质方面奖励,进一步提升项目各成员在整个项目中的作用。
项目保证,其它有用技巧
为了保证完成这个半路的烂摊子项目,张力认为还需要注意以下几点技巧:
(1)加强与各方面的沟通
对项目新老团队成员要进行融合,应做到多种形式的汇报、建议和反馈,对客户也要及时沟通,不仅仅是需求上的把握和理解,还要进行项目管理方法的沟通,为项目的顺利完工创造条件。因为沟通畅顺的话,即使延期也会得到客户、上级领导和团队成员的理解。
(2)保护自己,规范项目记录
项目是复杂的,软件开发项目更为复杂。没有完善的文档记录,后续工作根本没法高效的继续。除了让客户和老板投入项目中,项目经理更需要严谨记录及执行需求变动、风险评估及应变方法、资源及进度管理。即使在项目完成后,项目不如意,还有足够的记录和证据让客户和老板理解项目的延误“错不在你”。
避免这种情况的解决之道很简单:建立项目记录。建立项目记录不但是为了方便管理项目,也是为所有项目涉及人员能够有一份清楚的参照物并监督项目的进行情况。同时,这份项目记录也是整个项目中最重要的一环。
(3)加强对项目里程碑的审核和控制
在项目的每个关键点设立里程碑,对前一阶段的工作进行严格的审核和评审,保证这一阶段的问题不会被传递到下一阶段,通过对里程碑的审核和控制来保证项目质量和项目进度。