我对Scurm的理解

来源:互联网 发布:sql程序设计培训 编辑:程序博客网 时间:2024/05/21 14:46

先说说一些大家都比较模糊的词语,来一个准确一点的定义。

Scrum,名称来自英式橄榄球,寓意是在比赛中每个队员都应时刻保持对场上全局的判断,然后通过集体行动,奋力实现统一目标。

Backlog,急待完成的任务,包括未细化的产品功能要求、Bugs改进、具竞争力的功能及技术升级。

Sprint,在限定时间内的一系列开发活动。

Defined Process,确定性过程,可明确描述的、可预测的过程,因而可重复执行并能产生预期的结果,并能通过科学理论对其最优化。

Empirical Process,经验过程,应作为一个黑箱来处理,通过对黑箱的输入输出不断进行度量,在此基础上,结合经验判断对黑箱进行调控,使其不越出设定的边界,从而产生满意的输出。

我个人将Scrum的开发理解为三个过程。

1、计划和体系结构设计(确定性过程)

将Backlog按优先级形成列表,根据该表和风险评估制订产品交付基线。

建立体系结构(如果是为已有系统改进,则只作有限分析、调整)。

2、Sprint(经验过程),又可分为编码、打包、评审三部分

编码:分析、设计、开发、实施、测试

打包:产生满足需求的可执行版本

评审:演示、发布新问题、调整标准规范、进行风险评估

每一个组员对于自己或者自己小组的新事项、正在处理事项、已完成事项都必须有一个明确的列表。

一个Sprint完成以后,必须将所分配的Backlog解决,而且要有所产出。

3、交付和巩固(确定性过程)

一旦根据风险评估结果认为可交付产品时,即进入该阶段。

SCRUM过程认为一个产品的开发是一直持续的过程,除非经风险评估。产品交付后的巩固活动类似于传统方法中的维护和改善,目的在于整理Sprint期压力下忽略的工作,为下一阶段的开发做准备,以便轻装上阵。

Scrum的控制:

根据对控制项特别是风险的不断度量评估和权衡,计划和进度不断相应调整,保证实现产品的商务目标;

另一方面,对开发中的工作任务Backlog动态地进行优先级排序,开发组总是先开发优先级最高的Backlog项,这样就保证了资源的最合理使用。

Sprint期间的调控:

在Sprint期间,应使小组尽量避免外界的干扰(不可将新的Backlog任务加进来,组内产生的Backlog可放到整个项目的Backlog列表中,也可在本次Sprint中解决),使小组成员专心于目前的工作,使他们工作在混沌的边沿。

SCRUM会议:

对小组行为进行监控和刺激。会议在Sprint期间每天在同一地点举行。会议上,组长对每个小组成员提三个问题:

1、昨天的工作进展如何。

2、有否遇到困难和障碍。

3、今天的工作打算。

每一次的会议,组员应该在会议之前得到会议的目标与议程。如果在会议中展开了不在议程中的话题,把它放入另外一个列表中,会议最后为这个话题选择一个负责人。

如果会议没有达到目标,则再进行一次会议。如果已经达成一致的结果,记录下来,确保所有人都认同。 

本文章转自互联网

本文章

原创粉丝点击