敏捷开发之Scrum(2): Scrum中的概念 收藏
角色(Role)
在Scrum中一共有3种角色: 产品负责人(product owner), 项目组(Team)和Scrum管理者(Scrum master)。product owner代表客户,项目发起人,或者说项目的利益相关者。product owner定义产品需求,对需求进行优先级排序,决定产品的发布时间,并且在每个sprint结束时进行产品验收。Team是项目的实际工作者一般是 5~9人,包括产品设计,开发人员和测试人员等(标准的Scrum要求项目组成员不再有开发人员和测试人员这样的具体的职能划分,但是一般不容易实现), 一般在每个sprint中,项目组人员不允许变动,但可以在sprint之间可以变动;Scrum master是传统意义上的管理者,但是在Scrum中scrum master不进行严格的管理,而是一般协调与项目组之外的部门的沟通,协调项目组的工作以及内部的获取资源等,为项目组完成项目扫除障碍。
人工制品(Artifacts)
在Scrum开发过程中,有3中Artifacts:产品需求列表(product backlog), sprint 需求列表(sprint backlog)以及燃尽图(Burndown charts)。
每当客户提出新的需求时,就将此需求加入到product backlog,这是Scrum处理变化的重要手段。在这个列表中,所有的需求都由product owner在每个sprint开始之前进行优先级排序,并且Team要对每个需求项进行开发工作量的估计。
sprint backlog是Team在每个sprint的计划会议上从product backlog中选择出的承诺在sprint结束时能够交付的需求,在sprint backlog中的需求项不能再改变,如果客户有新的需求,可以把需求加入到product backlog中。在sprint开始之前的计划会议上,Scrum master和Team成员对从product backlog中挑选的需求进行高层次的设计,进行任务分解并估计所需的工作时间。在Scrum中项目经理不再进行任务的分配,而是由项目组成员自己选择 做哪个任务,然后完成(包括开发和测试)一个任务后,挑选下一个进行工作,这样能够最大限度的提高员工的工作效率。Burndown chart是项目开发过程中用于监测项目的进度,每天更新,它代表剩余的工作量,从而及时发现可能出现的问题。
会议
在Scrum开发过程中,一般包括4个会议:计划会议(sprint planning),复审会议(sprint review),追溯会议(sprint retrospective),每日例会(daily Scrum meeting)。
计划会议一般发生在每个sprint的开始,product owner对product backlog进行优先级排序,整个team一起根据team的能力选择这个sprint能够完成的需求,从而形成这个sprint的目标,在这个会上还 要根据挑选的需求创建任务并且估计这些任务所需的时间,从而形成sprint backlog。Daily Scrum meeting发生在sprint中的每一天,一般不超过15分钟,主要由每个Team成员讲述3个问题——昨天我做了什么,今天我准备做什么,我遇到了 什么困难(但在这个会议上不解决困难,可以在会开完后由相关人员一起讨论解决),这样项目组成员的可以对其他人的工作也有所了解。
复审会议一般在每个sprint的结尾,Team在这个会上讲述这个sprint中完成了什么,然后将完成的产品展示给所有人。
追溯会议也发生在sprint结束时,主要讲述在这个sprint中,什么做得比较好,什么做得不好,不好的要在下个sprint中克服,好的要保持,这样就能够不断的进行改进。