Scrum - 敏捷开发方法论

敏捷开发是一种以人为核心,循序渐进的软件项目迭代方法论。

Scrum是软件项目迭代方法论而非技术,Scrum偏重过程,XP强调实践,通常二者结合。

角色

Scrum Master(流程管理员)

对scrum流程负责。

Product Owner/PO(产品负责人)

对产品和客户/老板负责。

Scrum Team(开发团队)

对开发任务负责,一组5~10人左右。

Sprint

一个sprint即一次迭代周期。

Scrum

1.由PO(Product Owner)制定Product Backlog(有优先级的产品需求列表)。

注:PO为通常所说的业务或需求负责人。

2.Scrum Team评估Product Backlog,预估工作量及计划。

通过Sprint Planning Meeting(Sprint会议),从Product Backlog中确定下个Sprint的工作内容。

注:实施中通常由leader制定deadline。

3.Scrum Team制定Sprint Backlog,成员负责细化任务(粒度为2个工作日内)。

注:细化任务可以是开发和测试人员,以便Scrum Master更清晰的了解到任务进度。

Sprint Backlog推进

1.每日15分钟的Daily Scrum Meeting,通常由Scrum Master发起(定时邮件、约定的时间、远程电话会议)。

注:控制会议时长,每人发言(Scrum三大角色无一例外),内容主要为昨天的工作内容和今天的工作计划,可以call for help;条件允许,可更新自己的Sprint burn down(Sprint燃烧图),电话会议(企业微信、skype/Lync、QQ)通常不具备。

2.每日集成(编译通过可演示的代码版本)。

3.隔天测试(已完成的功能)。

注:当任务逼近deadline,任务直接干系人可组织一个war room,以求高效沟通和及时反馈,成员可以包含PO、测试人员、开发人员。

Sprint Backlog完成

1.Srpint Review Meeting(演示/评审会议)

参会人员:产品负责人和客户/老板

演示人员:Scrum Team的成员演示自己完成的功能,通常PO代劳。

2.Sprint Retrospective Meeting(回顾会议)

总结性会议,轮流发言,形式可以是轻松的,内容为总结上个Sprint的问题,以求将改进方案放入下个Sprint。

注:由Scrum Master发起,总结性会议时长通常在1~3小时。

工具

jiraleangootapdtrelloAsana