每个项目管理理论都会提到项目生命周期的概念。其实生命周期很好理解,就是一个项目从生到死的全过程。在这个过程中,通常有几个重要的节点需要我们特别注意。比如我们的人生也是一个生命周期,包括出生、上学、高考、工作、结婚、生育、退休、养老、终止。这些可以看作是我们生活中的一系列重要节点。生命周期一般是形容这样一个从无到有的循环。
当然生命只有一次,但是项目会不断的开始和结束,这样每个项目都会有一个生命周期的循环。而敏捷轮回会更快,这一点我们很快就会学会。但在此之前,我们仍然需要了解传统的项目开发生命周期是什么样的。
#传统瀑布项目开发
在上一篇文章中,我们已经说过传统的开发方法是瀑布开发方法。其实不需要详细解释。只要记住一件事,下图中的顺序一定是固定的,上一阶段完成后才能进行下一阶段。
就像我们传统的PMP一样
模式,所有的步骤都有输入、输出和处理过程,并且每个过程都涉及其他过程。在整个项目的开发过程中,从启动、规划,到实施、监控、收尾。这是一个完整的过程,实际上与软件开发中的瀑布模型非常相似和对应。
然而,敏捷并不十分推崇这种模式。或者,敏捷更喜欢以下两种模式。
#迭代开发生命周期
听说过敏捷的学生一定听说过迭代。有人说我们必须迭代一个版本,有人说我们必须在这个迭代周期完成一些事情。无论是指特定的软件版本还是一段时间,这两个词的意思其实是一样的,就是在整个项目开发过程中划分出来的小时间段。这个时间段是一个迭代。通过反复迭代,让整个项目更加清晰。迭代概念最著名的例子就是这张图。
从这张图片我们能看到什么?迭代是不断丰富细节的过程。每一次迭代,都要让这个项目更加清晰明了,一步一步完善细节。
#增量开发生命周期
迭代开发过程结束后,我们再来说说增量、迭代和增量,这是所有敏捷教程都会讲的东西,因为这两个东西很容易被很多人混淆。增量实际上是不断增加待启动项目产品的模块功能。将不同的模板组合成一个完整的产品,就像积木一样。同样,也有专门针对增量概念的图片。
看到增量和迭代的区别了吗?当你迭代的时候,你就有了一个大纲,并且不断地改进细节。增量,没有整体轮廓,是一个细节完整的零件,一个零件一个零件地不断完成,最终形成一个完整的产品。
补充:迭代图和增量图同时对应Web。
应用程序中有两种图片显示形式。不知道大家有没有印象。网速不好的时候,有的网站一张一张地开大图,有的网站开大图只能先模糊再一步一步搞清楚。感兴趣的同学可以搜索一下。
在PhotoShop中导出WEB格式时选择连续函数的功能。
#混合开发生命周期
把上面的迭代和增量结合起来,即一次迭代同时包含增量,这种形式就是混合生命周期。在这种情况下,我们可以很好地利用这两种发展形式的优势。事实上,目前我们大多数公司的迭代冲刺就是这种混合生命周期的开发形式。在每次迭代中,我们添加的新功能模块实际上是在为整个项目的轮廓添加完美的细节。
但是需要注意的是,无论是考试还是面试,你都应该能够清楚的说明迭代和增量的区别。另外,在混合的时候,每次迭代也可以看作是一个传统的开发过程。简而言之,混合就是各种混合,互相吸收优点。
#摘要
今天的学习主要集中在了解几个项目的生命周期,这也是这些项目最常用的开发方法。说实话,除了一些非常传统的外包企业,很少有完全传统的瀑布开发。但是真正完整的敏捷开发也需要很多条件,所以可以说大部分企业都是混合开发。既有传统的开发形式,也有迭代增量的体现。因此,在工作过程中,我们也需要结合业务公司的实际情况来选择最适合自己的方法。
参考文件:
《某培训机构教材》
《用户故事与敏捷方法》
《高效通过PMI-ACP考试(第2版)》
《敏捷项目管理与PMI-ACP应试指南》