`

使用Scrum的Agile项目管理介绍

阅读更多

http://www.21cnlib.com/xiazai/other/2010/03-14/628231.html

 

Scrum 是一种迭代式增量软件开发过程,通常用于敏捷软件开发 。Scrum在英语的意思是橄榄球里的争球。

虽然Scrum是为管理软件开发项目而开发的,它同样可以用于运行软件维护团队,或者作为计划管理方法:Scrum of Scrums .

历史

他们将这种新的’整体性方法 橄榄球 相比较,前者各阶段相互重叠,并且由一个跨职能团队在不同的阶段完成整个过程,而后者整个团队“tries to go to the distance as a unit, passing the ball back and forth”

他们对来自汽车,照片机器,计算机和打印机等产业的案例进行了研究。

  • 1991年,DeGrace和Stahl在《Wicked Problems, Righteous Solutions》[2] 一书中将这种方法称为?Scrum ,在竹内弘高 和?野中郁次郎 的文章中提到的橄榄球术语。
  • 1990年代初,肯·施瓦伯 在其公司使用了一种方法Advanced Development Methods(先进开发方法),这种方法后来发展为Scrum。
  • 同时,杰夫·萨瑟兰 在Easel公司开发了一种类似的方法,并首次称之为Scrum。[3]
  • 1995年,在奥斯汀举办的OOPSLA ‘95 上,萨瑟兰和施瓦伯联合发表了论文首次提出了Scrum概念。施瓦伯和萨瑟兰在接下的几年里合作,将上述的文章,他们的经验,以及业界的最佳实践融合起来,形成我们现在所知的Scrum。
  • 2001年,施瓦伯与?麦克·比窦 (Mike Beedle)合著了《敏捷软件开发-使用Scrum过程》一书,介绍了Scrum方法。
  • ?

Scrum 的特性

Scrum过程

Scrum是一个包括了一系列实践和预定义角色的过程骨架。Scrum中的主要角色包括:

  1. Scrum 主管 (ScrumMaster),这一角色同项目经理类似,负责维护过程和任务;
  2. 产品负责人 (Product Owner),这一角色代表所有利益相关者;
  3. 开发团队 (Team),这一角色包括所有开发人员。

在每一次冲刺(一个15到30天的周期,其长度由开发 团队决定)当中,开发团队创建可用的(可以随时推出)软件的一个增量。每一个冲刺所要实现的功能来自产品订单(product backlog)。产品订单是按照优先级排列的要完成的工作的概要的需求,那些订单项会被加入一次冲刺由冲刺计划会议决定。 在会议中,产品负责人告诉开发团队他需要完成产品订单中的哪些订单项。开发团队决定在下一次冲刺中他们能够承诺完成多少订单项。[4] ?在冲刺的过程中,没有人能够变更冲刺订单(sprint backlog),这意味着在一个冲刺中需求是被冻结的。

管理Scrum过程有很多实施方法,从即时贴、白板,一直到软件包。Scrum最大的好处之一是它非常容易学习,而且启动Scrum应用并不需要太多的投入。

Scrum 中的角色

Scrum当中定义了许多角色。按照对开发过程的参与情况,这些角色被分为两组,即 组和 组。这个分组方法的由来是一个关于猪和鸡合伙开餐馆的笑话[4]

一天,一头猪和一只鸡在路上散步。鸡对猪说:“嗨,我们合伙开一家餐馆怎么样?”猪回头看了一下鸡说:“好主意,那你准备给餐馆起什么名字呢?”鸡想了想说:“叫‘火腿和鸡蛋’怎么样?”“那可不行”,猪说:“我把自己全搭进去了,而你只是参与而已。”

组的角色

?是在Scrum过程中全身投入项目的各种角色,他们在项目中承担实际工作。他们有些像上边那个笑话里的猪,要把自己身上的肉贡献出来。

产品负责人

产品负责人代表了客户的意愿。这保证了Scrum团队在做从业务角度来说正确的事情。产品负责人编写?用户故事 ,排出优先级,并放入产品订单。

Scrum 主管(或促进者)

Scrum主管促进?Scrum 过程,他的主要工作是去除那些影响团队交付冲刺目标的障碍。Scrum主管并非团队的领导(因为团队是自我组织的),而是一个负责屏蔽外界对开发团队的干扰的角色。Scrum主管确保Scrum过程被按照初衷使用。Scrum主管是规则的执行者。

开发团队

负责交付产品的团队。一个团队通常由5至9名具有跨职能技能的人(设计者,开发者等)组成,承担实际的开发工作。

组的角色

?并不是实际Scrum过程的一部分,但是必须考虑他们。?敏捷 ?方法的一个重要方面是使得用户和利益相关者参与到过程中的时间。参与每一个冲刺的评审和计划,并提供反馈对于这些人来说是非常重要的。

用户

软件是为了人而开发的。有人说,“假如森林里有一棵树倒下了,但没有被人听到,那么它算是发出了声音吗?”同样地,人们可以说,“假如软件没有被使用,那么它算是被开发出来了么?”

利益相关者(客户,提供商)

影响项目成功的人,但只直接参与冲刺评审过程。

经理

为产品开发团体搭建环境的人。

Scrum 会议

在冲刺中,每一天都会举行项目状况会议,被称为“scrum”或“每日站立会议”。每日站立会议有一些具体的指导原则:

  • 会议准时开始。对于迟到者团队常常会制定惩罚措施(例如罚款,做俯卧撑,在脖子上挂橡胶鸡玩具)
    • 欢迎所有人参加,但只有”猪”可以发言。
    • 不论团队规模大小,会议被限制在15分钟。
    • 所有出席者都应站立。(有助于保持会议简短)
    • 会议应在固定地点和每天的同一时间举行。

在会议上,每个团队成员需要回答三个问题:[4]

  • 今天你完成了那些工作?
  • 明天你打算做什么?
  • 完成你的目标是否存在什么障碍?(Scrum主管需要记下这些障碍)

每一个冲刺完成后,都会举行一次冲刺回顾会议,在会议上所有团队成员都要反思这个冲刺。举行冲刺回顾会议是为了进行持续过程改进。会议的时间限制在4小时。

Scrum提倡所有团队成员坐在一起工作,进行口头交流,以及强调项目有关的规范(disciplines),这些有助于创造自我组织的团队。

Scrum的一个关键原则是承认客户可以在项目过程中 改变主意,变更他们的需求,而预测式和计划式的方法并不能轻易地解决这种不可预见的需求变化。同样,Scrum采用了经验方法– 承认问题无法完全理解或定义,而是关注于如何使得开发团队快速推出和响应不断出现的需求的能力最大化。

文档

产品订单

产品订单(product backlog ) 是整个项目的概要文档。产品订单包括所有所需特性的粗略的描述。产品订单是关于将要创建的什么产品。产品订单是开放的,每个人都可以编辑。产品订单包括粗 略的估算,通常以天为单位。估算将帮助产品负责人衡量时间表和优先级(例如,如果”增加拼写检查”特性的估计需要花3天或3个月,将影响产品负责人对该特 性的渴望).

冲刺订单

冲刺订单(sprint backlog )是大大细化了的文档,包含团队如何实现下一个冲刺的需求的信息。任务被分解为以小时为单位,没有任务可以超过16个小时。如果一个任务超过16个小时,那么它就应该被进一步分解。冲刺订单上的任务不会被分派,而是由团队成员签名认领他们喜爱的任务。

燃尽图

燃尽图 (burn down chart)是一个公开展示的图表,显示当前冲刺中未完成的任务数目,或在冲刺订单上未完成的订单项的数目。不要把燃尽图与挣值图 相混淆。A burn down chart could be flat for most of the period covered by a sprint and yet the project could still be on schedule.

自适应的项目管理

以下是一些Scrum的通用实践:

  • 客户成为开发团队中的一部分。(例如客户肯定对开发的结果真正感兴趣。)
  • 和所有其他形式的敏捷软件过程一样,Scrum有频繁的包含可以工作的功能的中间可交付成果。这使得客户可以更早的得到可以工作的软件,同时使得项目可以变更项目需求以适应不断变化的需求。
  • 频繁的风险和缓解计划是由开发团队自己制定。– 在每一个阶段根据承诺进行风险缓解,监测和管理(风险分析)。
  • 计划和模块开发的透明 – 让每一个人知道谁负责什么,以及什么时候完成。
  • 频繁的利益所有人会议,以跟踪项目进展 – 平衡的(发布,客户,员工,过程)仪表板更新 – 利益所有者更新 – 你必须拥有预警机制,例如提前了解可能的延迟或偏差。
  • 没有问题会被藏在地毯下。认识到或说出任何没有预见到的问题并不会受到惩罚。
  • 在工作场所和工作时间内必须全身心投入。– 完成更多的工作并不意味着需要工作更长时间。

Scrum 术语

下面是Scrum用到的术语[4] :

角色

产品负责人 ?

负责维护产品订单的人,代表利益相关者的利益。

Scrum 主管 ?

为Scrum过程负责的人,确保scrum的正确使用并使得Scrum的收益最大化。

开发团队 ?

由负责自我管理开发产品的人组成的跨职能团队。

Scrum 团队

产品负责人,Scrum主管和开发团队。

工件

冲刺燃尽图 ?

在冲刺长度上显示每天进展的图。

产品订单 ?

按照优先级排序的高层需求。

冲刺订单

要在冲刺中完成的任务的清单。

其他

冲刺 ?

一个时间周期(通常在2周到1个月之间),开发团队会在此期间内完成所承诺的一组订单项的开发。

Scrum 在其他领域的应用

虽然Scrum最初只应用于软件开发,它也可以被成功地应用于其他产业。现在Scrum通常被认为是一种用于开发任何产品或管理人和工作的迭代式的,增量的过程。

Scrum 用于产品开发

将Scrum应用于产品开发是在《”T新新产品开发游戏 “》(哈佛商业评论 86116:137-146, 1986年)第一次提出,之后野中郁次郎竹内弘高 合著的《”创造知识的企业 “》(牛津大学出版社,1995年)进行了详细的阐述。今天Scrum被用于开发金融产品,互联网产品,以及医药产品。

Scrum 用作营销项目管理方法

由于市场营销 通常以项目的方式运作,许多一般项目管理的原则应用在市场营销上。市场营销也可以像项目管理 技术那样进行优化。?以Scrum方法进行市场营销 被认为有助于克服市场营销经理们所遇到的问题。短时和固定的会议对于小的市场营销团队来说很重要,这是因为团队的每一个成员都可以了解其他人在做些什么,以及整个团队在朝着什么方向前进。Scrum在市场营销中应用可以:

  • 在早期发现可能的问题,可以更快地,最小损失地应对问题。 根据Scrum的主要原则 “没有问题被扫入地毯下”,Scrum鼓励每一个团队成员描述他所遇到的困难,而这个困难可能会对整个团队的工作造成影响。
  • 降低财务风险。 在每一个冲刺周期的开始,企业所有者可以不付出任何代价的改变任何市场营销的因素:包括增加投资以夸大顾客数量,减少投资直至未知风险被减轻,或用于支持其他活动。
  • 使得市场营销计划更灵活。采用冲刺的短期市场营销计划可以更加有效。如果一种促销方法在冲刺过程中显示无效,市场营销经理有机会将其换成另一种促销方法。向每一个团队成员说明每一个小的,但重要的任务的交付时间也变得更容易。
0
0
分享到:
评论

相关推荐

    Scrum敏捷项目管理.pptx

    敏捷培训PPT,内容很丰满,给要需要进行敏捷培训的朋友

    Agile Scrum基础指南.pdf

    描述敏捷 scrum的全部过程

    互联网敏捷Scrum和项目管理

    着重介绍互联网Agile敏捷的模型以及常用项目管理流程等内容。您将学到如下内容:介绍Agile敏捷以及项目管理流程;互联网常用敏捷工具和平台以及实战;Agile敏捷以及项目管理总结。敏捷开发(AgileDevelopment)是一...

    敏捷项目管理A4打印版

    著名的Agile Project Management with Scrum,Ken Schwaber著,中文题目是“Scrum敏捷项目管理”。这个PDF文件是A4正常打印版,没有PDF生成器加入的版本声明。适于在pad上阅读。在PMI组织(PMP认证考试的发起者)的...

    Scrum敏捷软件开发

    《Scrum敏捷软件开发》是软件企业及其管理团队成功进行敏捷转型战略及实施的必备参考书,适合经理、开发人员、教练、ScrumMaster、产品负责人、分析师、团队领导或项目领导,是帮助他们成功完成项目,甚至造就敏捷...

    AgileBooks

    几本关于敏捷开发的书籍,Agile.Principles.Patterns.Practices,Scrum Guide - CN,scrum-and-xp-chinese-version,Scrum实战——敏捷软件项目管理与开发,UML团队开发流程与管理等,如涉及版权问题请联系本人及时...

    90分钟掌握Scrum框架

    Scrum是管理软件项目的一个轻量级的敏捷方法, 名字来源于橄榄球运动中的scrum 过程 简单,但高度的纪律性 依赖迭代和增量的敏捷方法. Scrum 是一种工作管理的方法,不仅仅限于软件开发,可以用来管理其它活动. Scrum...

    Scrum敏捷软件开发中文版

    这本书是Scrum敏捷软件开发的中文译版英文书名为 Succeeding with Agile:Software Development Using Scrum 作者Mike Cohn 是软件开发项目管理的经典书籍

    敏捷项目管理终极培训-Scrum

    软件危机及软件工程的出现 速度是企业竞争致胜的关键因素,软件项目的最大挑战在于 一方面要应付变动中的需求 一方面要在紧缩的时程内完成项目 ...这正是Agile Process (敏捷的软件开发流程)于近年来兴起的主要原因。

    仪表板:仪表板是用于管理基于Scrum的项目的项目管理工具

    仪表板:仪表板是用于管理基于Scrum的项目的项目管理工具

    zentaopms:Zentao是一个敏捷的(scrum)项目管理系统工具,永久免费升级!

    ZenTao是由青岛自然易软网络技术有限公司开发的一种开源项目管理软件,它将产品管理,项目管理,QA管理,文档管理,公司管理和待办事项管理结合在一起。 它是一款专业的项目管理软件,涵盖了软件开发项目的核心流程...

    scrummy-trello:这是Rails应用程序的开始,它有助于将SCRUM敏捷项目管理方法构建到Trello上

    我已经使用Trello相当一段时间了,并且希望通过添加用于计划迭代,精简图表以及可视化史诗和功能的工具来添加对基于SCRUM的项目管理的更好支持。 该功能将受Scaled Agile,Inc.的Scaled Agile Framework(SAFe)...

    Scrumwala:Scrumwala:您自己的Scrum,敏捷项目管理Web应用程序-使用Laravel构建

    Scrumwala 您自己的使用Laravel构建的Scrum / Agile Web应用产品特点使用计划和工作视图创建和管理项目将项目中的问题分为冲刺设置问题,活动冲刺和项目的截止日期通过截止日期临近的电子邮件列表问题获取提醒响应式...

    scrum2b:Scrum2B工具,Redmine的插件

    Scrum2B Tool是一个项目管理应用程序,专门用于Scrum / Agile项目和软件开发,由ScrumTobe Software( )使用和维护。 Scrum2B Tool是作为Redmine( )的插件,可以免费使用。 技术:Ruby On Rails 3.x / 4.x / 5....

    Visual_Paradigm_16_1_20200301_OSX_WithJRE.dmg 使用 UML、SysML、ERD、DFD 和 SoaML 设计软件

    使用Scrum/LeSS/Nexus 流程画布进行单页 Scrum 项目管理。使用用户故事地图,亲和力表,Sprint 待办清单,Scrum 板和燃尽图管理待办事项。 了解更多 » CX & UX Design 用户体验设计 使用线框进行 UX 设计。使用...

    推荐给唯一开发人员的Agile / Scrum问题/项目管理工具。

    但是我认为,如果您已经使用了其中一些其他产品,那么最好使用它,因为那里的产品相互补充,并且一个产品可以用作另一个产品的输入。 :http://en.wikipedia.org/wiki/IBM_Rational_Team_Concert[^]

    边防:PMI与Agile软件开发管理

    11月20日CTO俱乐部走进微软软主题活动中,圣塔信息项目总监边防结合Scrum与PMI的实战经验分享开发项目管理的发展演变、PMI与Agile在软件开发管理中的最佳实践、Team Foundation Server等多个议题,都是干活,速速...

    CSDN_敏捷开发相关文档全收集_2

    敏捷开发项目管理软件——禅道官方部署及使用帮助文档 .pdf 敏捷开发-落地实践-持续改进.pdf 敏捷数据.pdf 敏捷管理规范及流程思路指引.rar 敏捷软件交付项目管理.pdf 敏捷软件开发_原则、模式与实践.pdf ...

Global site tag (gtag.js) - Google Analytics