产品:小皮,我这有个需求,我们对接一下,早点给我。
领导:小皮啊,最近公司有个新项目,很紧张,你来做一下。
主管:你对面的同事离职了,他的文案你负责一下吧。
相信很多人也和小皮一样,每天都处于类似的环境当中。就感觉一个接一个的项目,毫无休止。有时候真想躺在床上等死…
但是小皮还是得坚持下来,毕竟辛辛苦苦找到的工作,不能说没就没。
很多时候,各种项目的堆叠,让人喘不过来气。那么这些项目需要做多久?什么时候是个头呢?今天我们来聊一聊项目的生命周期。
生命周期
说到生命周期(life cycle),一般想到的就是——人的生命。从生下来躺着出来,慢慢的学会了走路,最后过个几十年再躺着没…
同样的,项目也有生命周期。项目的生命周期是指项目从启动到完成,开始到结束所经历的一系列阶段。它为项目管理提供了一个基本框架。不论项目涉及的具体工作是什么,这个基本框架都适用。
图1 项目生命周期通用结构
而项目阶段是为有效完成某些重要的可交付成果而在需要特别控制点将项目分界。阶段结束点是对项目进行重新评估,并在必要时变更或终止项目的一个当然时点。这些时点可称为阶段出口、里程碑、阶段关卡、决策关卡、时段关卡或关键决策点。
举个简单的栗子~我们从小到大,每个人都要上学。小学到初中其实就是一个阶段,初中到高中又是一个阶段,高中到大学还是一个阶段,大学步入到社会更是一个重要的阶段。每个阶段都要交付一些重要成果的,比如拿到了清华的录取通知书~进入了苹果公司当CEO~哈哈,开玩笑~类似这样的产出重大的结果,也就是所谓的可交付成果。每一个可交付成果的产出时间,就可以被称作为里程碑了。
像IT行业的软件开发,建筑行业的大楼,都有它的阶段和里程碑。比如软件的1.0版本完成,将要迭代2.0版本,大楼的设计完成,准备建造地基等等。
从图1中可以看出,完整的项目是需要有这么几个过程的,启动,也就是规划(包括分析可行性、利润等),准备,执行,监控,到最后收尾。其实也就是五大过程组的过程。不管怎么说,起码要知道提出的需求能不能可行吧!
生命周期类型
项目的生命周期类型可以分为预测型、适应型和混合型。
预测型
首先来说说预测型。预测型(完全计划驱动型),就是在生命周期的尽早时间,确定项目范围和交付此范围所需的时间和成本。预测型也称瀑布型生命周期,早期确定范围、进度、成本,对变更仔细管理。
图2 瀑布开发模型
通俗一点来说,每周都要去同一个电影院和女朋友看一场电影,早就知道了从家出发到电影院的时间,那么就可以以相对准确的时间出发去和女朋友看电影了。
适应型
了解了预测型生命周期,我们再来说一说适应型生命周期。适应型生命周期(变更驱动方法或敏捷方法)就是根据项目的变化,在项目的变更中进行适当的应对措施。
其中又分为三个类型:
- 敏捷性:为应对大量变更,获取相关方的持续参与。通常在每次迭代中都会执行多个过程。
- 迭代型:范围常于早期确定,时间、成本估算随着项目团队对产品的理解不断深入定期修改。
- 增量型:在预定的时间内渐进增加产品功能,只有在最后一次迭代之后,可交付成果具有必要和足够能力,被视为完整。
图3 螺旋(迭代)开发模型
其实看起来比较混乱,但主要的思想就是兵来将挡水来土掩。同样,和女朋友去看电影,这次女朋友要换一家电影院,但刚好你不认识这家电影院,也不知道去这家电影院的时间。为了应对,你只好提前3个小时出门。到了电影院的时候,发现离约定时间还有2个小时。这个时候,你急中生智,去了隔壁的理发馆做了个头发,去楼下的奶茶店买了两倍超好喝的奶茶,奶茶店的隔壁买了一束新鲜的花,这时候时间刚好,女朋友出现了。emmm…此处略去1万字。
我们通过一张图来理解迭代和增量的区别(蒙娜丽莎镇文,区别清晰明了~)
图4 迭代和增量开发区别
混合型
最后来说说混合型。其实混合型就是预测型生命周期和适应型生命周期的组合。充分了解或有确定需求的项目要素遵循预测型生命周期,仍在发展中的要素遵循适应型生命周期。
总结
下方图5展示了预测型和适应型(迭代型、增量型、敏捷型)的一些特点。应该强调的是,开发生命周期具有复杂性和多维性。特定项目的不同阶段往往采用不同的生命周期,正如古语所云——对症下药。
图5 项目生命周期的连续区间
所以,以后再遇到各种人让你做项目提需求的时候,虽然做的很痛苦,但是最起码心里痛的明白!时而摸个鱼也是可以的,哈哈~