Scrum 概述
Scrum是产品开发和团队组织的迭代和增量过程。借助Scrum框架,可以更快,更高质量地完成任务。这是可能的,因为团队的高自我激励,自己选择如何执行任务。客户需求将被迭代优先级并快速实现
Scrum - 敏捷框架 (Agile Framework)
Scrum是一个框架,支持迭代和增量产品开发,允许在正确的时间完成工作,最大化交付的价值。通过自组织团队,任务执行速度更快,质量更高。实现了高水平的自我激励,这也是Scrum允许团队更快地实现更高生产力的原因。根据业务价值不断优先考虑客户需求,并定期将其集成到产品中,使客户能够及时向团队提供反馈,从而按时提高产品质量。
Scrum项目主要从对待开发的产品或系统的愿景开始。一开始,这个愿景可能含糊不清,并且肯定会在市场问题而不是技术术语上说明。随着项目的进展,它将变得更加清晰。出于这一愿景,产品负责人正在撰写产品Backlog。
在迭代开始时(Sprint),产品负责人将优先级产品Backlog呈现给团队,团队选择它认为可以在Sprint结束时变为可发送功能的增量。这样做,就会创建Sprint Backlog。之后,团队将独自开发他们所选择的功能。该团队现在更深入地了解需求,考虑可用技术,并评估自己的技能和能力。然后它共同确定如何构建功能,每天修改其方法以找出新的复杂性或困难。团队确定需要做什么,并选择最佳方式。这一创作过程是Scrum生产力的核心。在Sprint结束时,团队向产品负责人展示了功能的增加,因此他可以一方检查功能,另一方面及时调整项目。
Scrum角色 (Scrum Roles)
Scrum - 3个角色:
- 产品拥有者
- 团队
- Scrum Master
管理项目的所有职责分为这三个角色。
产品拥有者 (Product Owner)
产品负责人代表与项目有利害关系的每个人的利益(利益相关者),他负责最终产品。他从利益相关者那里获得产品需求,创建产品Backlog(需求细分为用户故事),负责投资回报(ROI),并且他正在制定发布计划。产品负责人使用业务价值点对产品Backlog进行优先级排序,以确保首先开发最有价值的功能。
企业想要的和团队可以做的事情之间的紧张关系是什么使Scrum成为高质量生产的有效工具。
团队 (Team)
该团队计算出如何将产品Backlog转换为Sprint内的功能增量。每个团队成员共同负责每次迭代和整个项目的成功。该小组负责/:
- 软件质量
- 用户故事的技术实施
- 交付功能软件增量
- 整理自己
Scrum Master
Scrum Master负责Scrum流程。他确保每个人都遵守规则。他还消除了球队的障碍。Scrum Master不属于团队。
猪和鸡 - 承诺还是参与?
所描述的三个角色已经致力于该项目。其他人可能只是对项目感兴趣(参与),但他们并没有陷入困境。Scrum明确分开了这两个群体。承诺:负责项目的角色有权为其成功做必要的事情。参与:对直接成功不负责任的其他利益相关者不能不必要地进行干预。
应该总是清楚谁是负责投资回报率的人,谁与ROI有利害关系但不负责任。
Scrum - 笑话
一只鸡和一只猪走在路上。鸡对猪说:“你想和我一起开餐馆吗?” 猪仔细考虑了这个问题并回答说:“是的,我想那样。你想叫什么餐馆?” 鸡回答说:“火腿和鸡蛋!” 猪停下来,停下来回答:“我想,我不想和你一起开餐馆。我会承诺,但你只会参与其中。”
Scrum工件
Scrum - 3个主要的工件:
- 产品积压 (Product Backlog)
- Burndown图表
- Sprint积压 (Sprint Backlog)
产品积压
产品的要求列在产品Backlog中。它是一个始终在变化,动态优先排序的业务价值排序要求列表。需求由PO分解为用户故事。
Burndown图表
Burndown图表显示了每个Sprint剩余的工作量。这是一种非常有用的方法,可视化任何时间点剩余工作与团队进度之间的相关性。它通过使用Burndown图表检查他们在规划方面的进展,并根据需要进行调整。
Sprint积压 (backlog)
Sprint Backlog包含团队分解为任务的当前Sprint的所有已提交用户故事。Sprint Backlog上的所有项目都应该进行开发,测试,记录和整合,以充分履行承诺。
潜在的可交付产品功能 (Potential Shippable Product)
Scrum要求团队在每个Sprint中构建产品功能的增量。此增量必须是可以发送的,因为产品负责人可能会选择立即实现该功能。这要求增量为:
- 彻底测试过
- 结构良好的
- 写得很好的代码
- 记录功能的用户操作
新的管理职责
三个主要角色 - 产品负责人,Scrum Master和团队 - 是管理角色。他们都是“猪”,因为他们在项目中承诺。
组织中的所有其他管理者都是鸡,他们可能对项目感兴趣并且可能对其成功有浓厚的兴趣,但他们必须通过猪来解决问题。他们只是参与其中,因此他们对项目的执行或进展没有直接的权力。Scrum可以大大简化与项目相关的问责制和权限问题,但Scrum管理角色很难发挥作用。管理复杂的工作绝非易事,但定期使用Scrum实践可以使项目的进度,问题和社会学变得明显。
Scrum - 易于使用?
Scrum听起来很简单,在您阅读完这篇简短的文档之后,您可能会觉得可以毫无问题地开始使用。那是错的!与任何其他方法,流程或框架一样,scrum可能会对您的工作方式产生深刻的变化,因此请做好准备:-)