摘要:html
我表明全国人民祝福你…… 表明什么!这星球上谁都表明不了谁!!敏捷流派这么多,我想经过一篇文章说清楚还真有难度,因此请容许我选一个表明吧,那就是近年来最火的SCRUM!对于敏捷的其余流派,我只能说:谁叫你不如人家火呢!本文将以SCRUM为表明,让你经过一篇短文大体了解敏捷流程框架、团队角色及各类敏捷最佳实践。程序员
大纲:数据库
1.神马是SCRUM?
2.SCRUM 的流程框架
3.SCRUM 的团队角色
4.敏捷最佳实践一览编程
本文是系列文章的第2篇,若是尚未看过第1篇,建议先看看!架构
第一篇:敏捷的“官方”定义框架
连接:http://www.cnblogs.com/umlonline/p/3450032.html数据库设计
1.神马是SCRUM?分布式
问:“SCRUM”是什么意思?post
答:橄榄球呗!学习
继续问:老兄,我问的是敏捷的SCRUM!
答:哦!嗯……(停顿几秒)这是由于这种敏捷方法论和橄榄球比赛的特色有点相似,因此才叫SCRUM。
橄榄球比赛双方对攻,每一次进攻叫作SPRINT(冲刺),橄榄球比赛也很是注重团队合做,这些都符合这种敏捷方法的特色,因此引用了“SCRUM”这个名称来命名这个敏捷的方法论。另外“SCRUM”这个名字很形象、响亮、容易记忆,有噱头利于宣传。那天你也能够首创一种神秘的敏捷方法论,而后配上一个很酷的名称,说不定会把SCRUM的风头盖过去呢!SCRUM多是近年来最火的一种敏捷,适用于大中小型项目,也适用于分布式的团队。
美国有敏捷SCRUM联盟,能够认为这就是SCRUM官方机构,搞了一个SCRUM认证培训。中国有一家SCRUM中文网网站,她是中国领先的Scrum认证及敏捷培训受权服务机构,我仍是SCRUM中文网的顾问呢!在中国若是你想搞一个SCRUM相关的认证证书,你须要参加官方受权老师讲授的相关课程,例如:SCRUM Master的课程,好像是7000大元(人民币)/人(最近不知道涨价木有),国外的老师来中国授课,配上中文助教。这个课程至关贵,其中一个缘由是由于这是官方受权的课程,须要颁授官方承认的证书,官方实际上是要收取费用的,因此价钱就上去了。
SCRUM这么火其实可能并非由于她真的比其余敏捷方法优秀不少,而是一种商业操做模式,有利益驱动,背后天然就有不少推手。这个国外的SCRUM联盟很会赚钱,设立标准,而后受权给不一样的敏捷培训及服务机构,只要你作官方发证的培训,我就会赚到钱。SCRUM越火,认知度越高,越容易赚到钱。这道理和PMP证书、CMMI认证、ISO认证等的商业模式是一致的。证书在咱们中国,你懂滴,总会有人前赴后继地去花钱搞证!
上面一段话说了SCRUM的商业模式,我并非为了说明SCRUM商业模式很浓,纯粹为了赚钱,而是让你知道是怎么一回事。其实SCRUM仍是不错滴,不少最佳实践至关有用,不过须要结合中国国情来处理。若是你能让公司报销,或者你是土豪,那么花7000大元去参加培训获得一个证书,这也是至关不错的事情。若是你和我同样是土鳖,没有这么多银两,也没有关系,证书什么滴实际上是浮云,由于你还能够经过不少途径和实践来学习和体会SCRUM。
另外须要说明,不要尽信敏捷,也不要尽信SCRUM,不管是什么知识,咱们都须要用“拿来主义”的心态来处理。
2.SCRUM 的流程框架
SCRUM的内涵究竟是怎样的?一个图就能够搞定!
图2.1 SCRUM一张图搞定
这张图展现了SCRUM的流程框架及团队架构,咱们先看流程框架部分,下小节才说团队架构部分。
你能够由左到右看这张图:
1)左边部分是须要完成的工做,由左到右分别是:产品代办列表(Product Backlog)、冲刺代办列表(Sprint Backlog)、工做项分解。
一般经过“用户故事”的方式来表示产品代办列表、冲刺代办列表,产品代办列表的用户故事可能比较大,须要进一步细分为比较细的用户故事,而后放入不一样的Sprint中,做为不一样Sprint的代办事项,而Sprint中的用户故事,还能够继续拆分红更细的工做项分解。这段内容先大体这样理解就能够后,之后再会为你们详细分享需求拆解方面的文章。
2)右边部分说明了:这些须要完成的工做,须要经过大小迭代来完成。
大迭代是指:Sprint(冲刺,也就是小版本),一般是30天的时间,每30天增量式的交付“可运行的软件”。“可运行的软件”这个说法还不太好,应该是“可工做的软件”,不然你可能认为编译经过程序能跑就是“可运行”了,而“可工做”才是重要指标,不只仅能运行,还能为客户带来实在价值,才叫“可工做”。
小迭代是指:天天的项目会议,一般是15分钟内。其实“站立”开会不是必须的,你能够“坐”着开,甚至“躺”着开。开会时间能够是早上、中午或下班前。形式和时间都不是关键,关键是要有效,要领会24小时开一次会议的核心思路!咱们都知道问题越早发现越早处理,处理成本越低,24小时开会让问题被发现时间不会超过24小时,将问题消灭萌杀状态,同时天天修正项目的方向,保证咱们一直在作正确的事情。
3.SCRUM 的团队角色
图2.1右下方有三种角色:产品负责人、Scrum Master、开发团队,下面分别介绍。
产品负责人(Product Owner)
这个角色负责的事情主要是:
1)提供远景;
2)提供边界;
3)提供用户故事的优先级。
该角色和产品经理是否是相似甚至同样呢?
某些公司的产品经理很强势(特别是互联网公司),开发团队常常会这样抱怨产品经理:
1)上午提要求,下午就要交付。
2)需求常常变!
3)需求解释不清楚,想找你澄清需求的时候,找不到你!
4)人仰马翻好不容易作出来了,但这些功能基本没有人用。
SCRUM中的产品负责人还须要注意作到如下两点:
1)要和开发团队沟通需求。
2)要尊重开发团队的研发能力。
也就是说若是产品负责人不能让开发团队理解好需求,这是某种失职;若是开发团队老是疲于奔命常常加班来完成工做,那就是不尊重开发团队的研发能力,不尊重软件研发工做的客观规律。
Scrum Master
这个中文不知道怎样翻译好,翻译成“橄榄球教练”,这不太好吧?因而有人翻译成:SCRUM教练、敏捷教练。
这个角色要作的主要事情:
1)训练团队用正确的方法作事,遵循SCRUM的流程和作事原则。
2)不代替团队作决定。
这实际上是一个很爽很舒服的角色,由于他只须要讲道理,不须要作决定!他主要职责是训练你们作事情,而不是亲自负责这个事情,这跟项目经理是很不同的。
咱们的项目经理须要安排不少事情,作不少决定,还须要监督你们。项目经理就是一个大坑,什么均可以放进去!但SM(Scrum Master)就舒服多了……
Scrum Master这个角色,还须要注意如下几点:
1)你没有行政权力。例如:你不能决定项目团队某成员薪金或奖金,你无权说:你被解雇了。
2)你要忍住帮团队作决定的冲动,让团队学会自我成长。
3)不建议你同时兼任产品负责人。产品负责人须要作很多重要的决定,这其实与Scrum Master角色冲突,一我的同时作两种角色的事情,容易搞混了角色,固然你是超人能分得很清楚的话例外。
Scrum Master 这种角色理想很丰满,现实很骨感,实践中会遇到不少问题,后续文章再为你们详细分享。
开发团队
这个词前面还须要加上一个词才比较合适,应该叫:“自组织”的开发团队。
这种角色在现实工做中更加“难以想象”,甚至是不可能存在,不过咱们仍是先看看这个开发团队包含什么角色吧:
1)业务分析师
2)程序员
3)测试人员
4)软件架构师
5)数据库设计师
6)用户体验设计师
……
开发团队虽然有“开发”两个字,不是说仅包含“开发角色”,而不包括“非开发角色”,一般咱们所说的“开发角色”就是指程序员,好像测试、实施、配置管理、QA等角色就不是在作开发工做。这个开发团队是指:除了产品负责人和Scrum Master之外的,全部对项目有贡献的角色,这些角色的名字也不是固定的,各公司状况不同,上面仅是一个例子。
这一波人若是能自我管理、主动沟通、相互协调地完成工做,这样才能叫“自组织的开发团队”,这样才能敏捷。惋惜的是咱们的开发团队若是没有项目经理这样的角色来协调和指挥,极可能会成为“乌合之众”,没法谈得上敏捷。
如何才能打造“自组织”的团队呢?后面再为你深刻分享。
4.敏捷最佳实践一览
敏捷最佳实践至关多,咱们先来个一览,先让你有个大概认识吧,后续再为你逐一分享。
这里列出来的敏捷实践并不限于SCRUM范围内的,我尽可能将全部流派的敏捷实践来了一个小小的总结。
需求方面最佳实践:
1)User Story(客户故事)
2)客户全程参与
设计方面的最佳实践:
3)简单设计
测试方面最佳实践:
4)测试驱动开发(TDD)
5)自动化测试
编码方面最佳实践:
6)重构
7)结对编程
8)代码共有
9)强调编码规范
10)持续集成(每日构建)
项目管理方面最佳实践:
11)Sprint(冲刺)、小版本发布
12)每日站立会议、每日晨会
13)每周工做40小时
14)Burn Down Chart(燃尽图)
15)Lesson Learned
16)隐喻
请看下一文!
下一篇将为你分享:神马是敏捷?(3)——敏捷在中国的水土不服
摘要:中国软件项目的“两大限死,两不肯定”,中国软件研发人员的“可爱”特色……
做者:张传波
创新工场创业课堂(敏捷课程)讲师
软件研发管理资深顾问
CMMI首席专家
《火球——UML大战需求分析》做者
软件知识原创基地创办人