(一)什么是敏捷型项目生命周期
谈及敏捷的思想和概念,确实当下的一个流量热词,尤其符合数字化转型趋势的期望,所以就火得“一塌糊涂”。我们先聊聊什么是“敏捷”,敏捷是一种通过创造变化和响应变化,在不确定或者混乱的环境中取得成功的能力。
如图3-5所示,敏捷型项目生命周期。
图3-5敏捷型项目生命周期
马丁稳了稳说,从以上来看,敏捷的本质是一种能力,可以是个人的能力,也可以是组织的能力。
我们先来了解下在敏捷思想的演化过程。20世纪50年代美国国防部(DOD)和美国航空航天局(NASA)就开始采用一种迭代式的增量开发方法(IID)。1986年Tankeuchi和Nonaka发表白皮书《The New New Product Development Game》就描述了Scrum方法。1991年,James Martin在著作《快速应用开发》中描述的RAD(快速应用开发)方法,其中是第一种把时间盒和快速开发过程结合在一起,书中详细介绍了时间盒。1999年,在Martin Fowler 的著作《Refactoring: Improving the Design of Existing Code》中,首次对敏捷开发中的“重构”实践进行了系统化阐述。而《敏捷宣言》和十二原则的故事,从2001年2月至今已经非常普及了。
2018年3月,CMMI2.0的推出,其明确提出对敏捷的支持。
2021年7月,《项目管理知识体系指南》(PMBOK第七版)发布,新版本中主要增加了价值交付和敏捷相关内容。相对之前的版本,这次完全是一场革新与颠覆,打破了唯项目管理讲项目管理,纳入了许多通用管理学、管理心理学、产品设计理论的知识和理念。
相对传统的预测型瀑布模式来说,“敏捷”的思想是应对VUCA时代不确定性的一个选择。
敏捷型项目生命周期(以下简称“敏捷型”)往往具有“迭代+增量”的项目特点,通过滚动规划的方式应对复杂项目,以及项目目标和范围还存在不断变化的情况。同时,需要我们调动相关干系人的充分参与,经过与我们团队的深度互动,实现满足市场和用户的需求。
总的来说,敏捷型的优点是能保证更快的交付价值,在追求更好的质量的同时保持了可控的、更低的风险,并强调拥抱变化,通过持续改进来达到更高的客户满意度,在保持更大的灵活性的同时让团队有充分的自治环境。
(二)敏捷型项目生命周期适用范围
敏捷型是适应型项目生命周期的典型代表,其特点是:应对大量变更、以持续交付的方式来快速调整和响应,并获取干系人的持续参与。
与迭代和增量生命周期的不同是,敏捷型生命周期迭代很快、所需的时间和资源固定。采用适应型生命周期的项目特点是,项目需求和范围难以实现、难以确定,项目过程中会有大量来自干系人的变更请求,最终的产品、服务或成果将经历多次较小增量改进最终满足要求。例如,看重客户体验和感受的产品开发项目。
说到这儿,马丁站了起来。“其实敏捷型比较典型的,就是我们耳熟能详的大厂们。他们的产品都是用敏捷型,一边研究市场变化、一边了解用户需求、一边持续规划。看着产品一点一点得到更多人的喜爱,通过每个迭代发布一些新增的功能,结合一些发布技术,可以做到迅速而敏捷的验证效果,得到市场的正向反馈,进而决定是否继续需求还是进行快速的变化。这些都是敏捷型的典型特点。”
(三)敏捷型项目生命周期的痛点
不过,在描绘敏捷型即将成为“银弹”时,我们再来谈谈迄今为止发现的痛点:
(1)因为响应变化和极大的灵活性,所以很难准确规划资源。
(2)强调干系人、团队充分沟通的同时,也很容易忽视必要的文档,造成项目结束后只能通过运行的产品来了解全部的需求。
(3)在应对不确定性的同时,很难预测最终的结果,尤其遇到大型复杂的产品时,重构的压力很大,极易造成“技术债”堆积如山的窘境。
(4)对于敏捷型的效能度量,是个难题。因为“边走边看”的特性和迭代增量的交付模式,需要跨几个周期的持续跟踪,才能计算初始的效能,再经历几个周期的回顾后,才能形成有效的效能度量。
听完马丁的讲解,大家都一致认同:感觉敏捷型就是我们想要的。马丁略微神秘地微笑一下,看来大家是都掌握了这四种项目生命周期,为了明确到底哪一种才是适合我们的,接下来就揭开谜底,看看如何选择项目生命周期。