`
desert3
  • 浏览: 2140104 次
  • 性别: 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
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics