[敏捷开发实践](2) 用于开发和维持复杂产品的敏捷开发框架Scrum

[敏捷开发实践](2) 用于开发和维持复杂产品的敏捷开发框架Scrumhtml

 

1,Scrum概述

      上篇中提到敏捷开发有两种主流的方法,一个是XP,另外一个是Scrum,本篇简要介绍Scrum方法。Scrum是一套开发和维护复杂产品的框架或说是管理方法。 框架

      咱们提到敏捷开发是一个增量的、迭代的开发过程。而在Scrum框架中,整个开发过程咱们分解为若干个短的迭代周期,在Scrum中每个迭代周期,咱们称为一个Sprint(原义为冲刺,Scrum中指一个迭代)。根据Scrum的建议通常为4周(也能够根据实际产品特色调整这个周期长度,并不影响使用Scrum进行敏捷开发,好比互联网产品有些团队每1周为一个Sprint).优化

     Scrum中使用产品Backlog(待办或储备)来管理需求,产品的Backlog是按商业价值进行排序的需求列表,列表条目的体现形式一般称为用户故事(名字颇有意思,就是与用户有关的事)。spa

     Scrum团队开发流程是先从Backlog中挑选优先级较高的需求进行开发,也就是说先把用户最须要的部分开发出来。挑选的需求须要Sprint计划会上通过讨论、分析和估算获得任务列表,称为Sprint backlog.翻译

     每一个迭代结束时,Scrum团队将递交潜在的可交付产品增量。htm

     Scrum起源于软件开发项目,但不只仅适用于软件开发管理,它能够用于任何复杂的或是创新性的项目或工程。blog

     (下图是来自Scrum中文网的Scrum流程图)排序

 

 2,Scrum框架的核心

SCRUM框架包括3个角色、3个工件、5个活动、5个价值 ci

(1)3个角色

  1. 产品负责人(Product Owner)
  2. Scrum Master
  3. Scrum团队

(2)3个工件

  1. 产品Backlog(Product Backlog)
  2. SprintBacklog
  3. 产品增量(Increment)

(3)5个活动

  1. Sprint计划会议(Sprint Planning Meeting)
  2. 每日站会(Daily Scrum Meeting)
  3. Sprint评审会议(Sprint Review Meeting)
  4. Sprint回顾会议(Sprint Retrospective Meeting)
  5. 产品Backlog梳理会议( Product Backlog Refinement)

(4)5个价值

  1. 承诺 – 愿意对目标作出承诺
  2. 专一– 把你的心思和能力都用到你承诺的工做上去
  3. 开放– Scrum 把项目中的一切开放给每一个人看
  4. 尊重– 每一个人都有他独特的背景和经验
  5. 勇气– 有勇气作出承诺,履行承诺,接受别人的尊重

3,SCRUM理论基础

Scrum以经验性过程控制理论(经验主义)作为理论基础的过程。经验主义主张知识源于经验, 以及基于已知的东西作决定。Scrum 采用迭代、增量的方法来优化可预见性并控制风险。开发

Scrum 的三大支柱支撑起每一个经验性过程控制的实现:透明性、检验和适应。Scrum的三大支柱以下:

第一:透明性(Transparency)

透明度是指,在软件开发过程的各个环节保持高度的可见性,影响交付成果的各个方面对于参与交付的全部人、管理生产结果的人保持透明。管理生产成果的人不只要可以看到过程的这些方面,并且必须理解他们看到的内容。也就是说,当某我的在检验一个过程,并确信某一个任务已经完成时,这个完成必须等同于他们对完成的定义。

第二:检验(Inspection)

开发过程当中的各方面必须作到足够频繁地检验,确保可以及时发现过程当中的重大误差。在肯定检验频率时,须要考虑到检验会引发全部过程发生变化。当规定的检验频率超出了过程检验所能允许的程度,那么就会出现问题。幸运的是,软件开发并不会出现这种状况。另外一个因素就是检验工做成果人员的技能水平和积极性。

第三:适应(Adaptation)

若是检验人员检验的时候发现过程当中的一个或多个方面不知足验收标准,而且最终产品是不合格的,那么便须要对过程或是材料进行调整。调整工做必须尽快实施,以减小进一步的误差。

Scrum中经过三个活动进行检验和适应:每日例会检验Sprint目标的进展,作出调整,从而优化第二天的工做价值;Sprint评审和计划会议检验发布目标的进展,作出调整,从而优化下一个Sprint的工做价值;Sprint回顾会议是用来回顾已经完成的Sprint,而且肯定作出什么样的改善可使接下来的Sprint更加高效、更加使人满意,而且工做更快乐。

4,Scrum术语 

Scrum: Scrum无对应中文翻译 

Agile: 敏捷 

Lean: 精益 

Iterative:迭代式的 

Iteration:迭代 

Agile Manifesto: 敏捷宣言 

Empirical: 经验性的 

Empirical Process:经验性过程 

Transparency: 透明性 

Inspect and Adapt: 检视与调整 

Sprint:原意为冲刺,Scrum中的Sprint无对应中文翻译,指一个迭代 

Sprint Goal:Sprint目标 

Product Owner :产品负责人 简称PO 

Scrum Master :简称SM, 通常不翻译 

Development Team : Scrum开发团队 

Scrum Team:指PO,SM和开发团队 

Scrum Roles:Scrum角色,指PO,SM和开发团队 

Emergent :涌现的 

Product Backlog:产品待办列表,指需求清单 

Sprint Backlog:Sprint待办列表,指Sprint任务清单 

Sprint Burn-down Chart:Sprint燃尽图,团队用于作Sprint内的进展跟踪 

Release Burn-down Chart:  发布燃尽图,产品负责人作发布进展跟踪 

Sprint Planning Meeting: Sprint计划会议 

Daily Scrum Meeting:每日站会 

Sprint Review Meeting:Sprint评审会议 

Sprint Retrospective Meeting: Sprint回顾会议 

Product Backlog Refinement: 产品待办列表梳理 

Product Backlog Item: 产品待办清单条目,简称PBI 

User Story: 用户故事,指一条需求 

Story Point:衡量用户故事的工做量大小的计量单位 

Velocity: 团队速度 

Sprint Task: 实现一条需求须要作的一个技术任务 

Definition of Done: DoD,完成的定义 

Stakeholders: 干系人 

Backlog: 待办列表 

Artifact :工件 

Estimation :估算 

Collaboration: 协做 

Scaling Scrum:大规模Scrum

5,总结

主要介绍了一个很是受欢迎的敏捷开发框架Scrum,它是一套开发和维护复杂产品的敏捷开发框架,是一个增量的、迭代的开发过程。Scrum的核心包括3个角色、3个工件、5个活动、5个价值。最后介绍了Scrum中经常使用的专业术语私释义。

==============================================================================================

返回目录

<若是对你有帮助,记得点一下推荐哦,若有有不明白或错误之处,请多交流>

<转载声明:技术须要共享精神,欢迎转载本博客中的文章,但请注明版权及URL>

软件管理及.NET 技术交流群:467189533 

==============================================================================================

相关文章
相关标签/搜索