在敏捷软件开发中,业内有很多常用的开发方法,比如精益开发、极限编程、水晶方法、动态系统、Scrum等。其中开发方法Scrum是个相当简单、容易上手的框架,在敏捷开发中也是用的最多的方法。今天我们就来了解一下Scrum最基本的框架,简单地讲,就是Scrum的“3355”。
3个角色
传统项目敏捷转型Scrum,首先就要确定3个角色,Product Owner、Scrum master和Team。定人之后再开始定机制。3个角色职责以及工作内容详见Scrum三个角色
3个工件
Product Backlog
产品待办事项集合,整个产品的用户故事集合,这些用户故事可以来自客户、终端用户、PO自己对产品的理解、研发团队以及产品利益相关者等。它具有以下特点:
项目的需求列表
以用户故事的形式表示
包含功能性以及非功能性需求
PO负责进行对Product Backlog Item(产品待办事项)优先级排序
每个Sprint开始之前要重新进行排序,以确定最重要的事项
随着项目的进行,可能新增、变更或减少条目
Sprint Backlog
冲刺待办事项列表,Sprint冲刺阶段内的用户故事列表。这些用户故事来自Product Backlog,每次冲刺前,PO根据交付价值,将优先级最高的用户故事放入迭代。它具有如下特点:
从产品Backlog中取出前面若干项,在当前Sprint中团队承诺实现
每个用户故事有业务价值优先级以及实现优先级
每一个用户故事都会被分解并关联到若干个子任务(Task)
团队成员自愿挑选任务
每日更新任务剩余时间
如果Sprint工作不清晰,创建Sprint Backlog时先估算一个比较大的时间段,在后续阶段再做进一步的缩短
伴随着任务的逐步清晰化,及时更新剩余时间
对于用户故事的完成,团队一起定义“完成”的标准(DoD)
DoD代表了各种用于确保sprint backlog中质量、准确性、业务关联性活动
Increment
可交付产品增量Increment即冲刺结束后可对外发布的产品功能增量部分。
需要关注其是可工作的软件功能增量。
需要要在Scrum Review会议上进行演示。
5个价值观
Scrum五大价值观,从敏捷实践中来,应用于敏捷实践中去,真实、生动而又准确地反应了敏捷运动中重视人的因素。
承诺 Commitment - 愿意对目标做出承诺
专注 Focus – 全身心都用到你承诺的工作上去
开放 Openness – 团队内所有信息对所有人开放
尊重 Respect – 每个人都有他独特的价值和经验
勇气 Courage – 勇于承诺,履行承诺,敢于说不
5个仪式/事件
Sprint Planning MeetingScrum迭代计划会
Sprint,中文译为冲刺、短跑等,在Scrum之外,被称为迭代(Iteration)。Sprint是Scrum的专有术语,是Scrum中最具代表性的事件之一,也是敏捷软件开发的核心特征之一。
Daily Standup MeetingScrum每日站会
Sprint Review MeetingScrum演示会
Sprint Retrospective MeetingScrum回顾会