`
terryfeng
  • 浏览: 506878 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多

原文:http://hi.baidu.com/lopve1314/blog/item/f9e9dacdcc2d0e1800e92857.html

Scrum是一个敏捷开发框架,是一个增量迭代的开发过程.。在这个框架整个开发周期由若干个小的跌代周期,每个小的的跌代周期称为一个Sprint,每个Sprint的长度2到4周。在每个Sprint中,Scrum的开发团队拿到一个排列好优先级的需求列表,我们称它为用户故事或者叫Sprint backlog, 所以我们先开发的是对客户具有较高价值的需求。 在每个迭代结束后,都会开发完成可交付的产品。

一个简单的框架

Scrum由三个角色,三种活动,3种交付物组成:

三个角色:

Product Owner

Scrum Master

Scrum Team

三种活动:

the sprint planning meeting

daily scrum meetings

sprint review meetings

3种产物:

the product backlog

the sprint backlog

a burndown chart

一个经历过时间考验的开发过程

Scrum最早由Jeff Sutherland在1993年提出,Ken Schwaber 在1995年OOPSLA会议上形式化了Scrum开发过程,并向业界公布。

之后,Scrum成为领先的敏捷开发方法之一,目前世界上有超过500家公司在使用Scrum。

 

Scrum的特点:

  • Scrum是一个敏捷的流程,可用于管控研发工作。
  • Scrum是现有设计流程的总结。
  • Scrum以团队为基础,是一种在需求求迅速变化情况下迭代地、增量地开发系统和产品的方法。
  • Scrum是一个控制由利益和需求冲突导致的混乱的流程。
  • Scrum是改善交流并最优化合作的方式。
  • Scrum是一种检测产品开发和生产过程中障碍并将其去除的方式。
  • Scrum是最大化生产率的一种方法。
  • Scrum适用于单一的项目到整个组织。Scrum可以控制并组织多件具有相关性的产品开发以及拥有超过千名开发者和执行者的项目实施过程。
  • Scrum能让每个参与者都对自己所做的工作以及自己做出的贡献感到骄傲,并让他们发挥到最佳水平。





    二 Scrum较传统开发模型的优点

    Scrum模型的一个显著特点就是响应变化,它能够尽快地响应变化。下面的图片使用传统的软件开发模型(瀑布模型、螺旋模型或迭代模型)。随着系统因素(内部和外部因素)的复杂度增加,项目成功的可能性就迅速降低。


    下图是Scrum模型和传统模型的对比:
          

  • Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发。Scrum在英语的意思是橄榄球里的争球。

    虽然Scrum是为管理软件开发项目而开发的,它同样可以用于运行软件维护团队,或者作为计划管理方法:Scrum of Scrums.

    Scrum的特性

    Scrum是一个包括了一系列实践和预定义角色的过程骨架。Scrum中的主要角色包括同项目经理类似的Scrum主管角色负责维护过程和任务,产品负责人代表利益所有者,开发团队包括了所有开发人员。

    在每一次冲刺(一个15到30 天周期 ,长度由开发团队决定),开发团队创建可用的(可以随时推出)软件的一个增量。每一个冲刺所要实现的特性来自产品订单(product backlog), 产品订单是按照优先级排列的要完成的工作的概要的需求。那些订单项会被加入一次冲刺由冲刺计划会议决定。 在会议中,产品负责人告诉开发团队他需要完成产品订单中的哪些订单项。开发团队决定在下一次冲刺中他们能够承诺完成多少订单项。在冲刺的过程中,没有人能够变更冲刺订单(sprint backlog),这意味着在一个冲刺中需求是被冻结的。

    管理Scrum过程有很多实施方法,从白板上的即时贴到软件包。Scrum最大的好处是它非常容易学习,而且应用Scrum不需要太多的投入。

    Scrum过程

    Agilo

    Agilo是建立在Trac之上的为Scrum量身定制的开发过程管理工具。

    Agilo系统中的角色

    Scrum定义了许多角色,根据猪和鸡的笑话分为两组,猪和鸡

    一天,一头猪和一只鸡在路上散步,鸡看了一下猪说,“嗨,我们合伙开一家餐馆怎么样?”,猪回头看了一下鸡说,“好主意,那你准备给餐馆起
    什么名字呢?”,鸡想了想说“餐馆名字叫火腿和鸡蛋怎么样?”,“我不这么认为。”,猪说,“我全身投入,而你只是参与而已。”
    • Product owner。产品负责人代表了客户的意愿。这保证了Scrum团队在做从业务角度来说正确的事情。产品负责人编写 用户故事,排出优先级,并放入产品订单。
    • Scrum master。 Scrum主管促进 Scrum过程,他的主要工作是去除那些影响团队交付冲刺目标的障碍。Scrum主管并非团队的领导(由于他们是自我组织的),而是负责屏蔽外界对开发团队的干扰。Scrum主管确保Scrum过程按照初衷使用。Scrum主管是规则的执行者。
    • Team。负责交付产品的团队。由5至9名具有跨职能技能的人(设计者,开发者等)组成的小团队完成实际的开发工作。
    • 用户。软件是为了某些人而创建!就像“假如森林里有一棵树倒下了,但没有人听到,那么它算发出了声音吗”,“假如软件没有被使用,那么它算是被开发出来了么?”
    • stakeholder。影响项目成功的人,但只直接参与冲刺评审过程。
    • Manager。为产品开发团体架起环境的那个人
    Agilo系统中的对象

    Agilo系统中的主要流程

    出自维基百科

    分享到:
    评论

    相关推荐

      敏捷Scrum开发流程培训总结.docx

      Scrum作为敏捷开发的一种方法,基于经验型流程控制理论,倡导从实际经验中学习并据此作出决策。它的核心价值观包括承诺、专注、公开、尊重和勇气。Scrum的特点包括高效、简单、快速响应、自组织和良好的沟通。目标是...

      SCRUM开发流程.pdf

      Scrum开发流程是一种迭代和增量的敏捷软件开发方法,它强调团队内沟通和协作,以及面对复杂问题时的灵活性和创造性。Scrum流程通常包括几个关键组成部分,如产品待办事项(Product Backlog)、Sprint、Sprint计划...

      Scrum增量式开发过程介绍

      Scrum是迭代式增量软件开发过程,通常用于敏捷软件开发。Scrum包括了一系列实践和预定义角色的过程骨架。

      Scrum敏捷软件开发过程.pdf

      Scrum是一种敏捷软件开发框架,它强调灵活性、协作和快速响应变化的能力。Scrum的核心理念是通过短期迭代(称为Sprints)和跨职能团队的工作来不断交付可用的软件,并在整个过程中密切与利益相关者合作。 **敏捷...

      Scrum敏捷开发过程.pdf

      Scrum敏捷开发过程.pdf

      SCRUM开发方法

      ### SCRUM开发方法详解 #### SCRUM方法概述 SCRUM是一种敏捷开发框架,它强调团队合作、迭代开发以及适应变化。这种方法由Ken Schwaber和Jeff Sutherland共同提出,旨在提高软件开发过程中的效率和响应能力。 ###...

      Scrum敏捷开发方法

      Scrum敏捷开发方法是一种以人为核心、迭代和增量式的软件开发框架,旨在提高团队的灵活性...Scrum和XP等敏捷方法的引入,是对传统瀑布模型僵化开发流程的一种革新,更好地适应了现代软件开发中不断变化的需求和复杂性。

      Scrum敏捷开发.pdf

      Scrum是敏捷开发中最流行的实践方式之一,它是一种迭代式增量的软件开发过程,采用时间驱动的Sprint周期来进行管理。 敏捷思想强调涌现式需求,即需求在开发过程中逐渐清晰和完善,反对一成不变的预测性计划。敏捷...

      最完整的Scrum敏捷软件开发过程

      最完整的Scrum敏捷软件开发过程最完整的Scrum敏捷软件开发过程最完整的Scrum敏捷软件开发过程最完整的Scrum敏捷软件开发过程

      scrum开发流程

      "scrum开发流程" Scrum是一种敏捷开发方法,强调以人为核心、迭代、循序渐进的开发方式。Scrum流程主要分为三个角色:产品负责人、流程管理员和开发团队。产品负责人负责确定产品的功能和达到要求的标准,流程管理...

      Scrum敏捷开发软件过程ppt

      图文并茂的介绍了敏捷开发及Scrum过程

      敏捷开发 SCRUM PPT

      - **持续反馈**:在整个开发过程中,团队定期与客户或利益相关者进行沟通,收集反馈,以便及时调整开发方向,确保产品符合用户需求。 - **自组织团队**:鼓励团队成员自主管理,共同决策,提高团队的积极性和创新...

      SCRUM(敏捷开发模式)演讲PPT

      2. Scrum Master:负责促进Scrum流程和帮助团队消除障碍。 3. 开发团队(Development Team):自我组织和跨功能的团队,负责完成实际的工作。 ### Scrum活动 Scrum的活动包括Sprint的开始阶段、每个Sprint阶段和...

      Scrum之旅敏捷开发故事

      敏捷开发与传统瀑布模型不同,它鼓励灵活性和适应性,支持在开发过程中随时根据用户反馈和市场变化调整产品方向和功能,因此特别适合需求变更频繁的项目。 Scrum之旅中,团队成员将不断地学习和实践敏捷的价值观和...

      Scrum 敏捷开发 中文指南

      Scrum是一种广泛应用于软件开发领域的敏捷框架,尤其在复杂项目管理中表现突出。这份"Scrum 敏捷开发 中文指南"2018年最新版,为理解Scrum的核心原则、角色、事件和工件提供了全面的指导。 1. **Scrum核心原则**: ...

      Scrum开发流程最佳实践.docx

      Scrum是一种敏捷开发框架,主要用于管理复杂的产品开发过程。它强调团队协作、迭代开发和灵活应对变化。在Scrum流程中,角色分工清晰,每个角色都有明确的职责和义务。 1. **产品负责人(Product Owner,PO)**: ...

      SCRUM开发流程借鉴.pdf

      Scrum是一种敏捷开发框架,主要用于管理复杂的产品开发过程。它强调迭代和增量式的开发,确保团队能够在短时间内交付可用的产品增量。Scrum的核心是Sprint,一个具有固定时间盒的短期开发周期,通常持续1到4周。每个...

    Global site tag (gtag.js) - Google Analytics