敏捷需要迭代和增量 - Why Scrum Process is Iterative and Incremental?

[Source: 由迈克·科恩]

与所有敏捷流程一样, scrum 既是迭代的, 也是增量的。由于这些词在没有定义的情况下经常使用, 让我们定义它们。

开发团队首先在系统中进行切割,知道在一些(可能很多)区域中它是不完整或弱的。然后,团队反复精炼这些区域,直到产品令人满意为止。通过每次迭代,通过添加更多细节来改进软件。

例如, 在第一次迭代中, 可以对搜索屏幕进行编码, 以便仅支持最简单的搜索类型。第二个迭代可能会添加其他搜索条件。最后, 第三次迭代可能会增加错误处理。

一个很好的类比是雕刻。首先, 雕塑家选择一块大小合适的石头。接下来, 雕刻家雕刻的一般形状从石头。在这一点上, 人们也许可以分辨头部和躯干, 并发现完成的工作将是一个人的身体, 而不是一只鸟。接下来, 雕塑家通过添加细节来完善她的作品。然而, 在整个作品完成之前, 雕塑家不可能把任何一个区域看作是完整的。

增量过程是构建软件并将其成片交付的过程。每个部分或增量, 表示功能的完整子集。增量可以是小的, 也可以是大的, 可能从小端的系统登录屏幕到一组高度灵活的数据管理屏幕。

每个增量都经过了完全编码和测试, 共同的期望是迭代的工作不需要重新讨论。一个增量雕塑家会选择她作品的一部分, 完全专注于它, 直到它完成。她可以选择小的增量 (首先是鼻子, 然后是眼睛, 然后是嘴巴, 等等) 或大的增量 (头部、躯干、腿, 然后是手臂)。但是, 无论增量大小如何, 增量雕刻师都会尝试尽可能完整地完成该增量的工作。

scrum 和敏捷既是增量的, 也是迭代的。它们是迭代的, 因为它们计划在后续迭代中改进一个迭代的工作。它们是增量的, 因为已完成的工作是在整个项目中交付的。

为了更好地说明迭代和增量之间的差异, 让我们考虑以迭代方式构建约会网站, 但不是增量构建。为此, 团队将在网站的每个部分 (配置文件管理、搜索、广告等) 中构建一点。然后, 该小组将重新审视所有部分, 对每个部分进行改进。

然后, 该小组将再次重新审视所有部分, 作出进一步改进。以这种纯粹的迭代方式, 整个网站变得更好一些。

接下来, 考虑使用纯增量 (而不是迭代过程) 开发同一个站点。如果约会网站是以增量方式构建的, 团队将在网站的任何其他部分开始之前构建和完善配置文件管理。然后, 他们会建造和完善第二个区域, 比如搜索, 然后进入第三个区域。在下一个区域开始之前, 每个功能区域都将变得完美。

迭代和增量都不是那么伟大。但在一起--就像他们和 scrum 在一起一样--他们非常棒。

初学者的 scrum 阅读列表

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值