【转载】什么是 Scrum

转自:https://www.zhihu.com/question/437153042

什么是 Scrum

简单说,Scrum 敏捷开发是一种以用户需求进化为核心、迭代、循序渐进的开发方法。首先把用户最关注的软件原型做出来,交付或上线,在实际场景中去快速修改弥补需求中的不足,再次发布版本。
通过一些敏捷实践方式,细化 Story ,提供更小的迭代。如此循环,直到用户满意。适用于需求不明确、创新性或者需要抢占市场的项目。
拿微软来说,微软的 Visual Studio 2010是公司内部首个因敏捷开发模式而受益的 Visual Studio 版本,该软件发布于2010年4月,耗费了两年的时间完成开发,但随后研发团队发现软件中的许多模板对于敏捷开发者来说太过笼统,几乎没有太大的实际意义,微软的软件研发策略也就从此开始发生了巨大变化。以往的产品更新周期为两到三年,目前的版本更新速度已经缩短至一个季度左右,这在瀑布式开发模式下是难以想象的。
敏捷式开发在国外大放异彩,当然在国内也不例外,国内很多研发者们结合当下软件市场环境,也有了新的研发策略。

Scrum里面的角色

Scrum 由 Product Owner (产品经理)、Scrum Master (项目经理)和 Team (研发团队)组成。

  • 其中 Product Owner 负责整理 User Story (用户故事),定义其商业价值,对其进行排序,制定发布计划,对产品负责。
  • Scrum Master 负责召开各种会议,协调项目,为研发团队服务。
  • 研发团队则由不同技能的成员组成,通过紧密协同,完成每一次迭代的目标,交付产品。

    迭代开发

    与瀑布不同,Scrum 将产品的开发分解为若干个小 Sprint (迭代),其周期从 1 周到 4 周不等,但不会超过 4 周。参与的团队成员一般是 5 到 9 人。每期迭代要完成的 User Story 是固定的。每次迭代会产生一定的交付。
    每一个 Sprint 都有两个会议:Sprint plan 和 Sprint Review。还有一个回顾会议。
    每个 Sprint 都有一个 Daily meeting。每一个 Sprint 结束,就是下一个 Sprint 的开始。

Scrum 的基本流程及落地


如上图所示,产品负责人负责整理 User Story,形成左侧的 Product Backlog。在以 Scrum 为核心的软件开发过程中,可以用以下五个会议帮助团队高效沟通、及时改进并落地。

在敏捷开发的方法论体系中, Scrum 高居敏捷方法论的首位,也是团队转型敏捷的首选。但 Scrum 究竟是如何解决软件开发过程中的沟通、协作问题的?
敏捷作为一种软件开发运动,其发起人试图以一种更为敏捷的新方式,来思考软件开发方法论以及组织架构,从而帮助行业中的人们更好地进行软件开发。而其中稳居C位的 Scrum 方法论,关注每一个 Sprint 结束后的成果交付,促使每一团队在现有框架的基础上,能够根据自己团队的实际情况制定合适的 Sprint 任务,提高工作效率、扩大反馈。

点赞

发表回复

电子邮件地址不会被公开。必填项已用 * 标注