产品的需求管理是产品经理所担当的责任之一,通过需求的管理能够良好的支持项目经理安排任务以及确保产品的交付进度。关键路径法在需求管理中就是一个很有效的工具。 关键路径法 该方法主要目的是找出在执行过程中的"关键节点",严格控制进度,同时通过计算float浮时以决定哪些活动具有最低的交付日程弹性(通俗点:延迟时间)。(希望不清楚如何使用的小伙伴们重点详细阅读"案例"章节。) 案例 我们在实际工作中着手进行一个新的产品开发的时候,经常会面对复杂的业务关系,当产品经理将整个产品的需求拆分后,会发现需求与需求之间的关系错综复杂,有的互相影响,有的需求依赖于前置需求的完成。举个最最简单的例子,一个在线2C电商平台,经常会有"购物车"和"工具栏"的需求,很明显,只有购物车的需求开发完成的前提下,才能着手进行开发工具栏需求,此时工具栏的前置需求就是"购物车"。 举一个实际工作案例给小白们讲解下,在实际产品开发中,当拆分完需求、估算完需求工时后(如下图所示)PM就将面临着如何制定以下需求的交付计划: 哪些需求可以有弹性的完成时间(允许合理时间内延迟)? 延迟时间又是多少? 完成整个平台最晚需要多长时间呢? 最早完成的交付时间又是多少? 需求的优先级如何排列等等 这些都是PM需要考虑的,一句话要用科学的分析给出结论,而目前依然有很多团队的PM在制定需求计划的时候是拍脑袋而定,或者后期团队就盲目的采用追加人力的方式解决问题。而关键路径工具可以解决以上问题。 需求示例列表:第一列为需求名称,第三列为需求的完成工时 (1)根据上面的需求列表,首先希望小伙伴根据前置需求的关系,画出需求网络图。 如下所示,标记上需求的名称和该需求的估算工时。 (2)其次以独立需求(无前置需求)开始进行顺向评估。 最早开始时间=前置需求完成时间,标记在需求左上角; 最早完成时间=需求工时+前置完成时间,标记在右上角。如下所示: 可以看出整个产品中需求J最早完成时间为194,是整个需求中工时最大的。换句话说也就是平台完成的最早时间为194,故关键路径为A-F-G-D-J。在项目开发过程中,要着重关注关键路上的需求进度。 (3)确定产品的关键路径后,我们在以反向的视角检视需求网络图,由没有后续需求的所有需求开始进行评估。 需求最晚完成时间=项目最早能完成的工时=后置需求最晚开始时间(标记在需求右下); 最晚开始时间=最晚完成时间-需求估算工时。(标记在需求左下)。 示例(重点),上图中没有后续需求的有E、H、J。这三个需求最早完成的时间为170、177、194.可以推导出E、H、J最晚完成的时间为194.(因为整个项目最早完成时间为194)。E、H、J最晚开始时间分别等于最晚完成时间-所需要的工时,以此类推直到所有需求评估完毕位置。详见下图:(注意点:需求E、H、J的前置需求都是需求D,需求D完成的最晚时间被关键路径上的需求J所决定,故需求D最晚完成时间为需求J的最早开始时间)。 从上图可知,关键路径的特点是一组无buffer时间的需求组成。整个产品开发过程中可能有多条关键路径,但至少存在一条。 (4)浮时:指的是某个需求最早开始时间在不影响整个产品交付的前提下,可以延迟的时间。 也就是说浮时 Total Float=最晚开始时间-最早开始时间=最晚完成时间-最早完成时间。 如下所示: 示例:需求B的浮时=95-90=5 ,可以延迟五个工时。 产品经理依据以上四步使用关键路径工具就可以产品开发中清晰的了解整个产品的关键节点,有助于分配资源,保证产品优质按时交付。有效的解决了案例中的PM需要解决的问题。希望大家不妨在各自的团队中尝试使用下,如果有其他的问题,还希望能与大家一起研究讨论。