近段时间由于一些不可控因素,内部项目计划连续多次延期,导致公司内部与客户等多方不满;对于项目计划延期,深受其害;
我们都知道,在产品研发过程中,每个产品线每个需求集,都是要列项目计划的;而且列项目计划的基本都是产品、研发组合;
既然是人排的项目计划,而且产品项目研发过程中,又有着太多不可控因素,那就避免不了会有延期的情况发生;
一旦延期,就会导致某个时间节点的需求上不去,导致一系列的后续问题,例如答应客户了某个功能没上去导致客户不满,答应销售某个亮点功能没上去导致某一批潜在客户流失,答应市场某个可大肆宣传的功能没上去导致宣传计划搁置等等;
我们在研发管理过程中,怎么样避免发生项目延期、需求上不去的情况,是每一个研发组都面临的问题;
那么怎么样排好一个项目计划,执行过程中某个模块延期了怎么办,我们就围绕这几个点来分解分解;如有说得不到之处,各位看官且拍砖;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1、我们来罗列一下项目计划是怎么排的;
1)、我们内部会有很多需求,有一些需求是产品正常迭代计划,有一些需求是答应了客户的某个时间点要上的,有一些需求是答应销售要在某个节点上去开阔潜在客户的,有一些需求是答应市场同学在某个节拿出一整天连贯的宣传运营方案的;
2)、这么多种种类型的需求,我们都会先由产品与客户一起排好优先级,然后跟技术研发一起,排整个需求的研发时间;
这个过程中,由产品提供需求详细描述,包括需求范围、定位、优先级及需求详细情况,然后由技术根据产品描述,评估出某个需求的具体研发时间与测试时间,再根据全盘时间节点,排开始研发时间、结束研发时间、上线测试时间、全量开放客户使用时间;
3)、产品研发一起排完时间,与客户、销售、市场运营人员等多方沟通,确认各个需求上线时间节点没有问题,然后产品与研发同学一起整理输出整个完整的项目计划,后续很长一段时间大家都按照该项目计划进行执行;
4)、整个计划流程看起来天衣无缝,实际上暗藏杀机暗藏诸多问题;下面继续分解;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2、我们平时项目研发过程中技术经常说的延期理由有哪些,或者说常见的延期情况有哪些;
1)、研发过程中某一天技术跟你说,需求在研发过程中发现跟初始产品的分解分析有较大出入,导致开始估值时间无法完成需求;
2)、研发过程中某一天技术跟你说,由于某个同学请假或者离开等不可控因素导致既定需求完成一部分,剩余部分另找他人研发对需求不熟悉导致无法暗示完成需求;
3)、研发过程中某一天技术跟你说,需求由于上游部门设计同学没有按期给到相关设计图也页面导致研发没有按时开工导致需求无法按时完成;
4)、需求研发过程中某一天技术跟你说,对于需求的时间估值估错了导致剩余的时间无法完成需求;
5)、需求上线当天技术跟你说,由于某个模块还有点问题,无法按时上线;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
3、针对项目延期的种种情况,我们总结一下,项目延期过程中可能出现的原因;
1)、由于产品对需求分解分析有出入,导致技术研发过程中出现问题,导致需求无法按时完成;
2)、由于研发资源流失,需求研发进度暂缓,导致需求无法按时完成;
3)、由于多部门沟通协作出问题,研发没有按时得到上游交付品,导致需求无法按时完成;
4)、由于研发部门对需求预估工期错误,导致需求无法按时完成;
5)、由于研发过程中技术原因某些问题无法及时得到解决,导致需求无法按时完成;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
4、鉴于以上种种原因与情况,我们怎么来排这个计划,怎么样来避免项目延期;
需求项目研发过程中,包括三个部分:产品需求分解、多部门协作沟通、技术研发测试上线等多个环节,我们要在每一个环节做好风险准备工作;
1)、在产品需求分解阶段;
a)、产品需要对需求进行完整的逻辑思考与分解,尽可能地思考全面,与多部门同事、客户多沟通,确保需求分解跟需求初始没有出入;
b)、产品在需求交付过程中,对每一个需求进行分割,即把每一个需求分为几个部分,核心部分(到了时间节点必须要上去)、次要核心部分(到了时间点,原则上要上,实在不行就不山去)、边缘部分(非核心部分,顺手就给做了,时间充裕就给上去);
c)、产品交付过程中,考虑到需求文档的阅读对象很有可能是技术领导,由技术领导理解之后,通过分配任务时口述的方式给具体执行同学描述需求,所以尽可能用一些可视化简单直接的逻辑图画出需求的逻辑情况与实现情况交付给技术研发;
2)、在多部门协作沟通阶段;
a)、需求交付设计部门时,需要与设计部门详细兑好项目计划时间,确保在产品、设计、技术资源有效期内完成设计交付工作;
b)、在技术开始研发之前,与设计部门及时保持沟通,确保提前及时掌握需求设计资源执行情况,确保技术在开始研发之前及时获取设计的交付产物;
c)、在排项目计划过程中,与研发技术详细勾兑需求情况,确保每个需求切割之后的多个部分的资源研发、测试工期时间,细化到责任人与人日,并且标明某个需求如果某个同学离开交由谁接手,及新同学接手的风险时间工期;同时,每个责任人都需要做到签字,确保每个人自己承诺的时间,以免到时候扯皮;
d)、同时针对技术给出的每个需求的切割子需求的预估时间基础之上,给技术同学扩充20%的扩展时间,以预防某个需求时间预估错误;
3)、在技术研发测试上线阶段;
1)、技术开始研究之前,再次与具体执行技术同学沟通需求情况,确保需求理解程度与续期分解情况保持一致;如果有出入,可以及时提出并解决;
2)、技术研发过程中,及时提前与研发沟通进度情况,随时掌握需求研发过程中碰到的问题与解决情况,确保研发阶段正常按时进行;如果过程中发现有某个问题比较棘手,可以及时找技术资源协助解决;如果需求是在解决不了,需要技术根据问题程度重新给一个时间,同时需要及时把延期情况同步给其他部门同事及客户,并说明什么原因导致,我们将会在一个新的时间节点上去这个需求;
3)、在研发过程中,如果提前发现某个需求,有部分由于技术原因无法按时完成,则按照需求交付时的核心原则,只把需求的核心部分上上去,在满足核心需求功能的情况下上去,其他部分后续再排时间研发;同时需要及时把需求延期情况同步给其他部门同事及客户,并说明我们上线的核心需求及其他需求延期什么原因导致,我们将会在一个新的时间节点上去其余部分需求;
4)、在测试阶段,需要及时与测试、技术紧密沟通测试情况,确保测试中出现的问题能够被及时解决,避免总是在需求上线最后一刻发现上不去;如果发现某个需求在最后一刻有某个问题短时间解决不了,那么可以按照需求交付时的核心原则,只把需求的核心部分上上去,在满足核心需求功能的情况下上去,其他部分问题后续再解决;如果无法解决的问题是核心需求部分,那么该需求只能做延期处理,需要技术根据问题程度重新给一个时间,同时需要及时把延期情况同步给其他部门同事及客户,并说明什么原因导致,我们将会在一个新的时间节点上去这个需求;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
5、其实在项目研发过程中,因为种种不可控因素,需求延期总是在所难免的;
很多时候,客户也好,其他部门也好,并不是不能忍受你需求延期,只是忍受不了你总是在需求上线最后一刻通知对方你要延期了;这种对需求上线的渴望与期盼,这种信息不对称不及时导致的忍耐上限,是我们一直在面临的巨大问题;
所以,我们在项目计划研发管理过程中,要做的就是,及时与各方保持信息同步,确保需求按时间按计划及时完结上线;
如果某些需求在研发过程中某个环节即发现可能有延期情况发生,或者是已经开始延期,需要及时把延期的信息同步给有关各方,让所有环节的同学都能及时获取项目进度情况,确保大家保持同一战线,不用忍受需求之后一刻无法上线带来的对各方的伤害;