`
desert3
  • 浏览: 2160615 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

Agile - Scrum定义、角色、实践、文档

 
阅读更多
Scrum是一个遵循敏捷宣言价值观,基于12条敏捷原则的敏捷过程,它是一种采用迭代式、增量开发的软件开发过程。Scrum在英语的意思是橄榄球里的争球。
Scrum是一个框架,它定义了高层次的管理流程,如下图所示。它并不涉及具体开发方法或者人员的有效沟通技巧等。这些没有涉及的领域需要和其他理论和技能互为补充,以确保项目的成功。

Scrum的核心价值观是:承诺、专注、公开、尊重和勇气。它提倡自我管理、涌现机制、透明性和评估/适应循环的根本原则。
Scrum的基本假设是:开发软件就像开发新产品,无法一开始就能定义软件产品最终的规程,过程中需要研发、创意、尝试错误,所以没有一种固定的流程可以保证专案成功。Scrum 将软件开发团队比拟成橄榄球队,有明确的最高目标,熟悉开发流程中所需具备的最佳典范与技术,具有高度自主权,紧密地沟通合作,以高度弹性解决各种挑战,确保每天、每个阶段都朝向目标有明确的推进。
Scrum的一个关键原则是承认客户可以在项目过程中改变主意,变更他们的需求,而预测式和计划式的方法并不能轻易地解决这种不可预见的需求变化。同样,Scrum采用了经验方法– 承认问题无法完全理解或定义,而是关注于如何使得开发团队快速推出和响应不断出现的需求的能力最大化。
Scrum提倡所有团队成员坐在一起工作,进行口头交流,以及强调项目有关的规范(disciplines),这些有助于创造自我组织的团队。
管理Scrum过程有很多实施方法,从即时贴、白板,一直到软件包。Scrum最大的好处之一是它非常容易学习,而且启动Scrum应用并不需要太多的投入。

Scrum包括了一系列实践和预定义角色的过程框架。
Scrum中的主要角色包括:
  • 1.Scrum主管(Scrum Master)是Scrum过程负责人,确保在团队中正确使用Scrum并帮助团队移除实施中的障碍,是Scrum过程实施中的教练。其主要职责是:服务团队,保护团队,指导团队(Serve, Protect, Coach)。
  • 2.产品负责人(Product Owner),确定产品的方向和愿景,维护产品订单,定义产品发布的内容、优先级及交付时间,为产品投资回报率(ROI-Return On Investment)负责并保证Scrum团队在做从业务角度来说正确的事情。
  • 3.开发团队(Team),一个自管理、跨职能的小团队,人数5-9人,团队拥有交付可用软件需要的各种技能。

Scrum中的主要文档/工件包括:
  • 产品订单(Product Backlog)是整个项目的概要文档。包括所有所需特性的粗略的描述。产品订单是关于将要创建 的什么产品。产品订单是开放的,每个人都可以编辑。产品订单包括粗略的估算,通常以天为单位。估算将帮助产品负责人衡量时间表和优先级(例如,如果"增加 拼写检查"特性的估计需要花3天或3个月,将影响产品负责人对该特性的渴望)。产品负责人评估、排序后形成产品的高层需求。
  • 冲刺订单(Sprint Backlog)是大大细化了的文档,包含团队如何实现下一个冲刺的需求的信息。任务被分解为以小时为单位,没有任务可以超过16个小时。如果一个任务超过16个小时,那么它就应该被进一步分解。冲刺订单上的任务不会被分派,而是由团队成员签名认领他们喜爱的任务。它是要在冲刺中完成的任务清单。
  • 燃尽图(Burn Down Chart)是一个公开展示的图表,显示当前冲刺中未完成的任务数目,或在冲刺订单上未完成的订单项的数目,因整体上总是递减而得名。它统计的是已完成的任务,而不是消耗的工作量

Scrum中的主要实践包括:
  • 计划会议(Sprint Planning Meeting):在每个冲刺之初,由产品负责人讲解需求,并由开发团队进行估算的计划会议。
  • 每日例会、站立会议(Daily Standup Meeting):团队每天进行沟通的内部短会,因一般只有15分钟且站立进行而得名。 会上每个团队成员回答如下问题:昨天完成了那些工作?今天你打算做什么?完成你的目标是否存在什么障碍?(Scrum主管需要记下这些障碍:Blocks List)
  • 评审会议(Review Meeting):在冲刺结束前给产品负责人和其他相关的人员演示工作成果并接受评价的会议。 会议上应该保证明确地展示了本Sprint的业务目标。
  • 回顾会议(Retrospective Meeting):在冲刺结束后召开的关于冲刺回顾,Scrum过程持续改进的会议。会议中会对本次Sprint的所有故事、度量、事件,进行以下三方面的归类:做得好的,做得不对的、改进意见。(“做得不对的”表示:如果同样的事发生在下个Sprint,应该以不一样的方式来对待它。)

Scrum中的其他名词:
  • 冲刺、迭代(Sprint): 一个时间周期(通常在2周到1个月之间),开发团队会在此期间内完成所承诺的一组订单项的开发。在每一次冲刺(其长度由开发团队决定)当中,开发团队创建可用的(可以随时推出)软件的一个增量。每一个冲刺所要实现的功能来自产品订单(product backlog)。产品订单是按照优先级排列的要完成的工作的概要的需求,哪些订单项会被加入一次冲刺将由冲刺计划会议决定。 在会议中,产品负责人告诉开发团队他需要完成产品订单中的哪些订单项。开发团队决定在下一次冲刺中他们能够承诺完成多少订单项。在冲刺的过程中,没有人能够变更冲刺订单(sprint backlog),这意味着在一个冲刺中需求是被冻结的。
  • 用户故事:一种产品订单中需求描述的方法。什么角色做什么事情,因为要达到什么效果(原因)
  • 故事点:一个相对独立的功能点。
  • 度量:在过程中的一些度量值。如当前系统的BUG数。
  • 事件:过程中出现的一切事件。


Scrum过程全局图(Scrum on a page):

Scrum的一些通用实践:
  • 客户成为开发团队中的一部分。(例如客户肯定对开发的结果真正感兴趣。)
  • 和所有其他形式的敏捷软件过程一样,Scrum有频繁的包含可以工作的功能的中间可交付成果。这使得客户可以更早的得到可以工作的软件,同时使得项目可以变更项目需求以适应不断变化的需求。
  • 频繁的风险和缓解计划是由开发团队自己制定。– 在每一个阶段根据承诺进行风险缓解,监测和管理(风险分析)。
  • 计划和模块开发的透明 – 让每一个人知道谁负责什么,以及什么时候完成。
  • 频繁的利益所有人会议,以跟踪项目进展 – 平衡的(发布,客户,员工,过程)仪表板更新 – 利益所有者更新 – 你必须拥有预警机制,例如提前了解可能的延迟或偏差。
  • 没有问题会被藏在地毯下。认识到或说出任何没有预见到的问题并不会受到惩罚。
  • 在工作场所和工作时间内必须全身心投入。– 完成更多的工作并不意味着需要工作更长时间。

参考:
Scrum- 维基百科
认识自我管理自我_Scrum方法总概
  • 大小: 43.1 KB
  • 大小: 480.8 KB
分享到:
评论

相关推荐

    Agile/ Scrum总结

    #### Scrum工作流示例:产品负责人在Scrum中的角色 - **愿景构建**:产品负责人需具备清晰的产品愿景,能够将其传达给团队,这是成功启动敏捷软件开发项目的关键。 - **产品待办事项管理**:维护一个优先级排序的...

    Agile Scrum基础指南.pdf

    敏捷Scrum认证,如EXIN Agile Scrum Foundation认证,旨在确保那些获得证书的个人能够理解Scrum框架的基础知识,并能在实践中运用这些原则和技巧。认证的官方教材通常会涵盖Scrum的核心理论和实践,以及如何在各种...

    Pro Agile .NET Development with Scrum

    Scrum通过定义角色、事件和工件来帮助团队更加高效地开发、交付和维护复杂产品。本书对Scrum进行了初步介绍,并通过SuperJumper项目的实际应用,来具体阐述Scrum框架中的各个组成部分,如产品待办事项列表、Sprint、...

    Agile product management with Scrum

    Scrum定义了三种主要角色:产品负责人(Product Owner)、Scrum Master和开发团队(Development Team)。 - **产品负责人**:负责定义产品的愿景和优先级,确保团队的工作符合业务目标。 - **Scrum Master**:负责确保...

    agile-open-2015:敏捷公开赛 2015

    核心敏捷原则包括:个体和互动高于流程和工具,可工作的软件高于详尽的文档,客户协作高于合同谈判,以及响应变化高于遵循计划。 【CSS:层叠样式表】 "CSS"(层叠样式表)是用于描述网页及应用程序用户界面外观和...

    Scrum敏捷项目管理.pptx

    - Scrum作为一种敏捷方法的具体实践,通过定义明确的角色、流程和工作产品来实现高效开发。 - 实施敏捷方法可以帮助团队更好地管理项目风险,提高产品质量和客户满意度。 通过以上内容,我们可以看到敏捷方法论在...

    Agile-Team-Project

    例如,`<html>`定义了整个文档,`<head>`包含了元数据,如标题和样式表链接,而`<body>`则包含了用户可见的内容,如段落`<p>`、标题`<h1>`至`<h6>`、图像`<img>`等。 在敏捷项目中,团队成员需要具备良好的沟通和...

    awesome-agile-essentials:很棒的敏捷软件开发的概念和资源列表,来自精选的项目管理内容,课程等!

    9. **课程与资源**:“awesome-agile-essentials”可能包含各种资源,如书籍、在线课程、文章和博客,帮助学习者深入了解敏捷实践和技巧,提升敏捷项目管理能力。 通过这个压缩包,你将能够探索敏捷开发的世界,...

    agile-technodynamics

    在敏捷开发中,JavaScript作为一门多用途的编程语言,扮演着至关重要的角色。JavaScript广泛应用于前端开发,用于构建交互式用户界面和动态网页。同时,随着Node.js的兴起,JavaScript也能够应用于后端开发,实现了...

    敏捷SCRUM为Trello板「Agile SCRUM for Trello boards」-crx插件

    - 博客文章+截图:http://xaviesteve.com/5109/agile-scrum-trello-boards/ 更新日志 ------------------- ★1.4.3 - 修复了不能检测到长度超过3个字符(0 / 10.5)的故事点的问题 - 改进了检测变化和渲染电路板...

    MSF for Agile Software Development - 4.0 中文版

    1. **角色定义** - MSF定义了多个关键角色,如项目发起人、产品负责人、Scrum Master和开发团队成员。每个角色都有明确的职责,确保团队成员能有效地协作。 2. **过程指导** - 提供了一套敏捷过程模板,包括敏捷...

    Introducting in Agile Process

    - **角色调整**:明确新的角色定义,如Scrum Master、产品负责人等,以适应敏捷团队的运作方式。 ### 结论 敏捷过程的引入并非一蹴而就,它需要时间、耐心和策略。通过有效的规划、教育和逐步实施,组织可以成功...

    Scrum 介绍 (官方培训PPT)

    在Scrum框架中,没有预定义的工程实践,这意味着团队可以根据自己的具体情况选择最佳实践,如持续集成、测试驱动开发(TDD)和结对编程等。Scrum的实施旨在创造一个敏捷的开发环境,鼓励团队创新,通过透明度、检查...

    Scrum敏捷软件开发Software.Development.Using.Scrum

    - **规模化敏捷(Scaled Agile Framework, SAFe)**:一种框架,旨在帮助大型组织更有效地采用Scrum和其他敏捷实践。 - **精益启动(Lean Startup)**:结合敏捷开发与精益生产原则的方法论,旨在快速验证产品想法并...

    敏捷Agile开发 敏捷无敌 coaching_agile_teams

    产品负责人负责定义需求和优先级,Scrum Master是团队的教练和流程守护者,而开发团队则负责实现功能并保证质量。 4. **持续集成与自动化测试**:敏捷开发重视自动化测试和持续集成,以快速发现并修复问题,提高...

    scrum primer

    Scrum 定义了三个主要角色: 1. **产品负责人 (Product Owner)**:负责管理产品待办事项列表 (Product Backlog),并与客户和其他利益相关者保持沟通,确保产品符合市场和客户需求。 2. **Scrum Master**:负责确保...

    Agile related resources

    宣言中列出了4个核心价值观和12条原则,强调个体和互动高于流程和工具,可工作的软件高于详尽的文档,客户协作高于合同谈判,以及响应变化高于遵循计划。 2. 敏捷框架与方法 - Scrum:一种最流行的敏捷框架,通过...

    awesome-agile:关于敏捷软件开发的资源真棒清单

    敏捷宣言(Agile Manifesto)是敏捷开发的核心,强调了个体和互动、可工作的软件、客户合作以及对变化的响应胜过过程和工具、详尽的文档、合同谈判以及遵循计划。敏捷原则则进一步解释了如何实现这些价值观。 **...

Global site tag (gtag.js) - Google Analytics