作者简介:孙丽晶,腾讯企业发展事业群(CDG)产品经理。
目前,在互联网行业,敏捷项目管理方法比较流行,那么为什么人们更喜欢敏捷项目管理呢? 敏捷项目管理与传统项目管理有哪些区别和特点? 我想从价值理念、流程框架、实践方法三个角度阐述我的观点:
1、价值理念
首先,传统项目管理VS敏捷项目管理,我认为传达的价值理念不同,这也是核心点。 看上图,大家都知道项目管理的三要素:时间、范围、成本。 下面我们就根据这三个要素来谈谈两种项目管理方法的区别。
传统的项目管理是首先确定产品的范围,即先确定需求和功能; 然后评估这些需求需要多少时间,需要多少人力来协调,然后制定各种计划,比如调度计划、沟通计划、人力分配计划、风险计划等,然后按照既定的流程进行计划是典型的计划驱动型。 因为只有这样才能预估进度和成本,控制风险。 敏捷项目管理首先确定成本和时间。 例如,如果一个团队只有10个人,迭代周期为两周,那么我们应该首先构建哪些有价值的需求和功能? 所以它们的本质区别在于,传统项目管理是计划驱动的,而敏捷项目管理是价值驱动的。
在互联网环境下,市场环境的不确定性很大,所以很多业务一开始就很难确定需求范围,或者前期确定了,后期也会不断变化。 传统项目管理的价值理念是需求范围必须确定且最好不变,这不适合互联网公司的业务环境软件项目管理与敏捷方法,因此敏捷应用更为广泛。
2、研发模式
传统的项目管理通常采用瀑布式研发模式。 瀑布模型是最典型的预测方法。 预测方法是什么? 就是说在做之前要制定严格的分析计划,严格按照预先计划好的需求分析、设计、编码、集成、测试、维护的步骤依次进行。 为了避免后期执行过程中出现太多的风险和偏差,前期会花费大量的时间来准备各种繁重的文件,并且会有非常严格的审核流程。 通过预测方法确保良好的研发流程。 这样的研发模式是不接受改变的,因为改变的成本会很高。
敏捷项目管理通常采用迭代研发模式。 经过初步分析,产品是小批量开发的。 小布开始快速运行,然后实现一小部分功能并找到用户验证反馈,一步一步完善产品方案,最后交付完成的产品。 迭代研发模式的优点在于,它始终围绕用户不断变化的需求进行适应和调整,确保最终的交互是用户满意的结果。
通常这两种研发模式中,第一种通常保证“好的过程”,而第二种通常保证“好的结果”,而“好的过程”并不一定等于“好的结果”,所以尽量选择一个研究和取得良好成果的发展模式。
3、实用方法
以上是项目管理历史上一直使用的项目管理方法。 绿色部分是传统项目管理中实用的方法,如瀑布式、PMBOK、RUP等; 黄色部分是业界比较流行的敏捷方法,比如XP、scrum、看板等。
XP:极限编程,XP偏于工程实践和方法,缺乏项目管理的指导方法。 但它提到了结对编程和持续集成等很好的实用方法。 持续集成的核心是快速试错,提前发现问题,而不是集成之后才发现问题。
Scurm:提供了一套基于团队运作的敏捷方法。 Scrum引入了“积压”、优先级、定期迭代会议等; scrum的优点是简单易用软件项目管理与敏捷方法,所以很多互联网团队都在参考和实践。
看板:最初是应用于制造业的一种方法,后来通过敏捷相关管理进行改进,变成了故事板。 看板可以使现有管理可视化、透明化,有利于管理工作的有效推进。
从以上实践方法来看,传统的项目管理方法更像计划经济体制,更注重计划和过程控制的实践; 而敏捷管理方法则更像市场经济体系,更多的是适应环境、小步走。 跑得快,练习灵活多变的方法。