Scrum敏捷开发管理办法20150921_第1页
Scrum敏捷开发管理办法20150921_第2页
Scrum敏捷开发管理办法20150921_第3页
Scrum敏捷开发管理办法20150921_第4页
Scrum敏捷开发管理办法20150921_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 Scrum敏捷开发管理办法 第 11 页 共 11 页Scrum敏捷开发管理办法V1.0一、 敏捷开发概念简单的说,敏捷开发是一种以人为核心、迭代、循序渐进、小步快走的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。二、 敏捷开发特征开发方法要称之为敏捷,需要具备4个基本特征:增量的、协作的、直接的、适应性强的。增量”是指小版本、频繁发布。“协作”是指客户和开发人员之间紧密沟通,经常工作在一起。“直接”是指方法本身是容易

2、学习和修改的。“适应”是指能把刚刚发生的改变考虑进来。 三、 敏捷开发宣言个体和交互 胜过 过程和工具可以工作的软件 胜过 面面俱到的文档客户合作 胜过 合同谈判响应变化 胜过 遵循计划虽然右项也很有价值,但是我们认为左项具有更大的价值四、 敏捷宣言遵循的原则我们遵循以下原则: 我们最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意。 即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势。 经常性的交付可以工作的软件,交付的间隔可以从几星期到几个月,交付间隔越短越好。 在整个项目开发期间,业务人员和开发者必须天天都在一起工作。 围绕被激励起来的个体来构建项目。给他

3、们所需的环境和支持,并且信任他们能够完成工作。 在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交谈。 可以工作的软件是首要的进度度量标准。 敏捷过程提倡可持续的开发速度。责任人、开发人员和用户应该保持长期的、恒定的开发速度。 不断的关注优秀的技能和好的设计会增强敏捷能力。 简单尽可能减少工作量的艺术至关重要。 最好的架构、需求和设计出自于自组织的团队。 每隔一定时间,团队都要总结如何才能更有效的工作,然后相应地调整自己的行为。五、 Scrum的定义Scrum是一个轻量级的软件开发方法。Scrum是一个敏捷开发框架,是一个增量的、迭代的开发过程。在这个框架中,整个开发周期包括若

4、干个小的迭代周期,每个迭代周期称为一个Sprint,每个Sprint的建议长度是2到4周。在Scrum中,使用产品BackLog来管理产品或者是项目的需求,产品backLog是一个按照商业价值排序的需求列表,列表条目的体现形式通常为Story。Scrum开发团队从产品BackLog中挑选最有价值的需求进行开发。Sprint中挑选的需求经过Sprint计划会议上的分析,讨论和估算得到一个sprint的任务列表,我们称为Spring backLog。在每个迭代结束时,Scrum团队将交付潜在的可交付的产品增量。六、 Scrum框架术语类型术语解释3个角色PO(Product Owner)产品负责人

5、,类似产品经理岗位SM(Scrum Master)Scrum活动管理者或教练,类似项目经理岗位Scrum Team(团队)Scrum团队3个工件产品backlog(Product Backlog)产品特性列表,类似需求列表,产品特性计划会议后的输出Sprint Backlog迭代任务列表,Sprint计划会议后的输出燃尽图(Burn-down Chart)燃尽图,进度跟踪的图表工具5个活动产品Backlog梳理会议( Product Backlog Refinement)产品特性计划会,类似产品范围规划活动Sprint计划会议(Sprint Planning Meeting)Sprint计划会

6、议,类似项目需求澄清、任务分解活动每日站会(Daily Scrum Meeting)每日简会,类似日工作汇报活动Sprint评审会议(Sprint Review Meeting)Sprint评审会,类似软件集成活动Sprint回顾会议(Sprint Retrospective Meeting)Sprint回顾会,类似项目回顾及反思总结活动5个价值1. 承诺 愿意对目标做出承诺2. 专注 把你的心思和能力都用到你承诺的工作上去3. 开放 Scrum 把项目中的一切开放给每个人看4. 尊重 每个人都有他独特的背景和经验5. 勇气 有勇气做出承诺,履行承诺,接受别人的尊重Sprint冲刺,指某一次迭

7、代开发阶段用户故事(User Story)用户故事,从系统各种用户的各自使用场景角度来描述的功能要求,类似需求规格说明任务看板任务墙,任务跟踪的白板工具障碍列表障碍列表,风险记录跟踪的工具七、 SCRUM理论基础Scrum以经验性过程控制理论(经验主义)做为理论基础的过程。经验主义主张知识源于经验, 以及基于已知的东西做决定。Scrum 采用迭代、增量的方法来优化可预见性并控制风险。Scrum 的三大支柱支撑起每个经验性过程控制的实现:透明性、检验和适应。Scrum的三大支柱如下:第一:透明性(Transparency)透明度是指,在软件开发过程的各个环节保持高度的可见性,影响交付成果的各个方

8、面对于参与交付的所有人、管理生产结果的人保持透明。管理生产成果的人不仅要能够看到过程的这些方面,而且必须理解他们看到的内容。也就是说,当某个人在检验一个过程,并确信某一个任务已经完成时,这个完成必须等同于他们对完成的定义。第二:检验(Inspection)开发过程中的各方面必须做到足够频繁地检验,确保能够及时发现过程中的重大偏差。在确定检验频率时,需要考虑到检验会引起所有过程发生变化。当规定的检验频率超出了过程检验所能容许的程度,那么就会出现问题。幸运的是,软件开发并不会出现这种情况。另一个因素就是检验工作成果人员的技能水平和积极性。第三:适应(Adaptation)如果检验人员检验的时候发现

9、过程中的一个或多个方面不满足验收标准,并且最终产品是不合格的,那么便需要对过程或是材料进行调整。调整工作必须尽快实施,以减少进一步的偏差。Scrum中通过三个活动进行检验和适应:每日例会检验Sprint目标的进展,做出调整,从而优化次日的工作价值;Sprint评审和计划会议检验发布目标的进展,做出调整,从而优化下一个Sprint的工作价值;Sprint回顾会议是用来回顾已经完成的Sprint,并且确定做出什么样的改善可以使接下来的Sprint更加高效、更加令人满意,并且工作更快乐。八、 Scrum开发模型引用自火星人敏捷开发手册九、 Scrum的角色及职责先来说一个故事:一只鸡对一头猪说:“我

10、们合伙开家饭店吧!”猪想了想,说:“好啊!那我们给这个饭店起个什么名字呢?”鸡说:“就叫【鸡蛋和火腿】好了!”猪回答道:“那还是算了吧,你要做的只是下几只鸡蛋,而我却把命都搭上了!”因此,我们把与开发相关的干系人分为两类,“猪”类人员和“鸡”类人员。Scrum中,以下几个角色都是“猪”类人员,他们把所有的时间和精力都投入到产品的开发中,并对产品完全负责:1、 产品负责人产品负责人(Product Owner)的职责如下: 为产品的ROI负责。 确定产品的功能。 决定发布的日期和发布内容。 根据市场价值确定功能优先级。 每个Sprint,根据需要调整功能和优先级(每个Sprint开始前调整)。

11、接受或拒绝接受开发团队的工作成果。 Product Owner参与Scrum planning。2、 ScrumMaster作为Team Leader和Product owner紧密地工作在一起,他可以及时地为团队成员提供帮助。 他必须: 保证团队资源完全可被利用并且全部是高产出的。 保证各个角色及职责的良好协作。 解决团队开发中的障碍。 做为团队和外部的接口,屏蔽外界对团队成员的干扰。 保证开发过程按计划进行,组织 Daily Scrum, Sprint Review and Sprint Planning meetings。3、 团队负责产品的开发 一般情况人数在5-9个左右 团队要跨职能

12、(包括开发人员、测试人员、用户界面设计师等) 团队成员需要全职。(有些情况例外,比如数据库管理员) 在项目向导范围内有权利做任何事情已确保达到Sprint的目标。 高度的自组织能力。 向Product Owner演示产品功能。 团队成员构成在sprint内不允许变化。 团队整体向产品开发负责。十、 Scrum工件1、 产品Backlog有优先级的故事列表,并估算故事点2、 Sprint Backlog当前Sprint要完成的任务列表,并估算工时 团队成员自己挑选任务,而不是指派任务 对每一个任务,每天要更新剩余的工作量估算 每个团队成员都可以修改Sprint backlog,增加、删除或者修改

13、任务3、 发布燃尽图直观反应当前发布剩余的工作量,以Sprint周期数和故事点数为单位。4、 Sprint燃尽图Sprint燃尽图直观的反映了Sprint过程中,剩余的工作量情况,Y轴表示剩余的工作,X轴表示Sprint的时间。随着时间的消耗工作量逐渐减少,在开始的时候,由于估算上的误差或者遗漏工作量有可能呈上升态势。十一、 Sprint过程1、 Sprint计划会议 团队从产品backlog中挑选他们承诺完成的条目。(做什么) 创建Sprint Backlog (怎么做) 标识具体的任务并为任务做估算 由团队协作完成,而不是Scrum Master 考虑了高层设计2、 Scrum每日站会团队

14、每天进行15分钟的检验和适应的会议称为Scrum每日站会。每日站会上,每个团队成员需要汇报以下三个问题: 昨天你完成了什么 今天你将完成什么 完成今天的工作有什么障碍或需要协助 汇报的对象是团队,不是任何一位领导(PO,SM,团队负责人)。汇报的重点在于第3个问题,即提出问题,进而解决。每日站会不是进度汇报会议,这个会议是为将产品backlog条目转化成为增量的人(团队)召开的。团队承诺实现Sprint目标和完成产品Backlog条目。每日站会是检验朝向Sprint目标的进程,如果有必要进行后续会议对Sprint中的下一步工作进行调整,目的在在于增加团队实现目标的可能性。这是Scrum经验过程

15、中的重要检验和适应的会议。3、 Sprint评审会议Sprint评审会议用来演示在这个Sprint中开发的产品功能给Product Owner. Produc Owner会组织这阶段的会议并且邀请相关的干系人参加。 团队展示Sprint中完成的功能 一般是通过现场演示的方式展现功能和架构 不要太正式 不需要PPT 一般控制在半个小时 团队成员都要参加 可以邀请所有人参加4、 Sprint回顾会议Sprint回顾会议上,全体成员讨论有哪些好的做法,哪些不好的做法,好的做法要继续发扬,共同确定一项需改进的点在下个迭代进行改进。 团队的定期自我检视,发现什么是好的,什么是不好的,持续改进 一般控制在

16、2个小时 每个Sprint都要做 全体参加 Scrum Master 产品负责人 团队 可能的客户或其它干系人十二、 Scrum开发流程A. 我们首先需要确定一个Product Backlog(按优先顺序排列的一个产品需求列表),这个是由Product Owner 负责的。确定优先级从4个方面考虑:1、获得这些功能可带来的经济价值;2、开发(可能还包含支持)新功能所需的成本;3、开发新功能所产生的学习和知识的量及重要性;4、开发这些功能所减少的风险。B. Scrum Team根据Product Backlog列表,做工作量的预估和安排。C. 有了Product Backlog列表,我们需要通过

17、 Sprint Planning Meeting(Sprint计划会议) 来从中挑选出一批Story作为本次迭代完成的目标,这个目标的时间周期是14个星期,然后把这个Story进行细化,形成一个Sprint Backlog。D. Sprint Backlog是由Scrum Team去完成的,每个成员根据Sprint Backlog再细化成更小的任务(细到每个任务的工作量在2天内能完成)。E. 在Scrum Team完成计划会议上选出的Sprint Backlog过程中,需要进行 Daily Scrum Meeting(每日站立会议),每次会议控制在15分钟左右,每个人都必须发言,并且要向所有成

18、员当面汇报你昨天完成了什么,并且向所有成员承诺你今天要完成什么,同时提出可能会遇到的障碍和风险,每个人回答完成后,要走到黑板前更新自己的 Sprint burn down(Sprint燃尽图)。F. 做到每日集成,也就是每天都要有一个可以成功编译、并且可以演示的版本;很多人可能还没有用过自动化的每日集成,其实TFS就有这个功能,它可以支持每次有成员进行签入操作的时候,在服务器上自动获取最新版本,然后在服务器中编译,如果通过则马上再执行单元测试代码,如果也全部通过,则将该版本发布,这时一次正式的签入操作才保存到TFS中,中间有任何失败,都会用邮件通知项目管理人员。G. 当Sprint Backlog里的Story被完成,也就表示一次Sprint完成,这时,我们要进行 Srpint Review Meeting(演示会议),也称为评审会议,产品负责人和客户都要参加(最好本公司老板也参加),每一个Scrum Team的成员都要向他们演示自己完成的软件产品(这个会议非常重要,一定不能取消)。H. 最后就是 Sprint Retr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论