




免费预览已结束,剩余2页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
敏捷软件开发模型-SCRUM敏捷软件开发模型-SCRUM 一 什么是Scrum? Scrum (英式橄榄球争球队), 软件开发模型是敏捷开发的一种,在最近的一两年内逐渐流行起来。Scrum的基本假设是: 开发软件就像开发新产品,无法一开始就能定义软件产品最终的规程,过程中需要研发、创意、尝试错误,所以没有一种固定的流程可以保证专案成功。Scrum 将软件开发团队比拟成橄榄球队,有明确的最高目标,熟悉开发流程中所需具备的最佳典范与技术,具有高度自主权,紧密地沟通合作,以高度弹性解决各种挑战,确保每天、每个阶段都朝向目标有明确的推进。Scrum 开发流程通常以 30 天(或者更短的一段时间)为一个阶段,由客户提供新产品的需求规格开始,开发团队与客户于每一个阶段开始时挑选该完成的规格部分,开发团队必须尽力于 30 天后交付成果,团队每天用 15 分钟开会检查每个成员的进度与计划,了解所遭遇的困难并设法排除。二 Scrum较传统开发模型的优点 Scrum模型的一个显著特点就是响应变化,它能够尽快地响应变化。下面的图片使用传统的软件开发模型(瀑布模型、螺旋模型或迭代模型)。随着系统因素(内部和外部因素)的复杂度增加,项目成功的可能性就迅速降低。下图是Scrum模型和传统模型的对比: 三 Scrum模型一) 有关Scrum的几个名词backlog: 可以预知的所有任务, 包括功能性的和非功能性的所有任务。Sprint:一次跌代开发的时间周期,一般最多以30天为一个周期.在这段时间内,开发团队需要完成一个制定的backlog,并且最终成果是一个增量的,可以交付的产品。sprint backlog:一个sprint周期内所需要完成的任务。scrumMaster: 负责监督整个Scrum进程,修订计划的一个团队成员。time-box: 一个用于开会时间段。比如每个daily scrum meeting的time-box为15分钟。sprint planning meeting: 在启动每个sprint前召开。一般为一天时间(8小时)。该会议需要制定的任务是:产品Owner和团队成员将backlog分解成小的功能模块, 决定在即将进行的sprint里需要完成多少小功能模块,确定好这个Product Backlog的任务优先级。另外,该会议还需详细地讨论如何能够按照需求完成这些小功能模块。制定的这些模块的工作量以小时计算。Daily Scrum meeting:开发团队成员召开,一般为15分钟。每个开发成员需要向ScrumMaster汇报三个项目:今天完成了什么?是否遇到了障碍?即将要做什么?通过该会议,团队成员可以相互了解项目进度。Sprint review meeting:在每个Sprint结束后,这个Team将这个Sprint的工作成果演示给Product Owner和其他相关的人员。一般该会议为小时。Sprint retrospective meeting:对刚结束的Sprint进行总结。会议的参与人员为团队开发的内部人员。一般该会议为小时。二)实施Scrum的过程简单介绍1) 将整个产品的Product backlog分解成Sprint Backlog,这个Sprint Backlog是按照目前的人力物力条件可以完成的。2) 召开sprint planning meeting,划分、确定这个Sprint内需要完成的任务,标注任务的优先级并分配给每个成员。注意这里的任务是以小时计算的,并不是按人天计算。3) 进入sprint开发周期,在这个周期内,每天需要召开Daily Scrum meeting。4) 整个sprint周期结束,召开Sprint review meeting,将成果演示给Product Owner。5) 团队成员最后召开Sprint retrospective meeting,总结问题和经验。6) 这样周而复始,按照同样的步骤进行下一次Sprint。整个过程如下图所示:The diagrams in this article areall from web site:. Thanks very much!参考:/about//Taiwan/msdn/columns/200311softdev.htm半SCRUM计划与时间的矛盾思考与疑问起因:由于需求总是在不断的变化,越来越多的公司开始尝试SCRUM,希望这种新致的开发流程能够最大程度的降低需求变化的影响,如期交付客户满意的产品。什么是SCRUM:SCRUM是一个迭代的、增量的产品开发以及工作管理流程。其中包含了风险控制,解决最优先需求,团队高效协作等各种思想。通常什么样的项目适合SCRUM:SCRUM的项目通常会有一些共性。1. 项目的需求较容易改变。2. 项目周期较长。(通常大于3次迭代)3. 项目分期开发,迭代增量。理想SCRUM团队的特点:1. 项目人数较少。这有助于项目成员之间的彼此了解,也有助于Scrum Master了解每个人的状况。2. 项目成员乐于沟通。由于需求的不断变化,SCRUM团队往往比其他的团队需要更多的沟通;而团队成员之间的交流和了解也有助于提高项目的开发效率(比如碰到新技术时,直面的请教要比摸索需要的时间短的多)。3. 项目成员有较强的凝聚力,能够在工作时间全身投入,在休息时间好好放松。就像字面理解sprint一样,要冲刺的时候,自然要精神集中;而要不断的冲刺,又要学会放松自己。我的SCRUM:自己目前所处的环境有点半SCRUM的状态,也许许多公司里的项目Leader有相同的窘境。我们不是通常所说的SCRUM Master,因为和客户的沟通并不是点对点的,可能还有市场部,老板等多点形成的网络关系。客户自然是站在客户的一边,老板和市场部则都有可能,有时站在客户一边,有时站在我们一边。如何良好控制需求变化成为我不得不仔细思考的问题。计划与时间的矛盾:需求并不能够总是在每个sprint开始就详细到每个细节。例子一、一个见过的类似模块通常开发时间是20小时人。当组员开发到一半的时候突然发现其中以细节需要客户确认;结果客户10天后才给予答复。例子二、客户和自己不在同一个时区,几乎所有交流依赖于邮件,最快答复往往也得等到第二天。例子三、在一个sprint进行到一半时,客户告知:计划会议时所提的需求不是我们真正想要的需求,我们想要的是例子四、组员A在开发时被某技术block住了,而又没能及时提出,他以为在XX日前能完成某模块。例子五、组员B在sprint中,家里出现意外,不得不离开。总结与疑问:例子一和例子二遇到的问题本质是相同的:客户不能对需求做出及时回复。例子三,在项目中期,客户大规模改动需求。宣告sprint失败?为开发团队争取更多的时间?如何做?例子四,daily meeting很重要。及时了解团队成员的状态。例子五,我们需要为意外做多少准备?各种可能出现的问题,我们该如何估计时间?根据不同的客户预留多少Buffer?为意外预留多少Buffer?对完成定义的一个参考Scrum中文网 2009-08-23 21:34:37 作者:XiaoYan 来源:ScrumCN 文字大小:大中小一个敏捷项目有它的仪式(sprint计划,发布计划,sprint回顾等)和度量(sprint &发布燃尽图),旨在确保该项目处在一个健康的状态。不幸的是,在严格地按照所有的仪式操作之后,很多敏捷项目仍然失败了。为什么?主要原因之一是,他们没有能够在每个sprint结束时提供给客户价值。他们在每个sprint结束时提供了产品,但不是潜在可交付的软件成品。这里有失败的根本原因。在每个sprint结束时,这些项目提供的软件只是半测试、半证明、半重构以及半预备好发布的。 一个对于“完成”的明确而具体的定义,看起来很微小,但它可能是敏捷项目最具决定性的关卡。没有一个关于“完成”的一致定义,速度也将无法估计。相反,一个共同的“完成”定义,可以确保在sprint结束时产生的增量是高质量和缺陷最小的。关于“完成”的定义是整个Scrum过程的灵魂。 在探讨完成的定义之前,很重要的是定义另一个Scrum术语:潜在可交付产品。什么是潜在的可交付产品? 一个潜在的可交付产品是一个已经被设计、开发和测试,因此准备分配给在该公司的任何人审查,甚至是给任何外部利益相关者。坚持遵照“完成”标准的清单,可以确保该sprint的产品是真正可交付的。敏捷团体在什么是可交付和什么是潜在可交付上意见有所不同。很多敏捷的从业人员认为,潜在的可交付就是离发布只差一个sprint。另一些人则认为潜在可交付意味着那个sprint一结束就准备交给客户。那我们对它的定义是什么呢? 为了建立一个参考,在本文中“完成”是指在每个sprint开发的特性应当百分之百地完成,无论这个要求对于你特殊的情况意味着什么。 什么是Scrum?一个轻量级的软件开发方法Scrum是一个敏捷开发框架,是一个增量迭代的开发过程.。在这个框架整个开发周期由若干个小的跌代周期,每个小的的跌代周期称为一个Sprint,每个Sprint的长度2到4周。在每个Sprint中,Scrum的开发团队拿到一个排列好优先级的需求列表,我们称它为用户故事或者叫Sprint backlog,所以我们先开发的是对客户具有较高价值的需求。在每个迭代结束后,都会开发完成可交付的产品。Scrum由三个角色,三种活动,3种交付物组成:三个角色:Product OwnerScrum MasterScrum Team三种活动:the sprint planning meetingdaily scrum meetingssprint review meetings3种产物:the product backlogthe sprint backloga burndown chartScrum的特点: Scrum是一个敏捷的流程,可用于管控研发工作。 Scrum是现有设计流程的总结。 Scrum以团队为基础,是一种在需求求迅速变化情况下迭代地、增量地开发系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 夜间施工周边居民沟通协调方案
- 锂电池生产流程自动化与物联网整合方案
- 病房改造项目风险评估与应对方案
- 校园消防安全教育-讲话
- 校园安全教育管理讲座
- 消防大队校园安全教育
- 公路项目勘察与设计方案
- 给水工程水库建设与管理方案
- 给水工程供水管网设计方案
- 地热供暖示范项目配套技术方案
- 污水处理考试题包含答案
- 《排污许可管理条例》解读
- 虹桥智慧伴游服务系统项目
- PDCA循环法在提高ICU患者床单元消毒的合格率中的应用
- 浙江省医疗机构制剂许可证换发证检查标准
- GB/T 27696-2011一般起重用4级锻造吊环螺栓
- GB/T 14365-2017声学机动车辆定置噪声声压级测量方法
- 2022年东台市城市建设投资发展集团有限公司招聘笔试试题及答案解析
- 保险金信托基础知识课件
- 高中必修人教A版高中数学必修1指数函数一 完整版课件PPT
- QC080000有害物质管理评审报告
评论
0/150
提交评论