SCRUM框架及基本知识

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1什么是SCRUM一个轻量级的软件开发方法Scrum是一个敏捷开发框架,是一个增量的、迭代的开发过程.。在这个框架中,整个开发周期包括若干个小的跌代周期,每个小的的跌代周期称为一个Sprint,每个Sprint的建议长度2到4周。在Scrum中,使用产品Backlog来管理产品或项目的需求,产品backlog是一个按照商业价值排序的需求列表,列表条目的体现形式通常为用户故事。Scrum的开发团队总是先开发的是对客户具有较高价值的需求。在每个Sprint中,Scrum开发团队从产品Backlog中挑选最有价值的需求进行开发。Sprint中挑选的需求经过Sprint计划会议上的分析、讨论和估算得到一个Sprint的任务列表,我们称它为Sprintbacklog。在每个迭代结束时,Scrum团队将交付潜在可交付的产品增量。一个简单的开发框架图表1一个简单的开发框架Scrum由三个角色,六个时间箱,四个工件组成:三个角色:1.产品负责人(ProductOwner)2.ScrumMaster3.Scrum团队六个时间箱:1.Sprint2.发布计划会议(ReleasePlanningMeeting)3.Sprint计划会议(SprintPlanningMeeting)4.每日站会(DailyScrumMeeting)5.Sprint评审会议(SprintReviewMeeting)6.Sprint回顾会议(SprintRetrospectiveMeeting)四个工件1.产品Backlog(ProductBacklog)2.发布燃尽图(ReleaseBurndownChart)3.SprintBacklog(SprintBacklog)4.Sprint燃尽图(SprintBurndownChart)一个经历过时间考验的开发过程Scrum最早由JeffSutherland在1993年提出,KenSchwaber在1995年OOPSLA会议上形式化了Scrum开发过程,并向业界公布。之后,Scrum成为领先的敏捷开发方法之一,目前世界上有超过500家公司在使用Scrum。2Scrum三个角色及其职责介绍每个Scrum团队包括3个角色:产品负责人(ProductOwner),ScrumMaster和Scrum团队。产品负责人产品负责人的职责:确定产品的功能,负责维护产品Backlog。决定产品的发布日期和发布内容。为产品的投资回报率(ROI)负责。根据市场价值确定功能优先级。在每个Sprint开始前调整功能和调整功能优先级。在Sprint结束时接受或拒绝接受开发团队的工作成果。产品负责人是一个人,而不是一个委员会。可能会有一些委员会向产品负责人提出建议或影响他的决策,但要想改变某条目的优先级必须先说服产品负责人。实施Scrum的企业可能发现这样会影响他们制定优先级和需求的方法。为保证产品负责人的工作取得成功,企业中的所有人员都必须尊重他的决定。任何人都不得要求团队按照另一套优先级开展工作,团队也不允许听从任何人带有威胁恐吓性的指令。产品负责人所作的决定需要通过产品Backlog内容和优先级使其可视化。这种可视化要求产品负责人全力以赴,同时也使其成为一个费心费力但又值得去做的角色。ScrumMasterScrumMaster作为TeamLeader和Productowner紧密地工作在一起,他可以及时地为团队成员提供帮助。他必须:保证团队资源完全可被利用并且全部是高产出的。保证各个角色及职责的良好协作。解决团队开发中的障碍。做为团队和外部的接口,屏蔽外界对团队成员的干扰。保证开发过程按计划进行,组织每日站会、Sprint计划会议、Sprint评审会议和Sprint回顾会议。ScrumMaster除了主持每日站会(DailyScrumMeeting)之外,还有三个主要职责:ScrumMaster需要知道什么任务已经完成,哪些任务已经开始,哪些新的任务已发现,和哪些估算可能已经发生变化。ScrumMaster需要根据以上的情况更新反映每天完成的工作量以及还有多少没有完成的燃尽图(BurndownChart)。ScrumMaster还必须仔细考虑同时在进行开发的任务数,同时进行的工作需要做到最小化,以实现精益生产率的收益。该ScrumMaster需要找出阻碍团队的障碍和依赖。他们需要的优先次序和跟踪。根据优先级指定计划解决这些障碍。其中有些问题可以在团队内部解决,有些则要团队之间的协调,还有的要管理层的介入来解决,甚至有些是公司的问题阻碍了团队达到他们的生产力。比如:一个电信公司最近实施了Scrum,但后来发现只有两个问题和ScrumTeam有关,其他的全是公司的问题需要管理层关注。最后但并非最不重要,ScrumMaster可能会注意到,个人问题或冲突在Scrum里是需要解决的。这些都需要被澄清,或通过内部的沟通解决,或向管理层和HR寻求帮助解决。ScrumMaster必须注意去确保团队资源完全可被利用并且全部是高产出的。Scrum团队Scrum团队的职责是在每个Sprint中将产品Backlog中的条目转化成为潜在可交付的功能增量。Scrum团队的一些特点:1.Scrum团队的规模控制在5-9个人。如果成员少于5人,那么相互交流就减少了,团队的生产力也会下降。更重要的是,团队在Sprint中可能会受到技能限制,从而导致无法交付可发布的产品模块。如果成员多于9人,那么成员之间就需要太多的协调沟通工作。大型团队会产生太多复杂性,不便于经验过程控制。对于大型项目来说,可以采用多个小的Scrum团队,通过ScrumofScrums解决团队间的沟通协调问题。2.Scrum团队是跨职能的团队。团队成员必须具备交付产品增量所需要的各种技能。团队成员常常具备如编程、质量控制、业务分析、架构、用户界面设计或数据库设计等的专业技能。在Scrum团队中没有头衔的概念,每个人都必须尽心尽力完成Sprint目标。团队中不允许包括测试或业务分析等在特定领域工作的子团队。3.Scrum团队是自组织的。任何人,包括ScrumMaster都没有权利规定团队如何将产品Backlog转化成可交付的功能增量,而是由团队自己确定。每个团队成员利用自己的专业技能,解决遇到的问题。这种协同配合提高了团队整体效率。团队的构成在Sprint结束时可能会发生变化,每次团队成员的变化,都会降低通过自组织而获取的生产力。因此,改变团队构成时务必要谨慎。3Scrum的四个工件在Scrum中有四个工件:产品Backlog(ProductBacklog),发布燃尽图(ReleaseBurndownChart),SprintBacklog和Sprint燃尽图(SprintBurndownChart)产品Backlog(ProductBacklog)产品backlog是一个产品或项目期望的、排列好优先级的功能列表。优先级由商业价值、风险、和必要性决定。产品负责人负责产品Backlog的内容、可用性和优先级。产品Backlog永远不会是完整的,最初的版本只列出最基本的和非常明确的需求,这些需求至少要足够一个Sprint开发。随着团队对产品,以及它的客户或用户的了解,产品Backlog在不断的演进,所以产品Backlog是动态的,它经常发生变化以确保产品更合理、更具竞争力和更有用。只要产品存在,产品Backlog就存在。产品Backlog中包含开发和交付成功产品需要的所有条件和因素。产品Backlog条目的属性包括描述、优先级和估算。产品Backlog的条目可以包括功能性需求(使用业务语言描述,以用户为中心),也包括非功能性需求(从技术层面出发,产品需要具备的能力)。使用用户故事来描述产品Backlog条目是一个非常有效的实践,我们通常也把验收条件或验收测试作为产品Backlog条目的一个属性。优先级高的产品Backlog条目需要立即进行开发。优先级越高的条目越详细,优先级越低的条目越概括。这里有一个Excel版本的产品Backlog中文模板供您下载:发布燃尽图(ReleaseBurndownChart)在Scrum项目中,团队通过每个Sprint结束时更新的发布燃尽图来跟踪整个发布计划的进展。发布燃尽图记录了在一段时间内产品Backlog的总剩余估算工作量的变化趋势。X轴代表的项目周期,以Sprint为单位,Y轴代表的是剩余工作量,通常以用户故事点、理想人天或者team-days为单位。上述Excel版本的产品Backlog模板中提供了发布燃尽图的样例,请参考。SprintBacklogSprintBacklog是团队承诺在当前Sprint完成的任务列表。SprintBacklog中的任务是由产品Backlog选取的需求条目细化和分解而来,这些任务要确保将产品Backlog条目转化为潜在可交付的产品增量。在Sprint的中选择完成哪些产品Backlog条目取决于产品Backlog中条目的优先级以及团队完成这些不同条目所花费时间。选择哪些条目和多少条目放入SprintBacklog由团队决定。因为由团队承诺去完成这些任务,所有必须由他们自己来做决定。在整个Sprint过程中,团队持续的修改SprintBacklog,一些新的任务也会在Sprint过程中涌现出来。因为它涉及到个体要完成的任务,所以有时候会遗漏一些任务,或者一些任务不再需要了,亦或某项任务耗费的时间超出了估算或者低于估算。当出现新任务时或者工作量发生变化时,团队需要将其更新到SprintBacklog中去。随着任务进行或者被完成,需要更新每项任务的剩余工作估算小时数。如果某项任务失去开发的意义,就可以将其除去。在Sprint内只有团队可以对SprintBacklog进行修改,也只有团队可以对列表的内容或估算进行修改。SprintBacklog是高可见度的,是对团队计划在当前Sprint内完成工作的实时反映,并且,该列表只属于团队。这里有一个Excel版本的SprintBacklog中文模板供您下载:燃尽图(SprintBurndownChart)SprintBurndownChart显示了Sprint中累积剩余的工作量,它是一个反映工作量完成状况的趋势图。图中Y轴代表的是剩余工作量,X轴代表的是Sprint的工作日。在Sprint开始的时候,ScrumTeam会标示和估计在这个Sprint需要完成的详细的任务。所有这个Sprint中需要完成,但没有完成的任务的工作量是累积工作量,Scrummaster会根据进展情况每天更新累积工作量,如果在Sprint结束时,累积工作量降低到0,Sprint就成功结束。ProductBacklog功能点被放到Sprint的固定周期中,SprintBacklog会因为如下原因发生变化:1.随着时间的变化,开发团队对于需求有了更好的理解,有可能发现需要增加一些新的任务到SprintBacklog中。2.程序缺陷做为新的任务加进来,这个都做为承诺提交任务中未完成的工作,这些也许可以分开进行跟踪。ProductOwner也许会和Scrumteam一起工作,以帮助team更好的理解Sprint的目标,ScrumMaster和team也许会觉得小的调整不会影响sprint的进度,但会给客户带来更多商业价值。由于在Sprint的刚开始的时候,增加的任务工作量可能大于完成的任务工作量,所以燃尽图有可能呈上升趋势。4Scrum的六个时间箱时间箱机制是Scrum的一个非常重要的方面。在Scrum框架中有六个时间箱。时间箱一:SprintSprint的本意是指冲刺,在Scrum中,一个Sprint就是一个迭代,Sprint长度通常2-4周,它是一个时间箱,在项目进行过程中不允许延长或缩短Sprint长度。在Sprint中,S

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功