如何理解并实施 SCRUM ?

2022-01-10 16:48:27 浏览数 (1)

在软件领域, Agile和Scrum一直是比较热的词汇,包括很多企业已经实践了敏捷很多年,但是实施效果一直不是很理想。那我们今天在谈论如何实施Scrum之前,我们先确认一下,您的企业真的需要Scrum吗?

一、区别Agile和Scrum

Agile(敏捷开发)是以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。它以敏捷宣言为基础,以敏捷开发十二原则为基础,构建了整个敏捷开发流程体系。

敏捷开发宣言敏捷开发宣言
敏捷开发十二原则敏捷开发十二原则

Scrum是迭代式增量软件开发过程,通常用于敏捷软件开发。Scrum包括了一系列实践和预定义角色的过程骨架。Scrum中的主要角色包括同项目经理类似的Scrum主管角色负责维护过程和任务,产品负责人代表利益所有者,开发团队包括了所有开发人员。总结起来,Scrum包括3355:

1、三个角色:产品负责人(Product Owner)、Scrum Master、Scrum团队

2、三个工件:产品Backlog(Product Backlog)、SprintBacklog、产品增量

3、五种仪式:Sprint计划会议、每日站会、Sprint评审会议、Sprint回顾会议(Sprint Retrospective Meeting)、产品Backlog梳理会议

4、五种价值观:承诺、专注、开放、尊重、勇气

Scrum框架Scrum框架

Scrum是敏捷开发中的一种方法论,全世界使用敏捷开发的团队大约57%在使用Scrum框架。但是敏捷开发除了Scrum框架以外,还包括Kanban、Xp、DSDM、FDD等框架。所以在使用Scrum之前,一定要对Agile和Scrum之间做一下区分,想清楚您是真的需要做Scrum,还是只想做到敏捷转型,但不一定采用Scrum。

二、团队内部,如何实施Scrum?

那回到企业内部该如何实施Scrum,实际也有一定的前提条件和实施步骤可供参考:

第一,首先需要组建全功能团队。

首先这个团队可以基于实际的组织架构,也可以基于虚拟的团队形式。团队只有具备完成任务所有的职能角色,才能取得想要的效果。

第二,在团队和业务部门对接的时候,收紧需求入口。

只有这样,才会避免一个开发人员对接多个业务团队的现状。对于开发人员来说,他需要对团队内部的PO负责即可,按时交付已经做好排序的需求功能,才不会被无休止的业务人员打断,也不用不停地在很多工作任务之间做切换。

第三,把握需求粒度拆分,做好优先级排序。

敏捷开发需要遵守固定的时间盒,这就要求产品功能的实现粒度需要控制,不同业务需求之间的粒度不能差别太大(例如有的业务需求实现需要40人天,有的业务需求实现需要0.5人天)。需求拆分完毕之后,每个团队还需要遵循相同的原则,对需求进行优先级排序。只有规则相同,大家才能统一遵守执行。只有做好优先级排序,开发团队才能按照重要程度交付最有价值的需求。

第四,针对每一个需求或者功能,建立团队固定的开发流程。

只有建立起统一的流程,并且把流程的每一个阶段都可视化,才能在团队内部实时同步每个人的工作内容和工作状态。大家分工协作,以固定的模式交付自己的开发内容。

第五,不同团队、团队不同角色之间,不可避免地要出现相互协作。

那么只有建立起统一的团队节奏,每个团队、每个人都按照固定节奏去完成工作任务,才能相互协作,保证整个团队的工作产出。

0 人点赞