敏捷生命周期结合了迭代和增量的方法,为了适应更频繁的变更,和更频繁的交付项目价值。敏捷生命周期是符合《敏捷宣言》的原则,特别是,用户满意度将随着有价值产品的早期交付和持续交付不断提升。
敏捷生命周期对项目的前途和范围并不十分明确。这时候就需要将项目划分为若干个短小的迭代周期,在每个周期都产出可验证的交付物,以此去获取用户反馈,从而最终产出用户需要的结果。
用现实中的举例:
你是一个餐馆的小老板,这时候来了一个小日本??,你问他要吃些什么,他说:“我也不知道吃什么!”
然后你做了一个红烧日本豆腐,小日本吃了说不错。
接着做了一份长沙臭豆腐,小日本说:“太臭了,我不要”
再接上了一份蚂蚁?上树,小日本说:“我喜欢~”
就这样,上了一桌奇奇怪怪的拼凑成的菜,美名其曰:“海底捞-日本”
每次交付一个菜相当于是增量,每次不厌其烦的询问小日本相当于是迭代。
在敏捷环境中,团队预料需求会发生变更。迭代和增量方法能够提供反馈,以便改善项目下一部分计划。敏捷生命周期又分两种:基于迭代的敏捷(Iteration-Based Agile)和基于工作流的敏捷(Flow-Based Agile)
基于迭代的敏捷
在基于迭代的敏捷中,团队一相同持续时间的时间盒交付完整功能,团队集中在最重要的功能,作为一个团队合作完成之后,开始下一个重要的功能。团队可以一次性完成若干功能,但不会同时完成所有迭代任务。
基于流程的敏捷
对于建立在流程基础上的敏捷开发,团队根据自身能力,从待办事项列别中提取若干功能开始工作,而不是按照迭代进度计划进行工作。团队定义任务格列工作流,并且管理格列进行中的工作。完成不同功能花费的时间可能有所不同。团队应该让进行中的工作规模尽量小,以便尽早发现问题。