scrum敏捷开发模式 scrum型有哪三种角色

您所在的位置: &
敏捷开发中的Scrum流程和术语
敏捷开发中的Scrum流程和术语
敏捷原理其实不复杂,但实践起来比较难。Scrum作为敏捷方法中的一个重视主流,它的流程简单,但是想真正实践好确很复杂。本文将简单介绍敏捷开发中的Scrum流程和术语 。
51CTO推荐专题:
任何人力流程都离不开人来执行,所以在讲解Scrum流程之前,有必要先把Scrum中的角色讲一下。
一天,一头猪和一只鸡在路上散步,鸡看了一下猪说,“嗨,我们合伙开一家餐馆怎么样?”,猪回头看了一下鸡说,“好主意,那你准备给餐馆起什么名字呢?”,鸡想了想说“餐馆名字叫火腿和鸡蛋怎么样?”,“我不这么认为”,猪说, “我全身投入,而你只是参与而已”
猪是全身投入项目和Scrum过程的人,有三种角色:产品负责人(Product Owner)、ScrumMaster、团队(Team)。
ProductOwner
确定产品的功能
决定发布的日期和发布内容
为产品的profitability of the product (ROI)负责
根据市场价值确定功能优先级
在30天内调整功能和调整功能优先级
接受或拒绝接受开发团队的工作成果
ScrumMaster
排除产品开发和产品负责人之间的障碍,确保产品负责人直接推动开发工作
教授产品负责人如何实现投资回报最大化,以及如何利用Scrum达成目标
激发创造力和放权,从而改善开发团队的环境
千方百计实践和工具,确保每个功能增量都具备潜在可交付行
向各方确保团队工作进展实时更新并高度可视
Scrum Team
具有不同特长的团队成员,人数控制在7个左右
确定Sprint目标和具体说明的工作成果
在项目向导范围内有权利做任何事情已确保达到Sprint的目标
高度的自我管理能力
向Product Owner演示产品功能
鸡角色并不是实际Scrum流程的一部分,但是必须考虑他们。 敏捷方法的一个重要方面是使用户和利益相关者参与到过程中的实践。参与每一个评审和计划,并提供反馈对于这些人来说是非常重要的,管理者就属于鸡。
在知道Scrum的主要角色后,我们看看下图中的过程图:它由Product backlog开始,经过sprint会议从Prdouct backlog挑选出一些优先级最高的故事(story)形成迭代的sprint backlog(一个sprint一般为1个月)。在sprint中会进行每日站会,迭代结束时会进行演示和回顾会议。
498)this.width=498;' onmousewheel = 'javascript:return big(this)' alt=Scrum流程图 src="/files/uploadimg/2340.gif">
第一次听到以上术语的可能不能很好的理解backlog和spring之类的东西,大家不用着急,以后会慢慢对每一个过程进行仔细讲解。
以下将对一些术语进行简单介绍,以便大家现在开始逐步了解Scrum。
【Backlog】
Product Backlog
在项目开始的时候,Product Owner要准备一个根据商业价值排好序的客户需求列表。这个列表就是Prodct Backlog,一个最终会交付给客户的产品特性列表,它们根据商业价值来排列优先级。Scrum team会根据这个来做工作量的估计。Product backlog应该涵盖所有用来构建满足客户需要的产品特性,包括技术上的需求。高优先级的一些产品特性需要足够的细化以便于我们做工作量估计和做测试。对于那些以后将要实现的特性可以不够详细。
在下一篇我将着重讲解如何制定Product Backlog,怎么写故事,如何拆分和合并故事,以及如何确定优先级和进行估算。
Sprint Backlog
Sprint Backlog 是Sprint规划会上产出的一个工作成果. 当Scrum team选择并承诺了Product backlog中要递交的一些高优先级的产品功能点后,这些功能点就会被细化成为Sprint Backlog:一个完成Product Backlog功能点的必需的任务列表.这些点会被细化为更小的任务,工作量小于2天。Sprint backlog完成后,Scrum team会根据它重新估计工作量,如果这些工作量和原始估计的工作量有较大差异,Scrum team和Product Owner 协商,调整合理得工作量到Sprint中,以确保Sprint的成功实施。
Sprint Planning Meeting(Sprint规划会)
根据Product Owner制定的产品或项目计划在Sprint的开始时做准备工作。Product Owner可以是客户或者客户代表或代理。对于产品型的公司,客户就是市场,Product Owner扮演市场代理的角色。一个Product Owner需要一个确定产品最终目标的远景,规划出今后一段时间产品发展的路线图,以及根据对投资回报的贡献确定的产品特性。他要准备一个根据商业价值排好序的客户需求列表。这个列表就是Prodct Backlog,一个最终会交付给客户的产品特性列表,它们根据商业价值来排列优先级。
当为一个Sprint定义好足够多的Product Backlog,并且排列好优先级后Scrum就可以开始了,Sprint规划会是用来细化当前迭代的开发计划的。规划会开始的时候,Product Owner会和Scrum team一起评审版本,路线图,发布计划,及Product Backlog。Scrum Team会评审Product Backlog中功能点的时间估计并确认这些估计尽可能的准确。Scrum Team会根据资源情况看有多少feature可以放在当前的Sprint中。Scrum Team按照优先级的高低来确定开发的先后是很重要的。
当Sprint backlog确定后,ScrumMaster带领Scrum Team去分解这些功能点,细化成Sprint的一个个任务. 这些任务就是细化的来实施这些功能点的活动. Sprint Planning的这个阶段需要控制在4个小时。
Daily Scrum Meeting(每日站会)
一旦计划阶段结束,30天周期的Sprint就开始了。ScrumMaster需要组织团队成员每天开站会. 这个会议是用15分钟的时间来让大家过一下scrum的状态。在会上,每个团队成员需要问3个问题:我昨天做了什么,今天做什么,遇到哪些障碍。谁都可以参加这个会议,但只有Scrum团队成员有发言权。这个会议的目标是得到一个项目的全局观,用于发现任何新的依赖,定位项目成员的要求,实时的调整当天开发计划.
Sprint Review Meeting(Sprint评审会)
在Sprint结束的时候召开Sprint评审会. 这个会议最多不超过4个小时.会议的前一半时间用来演示在这个Sprint中开发的产品功能给 Product Owner. Produc Owner会组织这阶段的会议并且邀请相关的利益相关者参加。 业务,市场,技术都要做相关的评审。由Product Owner来决定Product Backlog中的哪些功能已经开发完成 。会议的下半部分,是由Scrum Master和Scrum Team一起回顾当前的Sprint。团队评估大家在一起的工作方式,找出好的方式以后继续发扬,找出需要做的更好的地方,想办法提升。Sprint评审会结束后,新一轮的迭代又继续开始(中间最好修整半天或者隔个周末),迭代会一直继续,直到开发了足够多的功能去交付一个产品。
【编辑推荐】
【责任编辑: TEL:(010)】
关于的更多文章
AngularJS是很多Web开发人员在打造单页面应用程序时的首选创建方
作为移动开发者,WOT2016移动互联网技术峰会,绝对有你不得不来的理由。
讲师: 15人学习过讲师: 36人学习过讲师: 15人学习过
一个好的工具无论是对于开发者还是整个项目而言,都是
在此之前的几年时间里,已经有很多开发者陆续使用了HT
编程领域在这几年里迎来了翻天覆地的变化,如果说C、C
本书全面翔实地介绍了各种病毒的原理,以操作系统的发展为主线,结合病毒的发展过程来综合分析病毒。在分析工具上,较多地利用了
51CTO旗下网站敏捷开发:做一个合格的Scrum Master - 简书
下载简书移动应用
写了19645字,被43人关注,获得了116个喜欢
敏捷开发:做一个合格的Scrum Master
图片来源于网络
Scrum Master: Beauty and Beast在Scrum敏捷开发中有三种主要的角色:Product Owner(产品负责人,简称"PO"); Scrum Master(敏捷教练); Team(团队)。其中,Scrum Master是其重要的角色之一。那么今天我们就来探讨一下如何做一个合格的Scrum Master。Scrum Master在许多的项目开发中被视为项目经理,这其实是个误区。同时我也经常看到有人主张将Scrum Master与项目经理完全区分,对于此我也不太同意。在我看来Scrum Master虽然并非项目经理,但是仍然肩负着很多项目经理的职能。那么Scrum Master的职责究竟是什么呢?该怎样做才能成为一名合格的Scrum Master呢?以下六项,供您参考。如有不妥之处,欢迎探讨;)管理Scrum流程这是Scrum Master最核心的职责,也是Scrum Master区别于项目经理的最显著的特征。Scrum Master需要维护每个sprint的流程,确保每个sprint能够顺利的实施以及完成。首先,Scrum Master负责主持召开sprint期间的每一个会议,包括sprint plan meeting, daily scrum meeting, sprint grooming meeting,sprint review meeting以及sprint retrospective meeting。另外,Scrum Master还需要帮助PO建立product backlog与sprint backlog,并确立其中每个story的优先级。最后,Scrum Master还需要帮助Team清除在开发的过程中遇到的障碍。Scrum Master应该有一个block list用来记录Team在开发中遇到的问题障碍,由Scrum Master自己进行管理并最终使得列表中的每一问题得到及时处理。保护团队Scrum Master应该最大限度的保护Team,以确保Team不会被外界,尤其是PO干扰。那么Scrum Master该如何保护团队呢?Team在什么情况下需要保护呢?在每个sprint的初期制定计划的时候,Scrum Master应合理的根据Team的工作能力以及过往经验,承诺工作量。不要盲目乐观的给PO承诺过量的工作。我就遇到过有的Scrum Master可能是对于Team的能力估计不足,也可能是希望通过承诺更过的工作获取老板的芳心,承诺了太多的工作,结果导致Team在sprint的后期连续加班,致使Team的效率严重降低。同时由于时间的匆忙,急于交付,导致了项目的质量很低,最终形成了恶性循环。一个好的Scrum Master在这个时候是应该要懂得如何与PO“周旋”,获取合理的工作量。这里的“周旋”并非消极怠工,故意减少Team的工作量,这其实是通过安排合理的工作量来使团队达到最大的工作效率,同时不会伤害Team的积极能动性。这是一个良性的循环。我们都知道,需求的变更对于每一个开发人员来说都是噩梦,而敏捷诞生的其中的一个很重要的原因就是为了解决这一问题,让开发者拥抱变化。然而在我们采用敏捷开发的项目中,经常可以遇到Product Owner越过Scrum Master,直接找到Team, 对他们指手画脚,发号施令。这个时候,Scrum Master应该像“猛兽”一样将PO“吼开”,以避免Team受到“伤害”。需求改变可以,但是不应该在sprint的过程中干扰Team, 可以在daily scrum meeting或者sprint plan meeting上提出,共商解决方案。我觉得Scrum Master对Team在很多时候都应该有一种“护犊子”的精神。确保Team神圣不可侵犯。有效沟通
很多时候Scrum Master起到了一种“承上启下”的作用。一头面对的PO以及自己的老板,另一头面对的是Team。很容易使人感觉Scrum Master仿佛在夹缝中求生存,容易两边都不讨好。因此,沟通艺术的重要性不言而喻。如何说服PO,使得老板满意,并且让Team开心,这是一门学问。对于此,下面几点可以作为参考:1. 面向老板:应定期及时的通报项目的状态与进展,不要等到老板亲自来问,可以通过表格以电子邮件的方式发送。主要汇报进展状态,避免过于细节的内容;遇到问题,应及时上报,使得问题在出现时就能得到重视,并被及时解决。如果等到截止时间才发布坏消息,那么就给了你的老板对你进行微观管理的机会。2. 面向Team:最重要的一点,应以身作则,态度端正;充分了解Team中每个成员的能力状况,防止出现工作量盲目承诺的问题;通过daily scrum meeting让Team中每个人都能明确了解最新的进展与形势;遇到问题,应对事不对人。把关质量此刻开始,Scrum Master更像是一个项目经理。无论是质量,进度还是团队建设都更像是项目经理的职责。对于Team来讲,这时的Scrum Master不再是那个“保护”我们的人,而变成了那个“收保护费”的大佬。然而,在实际项目中,Scrum Master确实要承担这些职责,只不过有些已经融入到日常的scrum流程中去了。关于质量的管理,我想其重要性不言而喻。质量是决定了产品的命运。那么如何把关质量了。在敏捷实践中,如下的经验可供参考:1)欲速则不达。不应过于强调速度,应保持合理的开发节奏,才会使得产品质量具有一定的保障。Scrum流程在每个sprint应统一完整,使得Team形成习惯,最终达到良好的开发节奏。2)制定coding style,并坚持代码审查。代码的规范非常重要,好的代码可以提高整体团队的开发与沟通的效率。好的代码会说话。代码审查可以结对完成,只有审查通过,才可以提交代码。可以通过创建pull request来进行代码的审查,通过之后,再merge到代码库中去。3)写单元测试。单元测试的重要性我想大家都明白,只是很多人觉得写起来痛苦,麻烦,占用开发时间。有了单元测试,你的代码才是经得起考验的代码。4)冒烟测试。在每天下班之前,停止push代码,然后进行冒烟测试。冒烟测试成功之后,才会下班回家。这是一种很好的方法,它保证了每天功能都是可用的,从而确保了质量。5)自动化测试。它的好处,不用多说,谁用谁知道:)6)提早集成,以便频繁获取反馈。这样的好处在于我们可以及时的得到用户的需求反馈,进而能够及早修正。7)最后,我要强调一句:不要加班,不要加班,不要加班。跟踪进度进度管理是Scrum Master的又一项项目经理职责。对于scrum中进度的监控,我们有很多的方法,也非常有效。先说工具,敏捷开发中,比较传统的跟踪进度,同时使用也非常广泛的一种方式是Story Board(故事版)。这种方式简单直观,非常有效。即使现在已经涌现了很多非常优秀的电子管理工具,许多团队仍然对它情有独钟。近些年一些电子的跟踪进度的srcum工具出现了很多。比较有名的像是jira. 它的使用也非常的简单直观,而且功能非常丰富强大,强烈推荐大家使用。另外,我们可以通过daily scrum meeting获取到Team每天的工作进展。此时我们可以根据进展进行一些必要的调整。团队建设团队建设是项目开发中绝对不容忽视的一环。团队凝聚力如何,直接影响了整个团队的战斗力。因此,建设好团队,是每个Scrum Master的重要使命。那么如何有效的进行团队建设呢?1)放权。敏捷开发的其中的一个重要的特征就是团队自组织。团队自组织的优势就在于,通过放权给团队,让它们自主的思考,设计开发,不对其干预,从而使得团队中每个人具有成就感,进而提高整个团队的积极能动性。2)打造学习型团队。一个方法就是通过团队内部知识定期分享的方式,使得每个人都能可以学到新的知识,从而逐步使得团队成长。比如每周五的下午4点,可以利用一小时的时间,让团队的成员举办知识讲座。通过这种形式,大家的积极性会变的很高。可以约定分享的内容并非一定是技术方面的,也可以是生活娱乐等,只要大家感兴趣就好。这样做的好处在于不仅提高了团队的技术能力,也使得团队之间能够更轻松愉快的交流,从而提升团队的凝聚力,战斗力。3)最后,提高团队最有效的一个方法,那就是一个字:吃;)这是拉拢吃货们的大好时机。当然这个需要经费,不过方法总会有的,你懂的;)
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
被以下专题收入,发现更多相似内容:
如果你是程序员,或者有一颗喜欢写程序的心,喜欢分享技术干货、项目经验、程序员日常囧事等等,欢迎投稿《程序员》专题。
专题主编:小...
· 199220人关注
@IT 专题 由 IT大分类,转定位于IT·互联网行业观察与思考,数码产品极客体验。
主编:向右奔跑 http://www.ji...
· 170282人关注
玩转简书的第一步,从这个专题开始。
想上首页热门榜么?好内容想被更多人看到么?来投稿吧!如果被拒也不要灰心哦~入选文章会进一个队...
· 136783人关注
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
选择支付方式:下载该资料需0个苹果&
资料简介:
Scrum敏捷开发模式详解.pdf
分享这份资料给关注你的好友?成功分享您将获得2个积分。
《Scrum敏捷开发模式详解.pdf》,推荐大家来爱知客看看 : )
下载本资料需要消耗苹果0个,确定要下载吗?}

我要回帖

更多关于 敏捷开发模式 scrum 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信