编辑推荐

《敏捷软件开发:Scrum实战指南(第2版)》取自作者在大多数公司导入和实施敏捷Scrum过程的实际经历,通过“故事、模型与成功要领”三段式框架,借助于诙谐有趣、有画面感的描述,来帮助读者观察、思考和体会主要的挑战与深层次的问题,进而充分运用Scrum的灵活性来创造更多、更大的价值。

特色主题一览

起势,组建团队

为团队和组织定义“完成”

为短期成效做好规划,移除障碍,确保成功

实施确保敏捷成功的关键性技术实践

在制定版本规划时合理兼顾可预测性和可适应性

确保每日站会富有成效

及时回顾和补救

准确估算项目成本和衡量未来可交付的价值

动态Scrum项目的风险管理

Backlog的优先级确定和估算

解决Scrum团队的文化冲突

分布式团队与离岸团队

形成持续改进的习惯,提升组织敏捷力

《敏捷软件开发:Scrum实战指南(第2版)》实例丰富,所有故事都来自作者的亲身经历,对打算导入敏捷的所有人员和组织具有重要的价值,开发人员、架构师、测试人员、经理以及项目负责人等,都可以从这些故事中得到共鸣和启发。

内容简介

Scrum作为敏捷方法,已经得到了广泛的应用。针对如何用好、用巧这个看似简单的框架,《敏捷软件开发:Scrum实战指南(第2版)》结合故事、模型和成功秘诀三大要素,透彻讲解确保Scrum成功实施的所有基本要素。《敏捷软件开发:Scrum实战指南(第2版)》5部分共35章。在简单介绍Scrum知易行难后,分别介绍战前准备、战地基础、战地急救,讨论如何使每日站会富有成效,如何提出Scrum的第四个问题,如何让人们在结对编程时保持专注,增加团队新成员时应该怎么办,发生文化冲突时应该怎么办,应急过程等。随后锁定八大主题,重点介绍高级生存和荒野生存。最后在附录中概述Scrum框架,以帮助读者快速入门。

《敏捷软件开发:Scrum实战指南(第2版)》适合打算实现敏捷转型并导入Scrum的所有人员阅读,是架构师、开发与测试人员、项目经理和项目负责人的理想参考书。

作者简介

著译者简介

米奇?莱西(MitchLacey)

Scrum联盟和敏捷联盟的委员会成员,敏捷大会两届主席,CST(认证Scrum培训师)、PMI项目管理专家(PMP)和认证敏捷教练(ACP)。华盛顿大学敏捷认证课程讲师。

米奇拥有二十年项目管理经验,帮助过很多组织顺利采用敏捷实践,包括Scrum和XP。他具有丰富有效的实践经验,深受许多公司的信赖,比如AdobeSystems,AeraEnergy,Rio-Rad,EchoStar,Microsoft,Oracle,Qualcomm,SalemHospital,SAP,Sony等等。他经常出席全球大会发表主题演讲。在微软工作期间,他运用敏捷相关知识成功发布了WindowsLive的核心企业级服务。他在微软的一个敏捷团队由WardCunningham(维基之父、极限编程创始人之一)、JimNewkirk(nUnit创始人)和DavidAnderson(看板倡导者)亲自指导。

王国良(GlenWang)

敏捷教练,致力于打造卓越个人和组织。经历过三个行业:通信,电子制造和金融IT。先后担任过开发人员、经理,精益和敏捷教练。译著有《特斯拉:电气时代的开创者》。敏捷之旅讲师,认证ScrumMaster课程Co-Trainer。个人微信公众号:真北敏捷。

熊小龙

高级项目经理,10年以上软件开发及管理经验,7年敏捷软件开发管理经验。现任职于晨星资讯(深圳)有限公司,从事金融产品开发和项目管理工作。长期奋斗于一线,注重管理实践与工程实践的结合,一直在探索跨职能、跨地域、跨时区的Scrum团队实践。

叶虎

项目经理,PMP,经历了公司从瀑布式到敏捷转型。毕业于暨南大学,从测试到项目管理,专注于卓越产品和团队。

郑璐璐

精益和敏捷教练,卓越运营专家。致力于流程改进、质量提升、产品开发以及企业变革等主题,同时也将敏捷应用于个人成长领域并提炼出个人迭代精进模式。现就职于金融服务行业,专注于建造卓越运营体系,系统提升产品及服务质量,打磨“以人为本,持续改善,迭代创新和共创共赢”的卓越组织。

目录

目录

第1章Scrum知易行难1

故事1

Scrum6

变化是困难的15

现状后期16

从外部元素和混乱到思想转变16

实践与集成16

新的现状17

成功要领17

引用18

第Ⅰ部分战前准备

第2章取得支持与组建团队23

故事23

模型29

成功要领33

引用34

参考34

第3章用团队顾问来优化团队表现35

故事35

模型40

建立一个团队顾问池40

建立团队42

成功要领47

引用49

参考49

第4章预估团队的速率50

故事50

模型55

成功要领64

引用65

第5章Scrum的三大角色66

故事66

模型70

成功要领74

第6章确定Sprint的长度76

故事76

模型79

成功要领86

引用87

第7章如何定义“完成”88

故事88

模型90

成功要领96

引用96

第8章全职的ScrumMaster97

故事97

模型100

成功要领106

引用109

参考110

第II部分战地基础

第9章Scrum中工程实践的重要性113

故事113

实践117

重构119

持续集成以及更频繁的提交120

成功要领124

结语126

引用127

参考127

第10章团队核心时间128

故事128

模型131

成功要领134

第11章发布计划136

故事136

模型140

成功要领146

引用148

第12章分解故事与任务149

故事149

模型152

成功要领159

引用160

参考160

第13章缺陷管理161

故事161

模型163

成功要领164

引用165

参考166

第14章可持续工程与Scrum167

故事167

模型170

成功要领173

结语174

引用174

第15章Sprint评审会175

故事175

模型179

成功要领181

参考183

第16章Sprint回顾会184

故事184

实践187

成功要领191

引用193

第III部分战地急救

第17章富有成效的每日站会197

故事197

模型200

成功要领205

精彩书摘

第1章Scrum知易行难

Scrum简洁优雅,表面上看,是一个最容易理解的框架,但同时也是最难实施得好的框架。我说“实施得好”是因为Scrum固有的简单性容易诱导我们,让人觉得使用Scrum很容易。然而,在现实中可能需要很多年才能把它做好。Scrum似乎完全对立于我们过去多年来在瀑布式开发中所习得的方式。显而易见,我们需要一些时间来忘记老习惯,及时调整到新的现实中。

在《敏捷软件开发:Scrum实战指南(第2版)》的附录中,我解释了Scrum的机制。如果你对Scrum以及如何使用它还不熟悉,我建议你从那里开始。如果了解Scrum的一些背景,你就知道它的机制非常简单直观。事实上,正因为它如此简单直观,才导致很多人误以为自己已经掌握了Scrum,可以立即根据现状着手修改Scrum。结果呢,他们却往往发现自己迷失方向或者受了伤而需要帮助,《敏捷软件开发:Scrum实战指南(第2版)》就是为此而设计的。下面这个故事阐述了一点:如果不理解或者缺乏这些使Scrum有效的核心敏捷概念中的坚实基础,应用Scrum很快就会陷入困境。

故事

出场人物:敏捷教练Jeff(杰夫)项目集经理Suzy(苏西)ScrumMaster教练Julie(朱莉)首席测试Mike(迈克)团队Wyatt(怀亚特)

Jeff是个敏捷教练,他在一家大型软件公司内部帮助团队应用Scrum。有一天,他收到部门项目集经理Suzy的一封电子邮件。

“Jeff,请帮个忙。我们已经做了6个月的Scrum,但代码质量并没有像预期的那样有所提高。我想我们需要你过来和我们讨论讨论结对编程。下周一就是我们计划周的开始,你能来一下吗?”

Jeff坐在椅子上想,讨论结对编程相对简单,他可以带上朋友Julie,一个优秀的开发人员和经验丰富的敏捷实践者,所以不会有什么问题。但电子邮件中有几个字一直浮现在他的脑海中,计划周?Scrum要求Sprint计划会议的两个部分都不得超过4个小时。这个团队居然要做1周?他隐隐觉得,不只是结对编程,还有其他更多的事情需要他做。下周一会比较有意思。

星期一,Jeff和Julie来到会议室,发现Suzy和她的8人团队已经在会议室各就各位了。在Suzy介绍完团队之后,Jeff和Julie简单谈了谈各自的经历,然后开始问Suzy代码质量问题。

团队很快七嘴八舌,开始回答。首席测试Mike首先说道:“我们的代码质量差是因为我们没有时间做测试。开发人员在4周Sprint的最后一天还在忙着写代码。本来嘛,‘编码与测试Sprint’应该既做编码,又做测试。但我们的测试不是被挤到Sprint末尾,就是溢出被放到‘集成Sprint’。”

Julie打断他:“抱歉,Mike,你刚才是说‘集成Sprint’?”她看着Suzy,Suzy点点头。

“哦,我还没有解释我们改了Scrum,是吧?”Suzy说,“我们知道Scrum要求每4周有一个发布,但对我们做的这种工作,是完全不可能的。我的意思是,在我们尝试Scrum之前,我们都在努力按季度发布,那完全是一场灾难!所以我们只能修改Scrum使其更好地贴近我们的流程和现实。”Suzy走到白板前开始在上面写。

“首先,我们有1周来做Sprint计划;然后在4周的实际Sprint中,开发人员写代码,测试人员写测试用例;在这之后,我们就做集成,然后部署。当然,我也常常增加1周作为缓冲应急,以防万一。”Suzy说。

话音刚落,她就已经在白板上写好了下图所示的内容。

前言/序言

前言

欢迎阅读第2版。

当我提出想要修订《敏捷软件开发:Scrum实战指南(第2版)》第1版时,我妻子怀疑这是不是个理智的决定。毕竟,她提醒我,第1版几乎把要分享的都写完了。然而,当我回想起我的第一次写作过程时,我觉得我不仅有更多要说的,而且我还想调整我已经发表的一些内容。简而言之,我想要重构,添加一些新特性,并发布2.0版本。所以就有了第2版。

阅读《敏捷软件开发:Scrum实战指南(第2版)》的方法跟阅读第1版一样:挑选能解决你在公司遇到的问题的一章并阅读它,然后应用我的建议,看看会发生什么。

敏捷是一个旅程。自2012年第1版出版以来,我学到了很多东西。如果你以前读过这《敏捷软件开发:Scrum实战指南(第2版)》,你会立刻发现我已经在原来的章节中添加了新的想法和概念。很多章节重写超过80%;其他的则只有10%。你将看到一个新的部分,第V部分“荒野必备”,包含了更多的实战技巧,其灵感来自于我与全球组织合作的第一手经验。这些新章节包括管理风险、面试、一次做对的谬论等等。

敏捷软件开发:Scrum实战指南(第2版)》诞生过程

我女儿Emma出生时,我感到有些力不从心。相比我们的其他孩子,我们这次在医生办公室的时间似乎要更多一些。我一直问我妻子:“这正常吗?”一天晚上,我在枕头边上发现我妻子那本《新生儿父母手册》,里面有她写的一张小纸条:“读读这《敏捷软件开发:Scrum实战指南(第2版)》,你会感到好受一些。”

我读了。由此我知道了我们所经历的每件事情对于我的孩子都是正常的,即使对我或我以前观察到的来说不常见。这使我感到更有信心与安全感。这也正好是我开始试验Scrum与敏捷的时间。随着我开始遇到障碍与面临不熟悉的情况,我开始认识到,在做Scrum与XP的第一年(甚至之后),我真正需要一本指导手册。

问题在于,不像一本指导手册,我不可能准确告诉你,在第1~3月或者9~12月,你的团队应该做什么或者是应该担心什么。团队并不像小孩那样,不会以一个可以预测的速度发展。相反,在他们第一年的实践中,随着他们学习团队合作、采用敏捷工程实践、与他们的客户建立信任、和以增量迭代方式工作的过程中,他们常常会摔倒、蹒跚、犯错误,前进两步就倒退一步。

有鉴于此,我更倾向于以这种方式“我遇到了一个问题,该怎么办”来组织这《敏捷软件开发:Scrum实战指南(第2版)》。我收集了我参与过或者见证过的、在他们第一年敏捷旅途中的那些团队的故事。随着我继续我的敏捷旅途,我注意到各个公司中这些故事、模式通常都很相似。我在一个公司中实现一个想法,稍微调整一下就可以应用在下一个公司中。重复这个过程,我得以收集了这些现实世界的解决方案,并把它们加入我随身携带的虚拟工具箱。在这《敏捷软件开发:Scrum实战指南(第2版)》中,我将与你分享一些最常见的痛苦与解决方法。当你的团队遇到麻烦或者是受伤的时候,你可以找到最接近你的症状的那一章,然后你可以发现,即使不能解决你的问题,至少也有一个办法可以减轻你的痛苦。

第2版旨在帮助你精心调试你自己的实践,在一些你不熟悉的领域提供指南以及在前进的道路上更轻松地克服我们都遇到过的困难。

谁应该读这《敏捷软件开发:Scrum实战指南(第2版)

如果你正在考虑开始Scrum或者敏捷的实践,或者刚刚开始你的旅途,或者已经实践了一年左右但却感觉好像迷失了方向,这《敏捷软件开发:Scrum实战指南(第2版)》就是为你准备的。我正式的目标群体就是,从那些在6个月以内将开始他们的项目,到那些已经实践了一年的公司,即有18个月的时间窗口。

这《敏捷软件开发:Scrum实战指南(第2版)》是为推崇实践的人准备的。如果你想学习理论或者是高深的讨论,可以从很多优秀的Scrum和敏捷的书籍中找到一本。另外一方面,如果你想寻求基于我在微软做过的项目以及我在福布斯100强的大型公司指导顾问过的团队的实践建议与真实数据,这《敏捷软件开发:Scrum实战指南(第2版)》会物有所值。

怎样阅读这《敏捷软件开发:Scrum实战指南(第2版)

设计这《敏捷软件开发:Scrum实战指南(第2版)》是为了方便你在任何时间以任何顺序阅读任何章节。每一章都以一个故事开始,这些故事都是从我工作过的或者是指导过的团队、公司、项目中提取出来的。可以想象,为了保护那些清白的(或者是犯错的)人,我改变了他们的名字。在你看过这些似曾相识的故事后,我会介绍一个模型。这些模型是我在实战中用来帮助解决故事中存在的问题的。一些模型你可能会感到不太舒服,或者是认为对你的公司可能不适用。我强烈要求你反抗你的忽视建议或者是修改模型的直觉,至少努力尝试三次,然后看看结果如何,你可能会对结果感到惊讶。在每章的最后,我总结了成功要领,其中的因素事关实践成败。

这《敏捷软件开发:Scrum实战指南(第2版)》组织为五部分。

第Ⅰ部分“战前准备”,对你准备开始使用Scrum提供建议,帮助你为成功做好准备。如果你正在考虑Scrum,或者是刚刚开始使用Scrum,就从这里开始。

第Ⅱ部分“战地基础”,讨论的话题可以帮助你克服开始敏捷的旅途之后团队与组织会遭遇的初步障碍。如果已经开始了Scrum的实践,但是遇到了困难,你可以从这里开始。

第Ⅲ部分“战地急救”,着眼于解决公司所面临的一些更大、更深层次的问题,比如往项目中增加人手或者是解决每日站会的功能失调。这些都是在第一年实践中某个时候很可能会遇到的情况。这几章可以帮助你诊断并处理这些情况,使团队恢复到健康的状态。

第Ⅳ部分“高级生存”,讨论人们在实践Scrum的任何阶段都常常挣扎的一些话题。比如,项目成本、合同的制定、敏捷与Scrum项目中的文档等。

第V部分“荒野必备”,包含了一些章节,这些章节关注的是那些被忽视的,但也同样代价高昂的问题。这些问题是大多数组织在敏捷采纳的过程中所面临的,比如风险管理,面试,一次做对,等等。

如果你是从零开始,对Scrum还一无所知,我在《敏捷软件开发:Scrum实战指南(第2版)》的附录中包括了一个对Scrum的简短介绍,旨在帮助你熟悉这些术语与概念。在开始研究这《敏捷软件开发:Scrum实战指南(第2版)》之前,你可能还需要多了解一下Scrum。

为什么需要阅读这《敏捷软件开发:Scrum实战指南(第2版)

不管你在敏捷旅途中身处何地,我们都需要一个友好的提醒,即我们的遭遇是正常的,我们还需要解决这些问题的建议和一些成功要领。这《敏捷软件开发:Scrum实战指南(第2版)》把这些东西都组织在一起,方便你根据具体需要选择阅读需要的章节或者整个部分或者《敏捷软件开发:Scrum实战指南(第2版)》。这是真实生活中的情况,可以与你产生共鸣,它的解决方法可以应用于任何团队。打开书开始阅读这些故事,这《敏捷软件开发:Scrum实战指南(第2版)》将是你经历Scrum与极限编程之高潮与低谷的忠实伴侣。

敏捷软件开发:Scrum实战指南(第2版)》的补充材料

在你阅读《敏捷软件开发:Scrum实战指南(第2版)》的过程中,你可能会想:“我真希望有个工具或者是可以下载一个模板来帮助我实践这个概念。”很在多情况下,这是可以的。访问http://www.mitchlacey.com/supplements/,你可以看到我在我每天的Scrum项目中用到的一系列文件、图片、Excel表格以及工具。尽管其中一些信息是精心准备过的,但大多数东西还很简陋。为什么?在我的项目中,我不需要它们很完美,我只需要它能用。你在我的网站上得到的将是第一手的、真实的、偏重实战且有用的东西。


其他推荐