`
samana
  • 浏览: 19825 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

关于Scrum的认识

阅读更多

最近接触了下关于敏捷方面东西,也就顺带了解了下SCRUM, 订阅了google group讨论,发现国内还是有很多SCRUM的认识和先行者,也提出了很多关于SCRUM的建设性意见,我全当归总下。

 

1.啥叫SCRUM
2.为啥要用SCRUM?

3.如何实施SCRUM?

4.Scrummaster是啥角色?
5.SCRUM的困难所在

 

1.啥叫SCRUM?

一直以来,在软件开发领域存在着N中软件开发方法,最常见的就是瀑布,而从今年横空出世了敏捷的开发方法,于是乎瀑布 VS 敏捷的争论声音就一直没有消停过.而Scrum又作为敏捷的一个很杰出的代表出现了。


Scrum (英式橄榄球争球队), 软件开发模型是敏捷开发的一种,在最近的一两年内逐渐流行起来。
Scrum的基本假设是:开发软件就像开发新产品,无法一开始就能定义软件产品最终的规程,过程中需要研发、创意、尝试错误,所以没有一种固定的流程可以保证专案成功。Scrum 将软件开发团队比拟成橄榄球队,有明确的最高目标,熟悉开发流程中所需具备的最佳典范与技术,具有高度自主权,紧密地沟通合作,以高度弹性解决各种挑战,确保每天、每个阶段都朝向目标有明确的推进。 Scrum 开发流程通常以 30 天(或者更短的一段时间)为一个阶段,由客户提供新产品的需求规格开始,开发团队与客户于每一个阶段开始时挑选该完成的规格部分,开发团队必须尽力于 30 天后交付成果,团队每天用 15 分钟开会检查每个成员的进度与计划,了解所遭遇的困难并设法排除。

 

下面解释下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和其他相关的人员。一般该会议为4小时。
Sprint retrospective meeting :Sprint总结。会议的参与人员为团队开发的内部人员。一般该会议为3小时。

 

2.为啥要用SCRUM?

     Scrum模型的一个显著特点就是响应变化,它能够尽快地响应变化。所以,国内的很多做外包业务都被国外的客户要求用这种开发方法。需求的不断变化,今天要求是A,明天可能又完全换成了B,在这个客户就是上帝的年代,开发人员是和客户讲不了道理的,所以,不断的跟踪客户需求和及时的根据需求变更做出相应的调整和变化就是scrum的本质好处。

 

 

3.如何实施Scrum ?

 

(1) Scrummaster将整个产品的backlog分解成Sprint Backlog,这个Sprint Backlog是按照目前的人力物力条件可以完成的。
(2) Scrummaster召开sprint planning meeting,划分,确定这个Sprint内需要完成的任务,标注任务的优先级并分配给每个成员。注意这里的任务是以小时计算的,并不是按人天计算。
(3) 进入sprint开发周期,在这个周期内,每天需要召开Daily Scrum meeting。
(4) 整个sprint周期结束,召开Sprint review meeting,将成果演示给Product Owner.
(5) 团队成员最后召开Sprint retrospective meeting,总结问题和经验。
(6) 这样周而复始,按照同样的步骤进行下一次Sprint.

 

4.Scrummaster是啥角色?

 

Scrummaster 有很多的定义,但是我觉得他只是角色的定义,而不是职位的定义。

下面的定义解释也正好符合这个观点:Scrummaster 就角色来说的任务是维护scrum流程的无障碍运转,其作用不在于领导和管理,而在于维护过程。他不是一个管理决策者,也不参与开发的实际操作,其管辖的只是流程。

 


5.SCRUM的困难

 

1, Sprint Backlog确定依赖在团队的经验和实诚程度, 经验不足可能导致选择有大偏差,不实诚可能故意减少(也就是拿软柿子),如果经验不足的话,又会对潜在的风险缺乏认识和掌握,最后造成失败的后果。如果团队选择的Sprint Backlogs和团队一个Sprint内的开发能力匹配,那么Scrummaster就有责任敦促开发人员的开发责任,这也是他的权责范围:赏与罚。

2, 燃尽图的制作没有客观的依据,依赖主观判断

3,Spring Backlog的规模度量没有客观依据,无法在多个团队间共享度量方法。Sprint Backlog规模度量直接映射到人天,估计者会受到很多心理压力(估计工作更像是开发人员的一种承诺,开发人员的性格又都各有差异,谁都不想给在很大压力的环境下工作吧)

 

 

参考网址:
http://www.controlchaos.com/about/
http://www.microsoft.com/Taiwan/msdn/columns/200311softdev.htm

google agilechina

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Scrum敏捷项目管理

    《Scrum敏捷项目管理》探索Scrum的每一方面,包括科学原理、全新的项目角色及责任、ScrumMaster、产品负责人、如何有效管理未知因素和不断变化的产品需求、如何结束混乱、如何计划和报告、及如何扩展项目团队规模等...

    Scrum敏捷项目管理_官方培训版

    Scrum被认为是目前全球最流行与最有效的敏捷项目管理理念与方法之一,在软件业... 不论你是项目管理者,还是IT或R&D高管,还是想创造卓越的产品负责人,还是产品与系统开发者,此书是你认识与掌握Scrum的必渎之作。

    Becoming a ScrumMaster

    对Scrummaster较为全面的总结,看完本PPT对SM有较全面的认识。

    Scrum中的风险管理

    通常认为传统项目(以瀑布开发模型为代表的)的开发管理中,风险管理是非常重要的一个环节。在项目进展过程中,风险不但直接影响到项目计划的制定,同时在计划制定后,也一直...至少我所在的团队在风险管理上就认识不足

    SCRUM敏捷开发视频教程

    SCRUM敏捷开发视频教程,该课程为你分享SCRUM敏捷开发,理解敏捷的本质,认识中国IT行业对敏捷的挑战,学会让敏捷落地的实用招数。嘉宾介绍:张传波 1. 创新工场创业课程(敏捷课程)讲师 2.软件研发管理佳实践顾问...

    敏捷实施过程中的4种类型的抵触者

    人们抵触Scrum转型有很多不同的原因。有些人抵制可能是他们安于现在的工作和同事。他们花了很多年才达到了企业...“你认识的魔鬼比你不认识的魔鬼要好”是他们的口头禅。还有些人抵制可能是因为对Scrum方法的不喜欢或不

    站立会议变形记

    Master以及整个团队了解项目进展情况,以便于控制项目进度,掌握团队成员的开发效率,促进成员之间的交流与沟通,并使所有成员对整个项目能有一个全面的认识。 站立会议的重要性不言而喻。如何遵循Scrum的原则开展好...

    Agile Estimating and Planning

    《敏捷估计与规划》支持所有敏捷的、半敏捷的或迭代的开发过程,包括Scrum、极限编程、功能驱动的开发、Crystal开发、自适应软件开发、DSDM、统一过程以及许多其他开发方式。它将是每个开发经理、开发小组领导和开发...

    敏捷实践指南(中文).pdf

    我们两个组 织都认识到,在将产品和可交付成果推向市场时,敏捷方法的发展要求我们需要有 一种通用的语言、开放的思维和灵活运用的愿望。此外,我们两个组织还认识到, 实现成功交付的方法多种多样。目前存在大量...

    kitchencooks:HRR 厨房应用程序

    HRR 在厨房应用中认识我 团队 产品负责人:Julie Knowles Scrum Master : Pat Lauer 开发团队成员:Julie Knowles、Pat Lauer、Rory Campbell 目录 用法 使用 Github 凭据登录 选择一个还没有人坐的座位坐下 旁边...

    HRKitchen:Hack Reactor的厨房应用程序

    项目名HRR 在厨房应用中认识我团队Scrum 大师:斯宾塞·斯特宾斯开发团队成员:Spencer Stebbins、Brian Schermerhorn、Rohan Agrawai目录用法使用 Github 凭据登录选择一个还没有人坐的座位坐下旁边的聊天栏会将...

    TeamProject2021:在此游戏中展示您对软木的知识,带您绕过软木的虚拟旅程,探索软木必须提供的一些知名度和鲜为人知的景点

    姓名:您认为认识软木塞吗? 组:6 模组:CS3305 团队成员: 贡献 Scrum站立时间表 ( (2月3日,3月8日) (2月8日,3月15日) (2月15日,3月22日) ( (2月22日,3月29日) (3月1日,4月5日) 在本地运行...

    RationalEdge:OpenUP精华OpenUPInaNutshell

    ),2或如何以一种敏捷的方式来使用RUP,同时加入来自其他敏捷过程,例如Scrum3和XP中好的东西。。4我们在IBM内部启动这项工作,但很快我们认识到需要从更广泛的人员那里汲取见识和经验。这项工作是在...

    rj3.me

    很高兴认识你。 我是一位对安全性充满热情的软件工程师。 我每天都在GitHub的应用程序安全团队工作,每年帮助确保数百万个部署和代码存储库的安全。 到了晚上,我会随意选择适合自己的想法-创业公司,漏洞赏金或...

    Application-Demo

    敏捷和混乱 敏捷敏捷:是一种软件开发方法,它是一种基于客户/利益相关者反馈的项目迭代方法,而不是在即将结束时立即交付。 敏捷价值观:•流程和工具之间的个体和互动; •工作软件胜于完整的文档;... SCRUM:

    毕业设计网页源码-AJ-resume-webpage:CodeInstitute里程碑项目1

    毕业设计网页源码 简历网页 简历网页的目的是展示技能和能力,这些技能和能力...在本节中,用户可以认识到,我在 IT 方面已经有很短的经验,即敏捷框架中的 Scrum Master 和代理产品负责人。 有两列白色和黑色样式,包

Global site tag (gtag.js) - Google Analytics