敏捷开发包括很多模式:AMDD(Agile
Model Driven Model),AUP(Agile Unified Process),XP(Extreme
Programming),FDD(Feature Driven Development),Scrum,OpenUP(Open
Unified Process),ADM(Agile Data Model),LSD(Lean Software
Development)等等,以下重点介绍使用最为流程的五种Model。一图顶万字,每一种Model用最直接的流程图展示。本节介绍OpenUP
OpenUP 将项目划分为迭代:有计划的、有时限的迭代操作,通常以周为单位。迭代使团队注重以一种可预见的方式向涉众发送增长式的价值。迭代计划定义了在迭代期间应当完成哪些工作,其结果是一个可以演示的构造。OpenUP
团队将自组织如何实现迭代目标以及提交结果。团队定义和“牵引”工作条目列表中的任务。OpenuP 采用迭代生命周期(组织微增量是如何被应用的)来得到一个稳定的、复合系统需要的构造,从而逐步的向迭代的目标前进。
OpenUP 将项目生命周期分为四个阶段:启始、精化、构建和产品化。项目生命周期为涉众和团队成员提供可见度和决策点。这将更有效的进行管理,并且允许您在适当的时间做出是否继续的决定。项目计划定义了生命周期,我们得到的最终结果是一个发布的应用程序。
OpenUP 层结构:微增量、迭代周期和项目周期:
OpenUP 中的迭代使得团队通过提交完全测试的演示版本或者可改进的构造(产品增量), 持续注重提供给客户增长的价值。这为创建了一个健康的关注涉众价值的方式,确保所做的工作都将他们的目标向前推进。决定的做出必须快速,我们没有时间进行
无休止的争论。迭代开发关注生产工作代码、减少分析瘫痪的风险。经常性的展示工作代码提供反馈机制,从而允许根据需要进行必要的修正。
迭代计划、估算、和进展跟踪都以工作项为中心。迭代计划是通过选择顶部优先的工作条目被创建的。敏捷估算技术被用来理解有多少工作条目能够安全的适应规定时间的迭代,以及多少工作条目被筛选出来以确保团队提出的迭代目标可以被涉众接受。进展状况可以通过不断完成的许多小的工作条目被呈现出来。
正如项目经过一个生命周期一样,迭代经过一个生命周期时团队所关注的重点取决于是处于迭代的第一个还是最后一个星期。迭代也起步于时长为几个小时的迭代计划会议。最初的一两天关注进一步的计划和体系结构从而理解工作条目的依赖关系和逻辑顺序,以及体系结构的效果。迭代中的大多数时间用于执行微增量。每一个微增量都应该用测试过的代码来建造并且验证工具。附加的原则是,在每周末生产出稳定的构建。
更多的注意力集中在确保该构造的质量以及问题的尽早处理,从而保证迭代的成功。迭代的最后一周或最后几天较之前几周将更加强调完善和修补漏洞,即使有新的
功能添加进来也是如此。我们的目标就是永远保证质量不出现问题,从而确保在迭代结束时生产出一个高质量的可用的产品增量。在同涉众一起对成果进行评估后此
次迭代方告结束,并且我们通过回顾能够懂得如何在下一个迭代中对过程进行改进。
每个迭代在经历一个生命周期时,早期更加关注计划和体系结构,后期更加关注修补漏洞和稳定性。
|