文件名称:Scrum Devlopment Process.pdf
文件大小:168KB
文件格式:PDF
更新时间:2014-11-08 12:31:57
Scrum Scrum开发 Scrum过程 Scrum开发过程 Scrum术语
《Scrum Devlopment Process》,全英文版本,作者:Ken Schwaber(Scrum 由 Ken Schwaber 和 Jeff Sutherland 提出),pdf 格式,大小 168KB。 Scrum由Ken Schwaber和 Jeff Sutherland 提出,旨在寻求充分发挥面向对象和构件技术的开发方法,是对迭代式面向对象方法的改进,名称来自英式橄榄球(以英式橄榄球争球队形Scrum为名,在比赛中每个队员都应时刻保持对场上全局的判断,然后通过集体行动,奋力实现同一目标──胜利。) 基本假设是『开发软件就像开发新产品,无法一开始就能定义 Final Product 的规程,过程中需要研发、创意、尝试错误,所以没有一种固定的流程可以保证项目成功』。Scrum 将软件开发团队比拟成橄榄球队,有明确的最高目标,熟悉开发流程中所需具备的最佳典范与技术,具有高度自主权,紧密地沟通合作,以高度弹性解决各种挑战,碓保每天、每个阶段都朝向目标有明确的推进,因此 SCRUM 非常适用于产品开发项目。Scrum提供了一种经验方法,它使得团队成员能够独立地,集中地在创造性的环境下工作。 Scrum认为软件开发过程更多是经验性过程(Empirical Process),而不是确定性过程(Defined Process)。确定性过程是可明确描述的、可预测的过程,因而可重复(Repeatable)执行并能产生预期的结果,并能通过科学理论对其最优化。经验性过程与之相反,应作为一个黑箱(Black box)来处理,通过对黑箱的输入输出不断进行度量,在此基础上,结合经验判断对黑箱进行调控,使其不越出设定的边界,从而产生满意的输出。Scrum方法将传统开发中的分析、设计、实施视为一个黑箱,认为应加强黑箱内部的混沌性,使项目组工作在混沌的边沿,充分发挥人的创造力。 Scrum术语解释 Scrum Master: The person or persons in charge of the tracking and the daily updates for the scrum (Equivalent to a Project Manager) also referred as the Scrum Lord. Back log: The task to be completed. Sprint: A 1 to 4 week period in which a set of tasks are committed to and which are finished. Burn Down: Daily progress for a sprint over the sprint's length. Scrum角色 Product Owner – 必须是能够代表客户对Backlog里的任务优先级、关于需求疑问有决定权的人。Product Owner要对项目组随时可用,尤其是在Sprint计划会议和Sprint评审会议时。 Challenges of being a product owner: Resisting the temptation to "manage" the team. The team may not self-organize in the way you would expect it to. This is especially challenging if some team members request your intervention with issues the team should sort out for itself. Resisting the temptation to add more important work after a Sprint is already in progress. Being willing to make hard choices during the sprint planning meeting. Balancing the interests of competing stakeholders. ScrumMaster - ScrumMaster 是团队和Product Owner的服务者,帮助团队铲除壁垒而取得成功。ScrumMaster以下下面的方式 协助团队和Product Owner: Remove the barriers between the development and the product owner so that the product owner directly drives development. Teach the product owner how to maximize return on investment (ROI), and meet his/her objectives through Scrum. Improve the lives of the development team by facilitating creativity and empowerment. Improve the productivity of the development team in any way possible. Improve the engineering practices and tools so that each increment of functionality is potentially shippable. Keep information about the team's progress up to date and visible to all parties. Scrum Team – 一个Scrum team最好由至少2个人或不多于7个左右人员组成。对于软件开发项目,敏捷实践鼓励跨功能的小组成员制。每个Scrum team都是跨功能的(通常包括开发人员,文档人员,质量控制人员或用户代表等),以使小组内有充分的交流。 在每一个sprint期间, team 自行管理已达成的sprint 目标. 团队充分自治去选取以什么样的方式更好地达到目的,并为之负责。Scrum倡导整个团队在一个房间内工作 以利于随时沟通 Scrum开发过程: 参见图附件2, 其中最先和最后阶段(计划阶段和结束阶段)由已定义的过程组成,这些过程的输入输出都能很好的加以定义。如何去实施这些过程的知识是很明确的。过程流程是直线的,在计划阶段会有一些迭代。 计划和系统架构阶段(Planning & System Architecture) 将Backlog(急待完成的一系列任务,包括:未细化的产品功能要求、Bugs、缺陷、用户提出的改进、具竞争力的功能及技术升级等)按优先级排序形成Backlog 列表,根据该表和风险评估制订产品交付基线。 建立系统结构(如果是为已有系统做改进,则只作有限分析、调整),将Backlog项分解为一系列问题包(Packets,每个Packet是一组对象或构件的集合) ,依据同样原则相应划分若干个开发小组(SCRUM 小组),分配各小组合适的Backlog项或问题包。建立开发运行环境。 冲刺阶段(Sprints)是一个完全依据经验的过程。冲刺阶段是开发工作的一个迭代循环。经理判定时间、竞争性、质量或功能符合要求后,迭代过程结束并进入结束阶段。该方法也被称为并发工程。开发包含以下活动: · 与各项目小组开会讨论总结计划。 · 对产品所需遵从的标准进行分发、总结和调整。 · 迭代冲刺,直至产品可被确认为适于发行。 一个冲刺是一系列开发活动的集合,这些开发活动贯穿预定义阶段,通常为一至四个星期。间歇期建立在产品复杂性、风险评估和预计的监管程度上。冲刺的持续时间决定了冲刺的速度和强度。风险评估是持续进行的,并应加入适当的风险控制和响应。每一冲刺由一个或多个项目小组组成来完成以下工作: · 开发Develop:对为实现待定项所需加入程序包中的变更进行定义,打开程序包,进行域分析,设计,开发,实现,测试,记录变更。开发包含发现、创新和实现的微观过程。 · 封装Wrap:关闭程序包,为变更和这些待定需求如何实现创建一个可执行版本。 · 总结Review: 所有的小组开会介绍各自的工作,总结进度,提出并解决问题和困难,增加新的待定项。在会上总结风险,定义适当的风险应对策略。 · 调整Adjust:将从总结会议中获得的信息合并到相关程序包中,包括不同的观点、体验和新的特性。 结束阶段(Closure) 当产品经理综合时间、竞争性、需求、费用和质量等诸多因素,感到已经适于发布一个新的版本,他们宣布开发"结束"并进入本阶段。本阶段准备对已开发完成的产品进行常规发布。结束阶段的任务包括集成,系统测试,用户文档,培训材料和市场营销材料的准备。 SCRUM过程认为一个产品的开发将一直持续下去,除非经风险评估后认为应停止。产品交付后的巩固活动类似于传统方法中的维护和改进,目的在于整理Sprint期压力下忽略的工作,为下一阶段的开发做准备,以便轻装上阵。