前文介绍了,哪些类型的项目更适合采用瀑布型开发方法(点击可查看熊玥老师文章合集),本文接下去继续介绍。
按照PMBOK第七版的说法,“适应型”是一种创建可交付物的方法,允许不确定或变化的需求。“迭代”是项目中团队执行工作的一个简短的固定时间间隔,在Scrum中被称之为“冲刺”,迭代是有时间盒的。
我们先介绍适应型中的“迭代开发方法”,按照PMBOK第七版的定义,迭代开发方法是一种适应型的开发方法,从交付简单的东西开始,然后根据输入和反馈进行调整。当人们对期望的结果仅有高层级的理解,但没有定义实现该结果的最佳方法时,便会使用迭代开发方法。项目团队使用一系列迭代来明确交付结果的最佳方法。从上图中可知,每次迭代都为下一次迭代提供了信息。迭代的次数取决于反馈和决策者何时同意最终迭代能够满足项目的目标。迭代开发方法可以与敏捷开发方法结合使用,尤其适用于软件开发。除了可以用于软件开发,迭代开发方法还有许多其他用途。可以使用迭代开发方法的项目类型包括:按照PMBOK第七版上的定义,“增量开发方法”是一种适应型开发方法,从简单的可交付物开始,然后逐渐增加特效和功能。而“最小可行产品”是指首次发布的产品,包含最少数量的特性或功能。增量开发方法本质上讲也是适应型的。当最终产品可以分解为更小的组件,并且可以增量部署可交付物时,就会使用增量开发方法。每个增量都从以前的部署中学习,添加或改进可交付物的特性和功能。增量开发方法可能从一个想法开始,然后构建这个想法的一个基本版本并发布出来。产品发布以后,团队会收集反馈,比如人们如何使用产品,哪些功能用得最多,哪些功能不用,以及请求支持的数量。这些反馈会在下一个增量中解决。根据产品的不同,团队可能会添加新的组件或升级软件。请注意,使用增量开发方法,团队发布的产品的每一个增量都是完整的。他们不必等到整个产品完成或集成后才发布。这使得团队能够快速学习并根据干系人的反馈更新题目的计划。上图展示了增量开发方法的一个通用例子。这个例子展示了四个增量,每个增量都将增加更多的功能。增量开发方法经常与敏捷开发方法一起用于软件开发,尽管这并不是增量开发方法的唯一用途。可以使用增量开发方法的项目类型包括:
许多人很容易混淆“敏捷开发方法”和“适应型开发方法”。按照PMBOK第七版对于“敏捷”的定义,遵循《敏捷宣言》中确立的4个价值观和12项原则,以适应型方式交付价值。敏捷是一种基于价值观和原则的思维方式。有几个框架或方法融合了这些价值观和原则。它们都包括迭代开发和持续反馈。迭代开发方法和增量开发方法都可应用于敏捷。不过,迭代或时间盒都非常的短,一般持续一两周或四周。在每次迭代(有时称“冲刺”)结束时,团队会向干系人展示他们已经完成的工作。干系人提供反馈,然后将功能和特性的待办事项列表按优先级排列,以供下一次迭代使用。上图的例子可以使用冲刺(迭代)实践来演化应用程序的各个方面。它也可以使用增量实践来发布一些功能,做更多的工作,发布更多的功能等等。每个冲刺都使用上一个冲刺的反馈来计划和开发下个月冲刺。关于各类开发方法的详细内容,可以拜读PMBOK第七版八大绩效域的第3个绩效域“开发方法和生命周期绩效域”中的相关内容。关于第七版PMBOK实战的第一步,就是要理解各类开发方法的适用情况,以及可以用一种我们称之为“混合项目管理和开发方法”。所谓“混合项目管理”,其实就是结合预测型和适应型的方法来交付价值,是由产品,项目和组织的各类变量共同决定的。关于“混合型生命周期”的特征,有兴趣的读者也可以去翻阅《敏捷实践指南》中的相关章节,从3.16 — 3.2的内容。限于篇幅,本文就先到这,后面的文章更加精彩,敬请期待!
PMP、ITIL、PRINCE2、Practitioner、PMI-ACP、ScrumMaster、PMI会员;世界500强企业资深项目经理,丰富的项目管理经验,海外项目投产工作;中国知名企业内部的项目管理培训师,培训学员通过率接近100%;喜马拉雅累计用户超40万,用户口碑优秀,听众称其为“可以让耳朵怀孕的声音;
本文讲解的PMBOK第七版正是PMP考试的教材之一