干货|企业敏捷转型的工具——Scrum
Posted 中公教育PMP
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了干货|企业敏捷转型的工具——Scrum相关的知识,希望对你有一定的参考价值。
Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发,包括一系列实践和预定义角色的过程骨架。Scrum由Jeff Sutherland和Ken Schwaber在一次IBM项目合作中研究成功,1995年OOPSLA大会上进入人们的生活。Scrum中的主要角色包括同项目经理类似的Scrum主管角色负责维护过程和任务,产品负责人代表利益所有者,开发团队包括所有开发人员。随着不断的发展,Scrum成为零售、军事、风险投资甚至学校里完成各种任务的创新方法。
开发介绍
Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发。
虽然Scrum是为软件开发项目服务的,但是它同样可以运用于软件维护团队,或者作为计划管理方法:Scrum of Scrums。
过程特性
Scrum是一个包括了一系列实践和预定义角色的过程骨架。Scrum中的主要角色包括同项目经理类似的角色负责维护过程和任务,代表利益所有者,包括了所有开发人员。
在每一个过程(为期15到30天,长度由开发团队决定),开发团队创建可随时推出软件的一个增量。每一个构成所要实现的特性来自产品订单,产品订单是按照优先级排列的既定工作的概要需求。途中会新增哪些订单需求有中途的计划会议决定。在会议中,负责人会告诉开发团队需要新增何种订单项,开发团队决定在下一过程中能够承诺完成多少订单项。
在过程中,没有人可以更改订单需求,意味着在一个工作进程中需求是被冻结的。
管理Scrum过程有很多实施方法,从白板上的即时贴到软件包。Scrum最大的好处是它非常容易学习,而且应用Scrum不需要太多的投入。
敏捷方法之极限编程(XP)和 Scrum区别
1
区别一 迭代长度的不同
XP的一个Sprint的迭代长度大致为1~2周,而Scrum的迭代长度一般为2~4周。
2
区别二 在迭代中,是否允许修改需求
XP在一个迭代中,如果一个UserStory(用户素材,也就是一个需求)还没有实现,则可以考虑用另外的需求将其替换,替换的原则是需求实现的时间量是相等的。而Scrum是不允许这样做的,一旦迭代开工会完毕,任何需求都不允许添加进来,并有ScrumMaster严格把关,不允许开发团队受到干扰。
3
区别三 在迭代中,UserStory是否严格
按照优先级别来实现
XP是务必要遵守优先级别的。但Scrum在这点做得很灵活,可以不按照优先级别来做,Scrum这样处理的理由是:如果优先问题的解决者,由于其它事情耽搁,不能认领任务,那么整个进度就耽误了。另外一个原因是,如果按优先级排序的UserStory的NO.6和NO.10,虽然#6优先级高,但是如果NO.6的实现要依赖于NO.10。
2
区别四 软件的实施过程中,是否采用
严格的工程方法,保证进度或者质量
Scrum没有对软件的整个实施过程开出工程实践的处方。要求开发者自觉保证,但XP对整个流程方法定义非常严格,规定需要采用TDD,自动测试,结对编程,简单设计,重构等约束团队的行为。
角色:“猪”
猪是全身投入项目和Scrum过程的人; they are the ones with “their bacon on the line.”
产品负责人代表了客户的意愿。这保证了Scrum团队在做从业务角度来说正确的事情。产品负责人编写用户故事,排出优先级,并放入产品订单。Scrum主管(或促进者)Scrum主管促进Scrum过程,他的主要工作是去除那些影响团队交付冲刺目标的障碍。Scrum主管并非团队的领导(由于他们是自我组织的),而是负责屏蔽外界对开发团队的干扰。Scrum主管确保Scrum过程按照初衷使用。Scrum主管是规则的执行者。开发团队负责交付产品的团队。由5至9名具有跨职能技能的人(设计者,开发者等)组成的小团队完成实际的开发工作。
角色:“鸡”
02
鸡角色并不是实际Scrum过程的一部分,但是必须考虑他们。敏捷方法的一个重要方面是使得用户和利益相关者参与到过程中的时间。参与每一个冲刺的评审和计划,并提供反馈对于这些人来说是非常重要的。
用户软件是为了某些人而创建!就像“假如森林里有一棵树倒下了,但没有人听到,那么它算发出了声音吗”,“假如软件没有被使用,那么它算是被开发出来了么?”利益所有者(客户,提供商)影响项目成功的人,但只直接参与冲刺评审过程。经理为产品开发团体架起环境的那个人。
专
业
术
语
角色
产品负责人 Product Owner: 负责维护产品订单的人,代表利益相关者的利益。
Scrum主管 Scrum Master: 为Scrum过程负责的人,确保scrum的正确使用并使得Scrum的收益最大化。一般不翻译。
开发团队 Team: 由负责自我管理开发产品的人组成的跨职能团队。
工件
产品订单 Product Backlog:按照优先级排序的高层需求。
任务列表 Sprint Backlog:要在冲刺中完成的任务的清单。
冲刺燃尽图 Burndown Chart:在冲刺长度上显示所有剩余工作时间逐日递减的图,因整体上总是递减而得名。
活动
计划会 Sprint Planning Meeting:在每个冲刺之初,由产品负责人讲解需求,并由开发团队进行估算的计划会议。
每日立会 Daily Standup Meeting:团队每天进行沟通的内部短会,因一般只有15分钟且站立进行而得名。
评审会 Review Meeting:在冲刺结束前给产品负责人演示并接受评价的会议。
反思会/回顾会 Retrospective Meeting:在冲刺结束后召开的关于自我持续改进的会议。
其他
冲刺 Sprint: 一个时间周期(通常在2周到1个月之间),开发团队会在此期间内完成所承诺的一组订单项的开发。
会议制度
在每一个阶段中,每一天都会举行项目状况会议,即“每日站立会议”。
会议准时开始,迟到者会受到惩罚,所有人都可以参加,但是只有“猪”可以发言。不管团队规模大小,会议必须在15分钟内结束,会议应在固定地点和同一时间举行。
会议上每个团队成员需要回答:
今天你完成了哪些工作?
明天你打算做什么?
完成你的目标是否存在什么障碍?(主管需要记下这些障碍)
每当一个阶段完工后,都会举行一次阶段性的回顾会议,会议上所有成员都需要反思该阶段的工作。会议的情况是为了进行持续过程改进,时间被限制在4小时内。
Scrum提倡所有团队成员坐在一起工作,进行口头交流,以及强调项目有关的规范(disciplines),这些有助于创造自我组织的团队。
Scrum的一个关键原则是承认客户可以在项目过程中改变主意,变更他们的需求,而预测式和计划式的方法并不能轻易地解决这种不可预见的需求变化。同样,Scrum采用了经验方法– 承认问题无法完全理解或定义,而是关注于如何使得开发团队快速推出和响应不断出现的需求的能力最大化。
文档介绍
产品订单(product backlog)是整个项目的概要文档。产品订单包括所有所需特性的粗略的描述。产品订单是关于将要创建的什么产品。产品订单是开放的,每个人都可以编辑。产品订单包括粗略的估算,通常以天为单位。估算将帮助产品负责人衡量时间表和优先级(例如,如果"增加拼写检查"特性的估计需要花3天或3个月,将影响产品负责人对该特性的渴望).
任务列表(sprint backlog)是大大细化了的文档,包含团队如何实现下一个冲刺的需求的信息。任务被分解为以小时为单位,没有任务可以超过16个小时。如果一个任务超过16个小时,那么它就应该被进一步分解。冲刺订单上的任务不会被分派,而是由团队成员签名认领他们喜爱的任务。
燃尽图(burn down chart)是一个公开展示的图表,显示当前冲刺中未完成的任务数目,或在冲刺订单上未完成的订单项的数目。不要把燃尽图与挣值图相混淆。燃尽图可以使'冲刺(sprint)'平稳的覆盖大部分的迭代周期,且使项目仍然在计划周期内。
项目管理
举个Scrum的通用实践:
客户成为开发团队中的一部分。(例如客户肯定对开发的结果真正感兴趣。)和所有其他形式的敏捷软件过程一样,Scrum有频繁的包含可以工作的功能的中间可交付成果。这使得客户可以更早的得到可以工作的软件,同时使得项目可以变更项目需求以适应不断变化的需求。
频繁的风险和缓解计划是由开发团队自己制定—— 在每一个阶段根据承诺进行风险缓解,监测和管理(风险分析)。
计划和模块开发的透明——让每一个人知道谁负责什么,以及什么时候完成。
频繁的进行所有相关人员会议,以跟踪项目进展——平衡的(发布,客户,员工,过程)仪表板更新——所有相关人员的变更——你必须拥有预警机制,例如提前了解可能的延迟或偏差。没有问题会被藏在地毯下。认识到或说出任何没有预见到的问题并不会受到惩罚。
在工作场所和工作时间内必须全身心投入——完成更多的工作并不意味着需要工作更长时间。
其他领域
尽管Scrum当初创造出来只是为了软件开发,但是它也可以应用于其他产业。
而现在Scrum被普遍的认为是一种开发任何产品或管理人和工作的迭代式的增量过程。
产品开发
将Scrum应用于产品开发是在《"T新新产品开发游戏"》(哈佛商业评论86116:137-146,1986年)第一次提出,之后野中郁次郎和竹内弘高合著的《"创造知识的企业"》(牛津大学出版社,1995年)进行了详细的阐述。今天Scrum被用于开发金融产品,互联网产品,以及医药产品。
项目管理
很多时候市场营销通常以项目的方式运作,大部分的项目管理原则都可以应用在市场营销上。
那么,市场营销也可以像项目管理技术那样进行优化。借助于Scrum方法可以让市场营销经理们克服很多在工作中遇到的问题。短时以及固定的会议对于小的市场营销团队很重要,这是因为团队的每一个成员可以了解其他成员在做什么,以及整个团队在朝着一个怎样的方向前进。
Scrum在市场营销中可以这样应用:
越早的发现可能的问题,可以更好地,付出最小的代价应对问题。
根据Scrum的主要原则“没有问题被扫入地毯下”,Scrum鼓励每一个成员说出他所遇到的困难,以降低该困难对整个团队工作所造成的影响,降低财务风险。
在每一个阶段的开始,企业所有者可以不付出任何代价的改变任何市场营销的因素:包括增加投资以夸大顾客数量,减少投资直至未知风险被减轻,或用于支持其他活动,使得市场营销计划更加灵活。采用阶段性的短期市场营销计划可以会更加有效。如果一种促销方法在阶段性过程中显示无效,市场营销经理有机会将其换成另一种促销方法。向每一个团队成员说明每一个小但重要的任务的交付时间也变得更容易,同时使得客户以不同的方式参与。
管理软件
禅道项目管理软件,也称ZenTaoPMS,是为了解决众多企业在管理过程中出现的混乱,无序的现象,开发出来的一套项目管理软件。它集产品管理、项目管理、测试管理于一身,同时包含事务管理、组织管理等诸多功能,是中小型企业项目管理的最佳选择!
ZenTaoPMS基于国际流行的敏捷项目管理方式——Scrum,同时也融合了PMP中的很多概念,完美地体现了Scrum中迭代开发的精髓,很好地融合了燃尽图的概念。ZenTaoPMS基于LGPL协议,企业或者个人都可以免费获取禅道项目管理软件的源代码并安装使用,并可以结合自己的实际需要进行修改。禅道在遵循SCRUM管理方式基础上,又融入了国内研发现状的很多需求,比如bug管理,测试用例管理,发布管理,文档管理等。因此禅道不仅仅是一款scrum敏捷项目管理工具,更是一款完备的项目管理软件。基于scrum,又不局限于scrum。
点击蓝字
加关注
以上是关于干货|企业敏捷转型的工具——Scrum的主要内容,如果未能解决你的问题,请参考以下文章