因为工作2年后,就再也没有遇到过项目延期的情况,因此此次仅提第一个接触到的延期的项目导致的原因及分析。
项目背景:基于公司产品进行二次开发的项目,合同总人天为470人天,3月份启动,9月30号验收。我接手时是7月初,之前跟的项目经理耗费了4个月,60余人天什么事情都没做,需求也仅和客户进行了简单的沟通,未形成需求文档,也没得到文字书面上的建议,但是有个融入平台版超级影响超级大的任务却悄悄启动了(PS:为后期留下隐患),且该项目经理也打算7月底跑人了。而我刚入职不到1个月的时间,对公司产品及业务脉络都还没能厘清。客户原本独立部署的,现在要迁移到新的平台版上面(公司领导一致推得的结果,这里也为后面延期埋下了一个隐患风险),合同中的人天都是对某些具体功能工时评估,并不涉及数据迁移及旧部署的功能迁移的人天评估(条款上面有很多割地求荣的赔款。)
项目实际里程:
需求阶段:7月初-9月中,共60多人天,期间包括了需求确认、系统熟悉、客户实际业务的了解、公司内部优先级的争取及资源的争取。拿到合同需求,根据实际情况分成了下述三种:改动大的需求,改动小的需求,无需做的需求(即:平台版本已经实现,不需要进行二次开发),然后分成多个阶段和干系人进行沟通,并以邮件进行确认。
PS:新人可以注意,优先确认简单的需求,确认后的,如果有开发资源就可以立马投入,没有开发资源也可以凭着确认好的需求,尽快的抢夺到必要的资源。同时因为业务数据决定后面的统计,因此报表类需求,无论简单与否,都最后确认!
开发+测试:7月下旬-10月底,约240人天,前后端(含ios、安卓)1、3、3这样的开发配置,平均0.5、1、1.5个测试这样的配置,公司大小周。所以我们并没有在客户要求内完成,而是超出了一个月的时间才完成合同中部分内容的开发。
数据迁移:6月底-10月底,88人天。合同中答应客户进行数据迁移,这部分的工作量是白给的。
验收部署:10月中-11月初,约15人天。
项目最终验收,延后了整整一个月,如果按人天计算的话,将近亏本的形式进行验收的。期间被客户投诉过两次,一次是刚接手的时候,因为项目经理换人,且前项目经理这么久了什么都没确认,客户投诉到领导上面了;第二次是验收前,和客户关于非常多的合同条款的真挚,双方理解差距过大,反正是又被投诉了。
也许你会很好奇,不是说只完成了部分合同中的功能吗?人天核算肯定不能根据合同的470人天进行计算的,为什么不是亏本了?
这也是本次非常想探讨的问题,即:导致项目延期的成因是什么?项目经理在其中可以扮演什么样的角色?项目验收的时候自己踩过的一些坑。
问题一:导致项目延期的原因是什么?
1.前项目经理未对项目负责,自然人日花费一半却还未开始,接手时间太晚。——此处其实是领导未关注的项目,流程未建立起来导致的,可以通过优化项目管理流程,每周的周报、每个月的月报,项目资源统计(即每周项目多少成员投入了多少人天)等方式了解项目进度。
2.前期不熟悉业务导致的。——主要是刚接触公司产品,脉络尚未了解清楚,产品又同时兼顾多线工作导致的,和产品间大小需求牵牵绊绊来回了3/4个自然月的时间才确定下来。
3.前期资源战争执了很长时间。——如果看过之前的内容,就会知道项目是公司的私生子,并不受公司领导关注,今年年会还说了以后不打算接新项目等丢失人心的话。前期项目资源拉锯战打了将近1个月的时间,期间的开发资源和测试资源是东拼西凑的,很多业务想关联的需求也是不同开发完成的,导致讲解需求时间长,至今公司领导对待项目的态度不做过多说明。
4.定制项目做到平台版的融合过程,非常长,且非常痛苦。——和第二点有关联的,理解上就是,客户:我明明只是改两个字,为什么整个页面都要重做? 为什么做到平台版上面需要耗费这么多人天?为什么只是界面上面...都要做这么久? 因为客户付费定制,但是需求却必须在不伤及平台基础骨架的情况下进行融合,导致和产品沟通确认时间非常长,功能消耗人天也特别久。
5.有两个很坑的东西,数据迁移、支付方式自定义配置(就是前面说的坑逼需求)。——前者是不在合同里面的,整理过数据的人都知道,要让两个系统的数据一致是多痛苦的事情,虽然是同套系统的两个版本,但是时间间隔了2年,很多关键的数据库表结构都改了,而且公司也没有专门的导入脚本和程序,为这个前后换了两个开发来处理。后者需求是客户的支付方式之前是枚举中增加了5个不同的值,但是牵扯的界面非常多,受2、4任务影响,而且负责的开发是一个新入职的员工,整个任务做了3个月的时间...上线后还一堆bug。
更多... ...
问题二:项目延期,项目经理究竟可以做些什么?——做正确的事和正确地做事,你是哪一种?
如果你职位比较低,没能拿捏事情怎样才更正确的情况下,我建议是正确的做事情,按照公司的流程规范来执行,如果没有相关的流程规范,请务必自己建立一套也好,和老大一起建立一套也罢,执行下去。
既然你职位比较高,资历也老,估计也不会看这篇烂鬼文章,建议就是做正确的事情。真正体现你价值的并不是按部就班得去执行公司规定的流程,而是想清楚客户需要的是什么,你应该提供些什么?
回归到我个人,我目前还只能尽自己所能正确地做事。因此以下建议也是基于此出发点个人的一些想法,也是你们最不喜欢听的。
1.按部就班得执行,周报、月报、项目变更说明,需求文档等等一系列的东西,一个都别落下,及时现在进度落后,该让干系人清楚的一点都别落下,积极配合也能让干系人迅速缓和紧急的气氛。
2.了解干系人的地位,没想到吧。
——如果干系人是甲方老大...,这种情况没遇到不做沟通;
——如果干系人是董事会中的一员或者公司的高层领导之一,恭喜你,情况不差,这种情况下他的目标是助理于这个项目的达成,否则他和老板也是没法沟通的,此时你可以尽可能罗列出延期的原因及项目的难点及你们做出的努力,调研材料的整理,业务的梳理优化,更合理的设计方案...这些都能帮助你和干系人摆脱此刻的困境,如果你都没有...,就立马准备一下。
——如果干系人是负责某个业务模块的中层领导,恭喜你,情况比较特别。举例如果是信息化项目的话,一般负责的有专门的信息化部门或者对应部门,这种情况下一般和业务部门 间是有直接的冲突的,需要搞清楚的是,你这个干系人究竟能做到什么地步。能不能和他的领导直接沟通,更甚至其实领导直接任命他监管此项目的进展。了解这一点有助于你更好的决策哦。
3.个人形象的建设
前一步是给外部营造你的个人形象,是好说话的?是非常专业一丝不苟的?是兼而有之的?...你的形象很重要,当然也可能决定还有没有二期、三期项目,客户对你的认可等...讲人情的中国,执行这个总归是好的。
举例说明:之前的项目经理给客户留下的印象是不负责的,也不专业,该有的东西都没有。那么此时此刻,你按照该走的流程走下去,对业务的熟悉了解,甚至提出意见及行业案例等,都能迅速让客户了解你的专业程度。当然也可能是尽力配合客户提供必需的资料,割让必要的公司利益都能让干系人迅速了解到你得配合。此次仅做建议,自己参考。
4.项目内部形象、人员能力、内部鼓舞。
同第三点,你个人的形象是怎样的,你的团队氛围是怎样的?团队成员的性格,工作效率什么的,你真的清楚吗?我用了2个月的时间逐渐熟悉平台开发们的工作效率的,对每个任务都要有自己的预估工时,开发提出自己的工时预估,开发耗时精细到工作日上的每一个小时,定期总结上述情况。时间拉长一点,因为我们公司开发做业务功能的情况下,可能需要对之前的代码进行优化,这里往往会导致出现偏差。
然后内部鼓舞...,自己慢慢琢磨,反正这一点我做得不好,就不献丑了。
其实大部分的项目都是赶出来的,按我对现在招标、投标方式的理解,如果你为了这份合同不惜割让很多东西的话,人天又有什么不能割让的吗?——皮一下,我很开心。
很多重点内容没有展开也没有谈到,后期有更多的感悟了,再陆续补充。
最后的最后,还是希望项目不要延期,前期抓紧一点,或者前期工期谈宽裕一点,也不至于如此这般。