Scrum是什么?

处理复杂的事情,要用框架

处理复杂的事情,如果有框架指导,就能保证最终结果的完整性、系统性及正确性。另外,通过框架,将复杂的事情切分成较小块、把工作流程标准化,从而将大问题变成一个个小问题,大大减少工作难度。

软件开发是一项复杂的活动,敏捷开发也有自己的一种框架:Scrum。

Scrum是什么?

Scrum是基于敏捷思想的开发框架,用于迭代式增量软件开发过程。 它基于经验型流程控制理论,所以Scrum框架的坚信:

  • 知识源于经验
  • 决策基于已知的事物
  • 透明性、检视、调整是经验型流程的三大支柱
  • 采用迭代增量式的方法来优化可预测性和管理风险

如下是标准的Scrum标准流程示意图:

Scrum框架(图片来源于网络)

Scrum详细介绍

我们先来看下Scrum的三种角色:Product OwnerScrum MasterTeam。Product Owner负责产品需求管理、需求优先级定义、及产品验收等;Scrum Master作为团队Scrum流程的引导者;Team负责根据需求交付产品。这三个角色分别代表业务方、实施方、及项目流程管理方。

下面我就通过讲故事来描述,各个角色参与的活动,及在活动中产出物。

总工作量

Product Owner通过各种手段收集产品需求(产品愿景、市场分析、竞品分析、用户、管理层、干系人),然后把这些需求整理成story列表,并按优先级来排序。这个排过序的列表就是Product Backlog。Product Backlog定义产品的业务需求,供产品开发团队使用。

当影响产品发展方向的因素发生改变,则Product Backlog也要进行审视,新加、更改或者删除一些story。

Product Backlog需求粒度,越接近开发日期的越细。

本迭代工作量

Scrum每一个迭代叫Sprint,一个Sprint 1周到4周不等。在一个Sprint开始时,Team和Product Owner在Sprint Planning Meeting上,挑出本Sprint能完成的若干高优先级story。这些story组成Sprint Backlog

迭代开发

团队开始开发Sprint Backlog里面的story,每天Daily Scrum Meeting(站会),商量开发中遇到问题,看团队其他人可以帮忙或分享自己开发过程中得到的知识。在开发过程中,如果有什么业务问题,需要及时和Product Owner进行确认,确保做出来的东西是正确的。

整个开发过程用物理墙可视化。


Scrum是什么?_第1张图片

迭代成果演示

如果一切顺利,到Sprint结尾,团队基本开发完了所有Sprint Backlog里的story。Product Owner会和团队发起Sprint Review会议,团队会演示story、回顾这个Sprint的开发情况,展示Burn Up Chart,RAIDs等。

迭代反思

如果Product Owner对于story没有什么意见,那么本次Sprint就结束了。团队如果觉得该Sprint开发过程中,存在一些问题需要改进,就可以一起进行Sprint Retrospective,在会议上反思在这一迭代中哪些做的好,哪些做的不好,有什么建议,并且产出改善团队开发的行动,并且制定Owner,在下一Sprint进行执行。在我看来Retrospective是敏捷最迷人的地方,能保证团队持续改进,提高生产效率。

Scrum是什么?_第2张图片
一种做Retrospective的方法

整个过程和 戴明循环(PDCA)原理是一样的,都是计划、做、检验、反思并形成改进行动。

Scrum不光能用于软件开发,也能用于非软件开发的任务管理,是一个强有力的任务推动框架。

感谢框架,让我们工作变的容易。

你可能感兴趣的:(Scrum是什么?)