写点什么

阅读者(八):硝烟中的 Scrum 和 XP

  • 2011-03-29
  • 本文字数:3924 字

    阅读完需:约 13 分钟

InfoQ 中文站推出的迷你书《硝烟中的 Scrum 和 XP》(电子版,免费下载),或许是获得最多赞誉的一本。书中作者 Henrik Kniberg 讲述了他在一年的时间里,带领 40 人的团队实施 Scrum 的过程。正是这种结合项目实践讲述敏捷的方式,使得 Scrum 的实施真正落到了实处,具有良好的实践价值与现实意义。在 QCon 2009 北京,本书作者 Henrik Kniberg 亲临会场,分享了他实施 Scrum 的真知灼见,而本书的迷你版也在会场受到了广泛追捧。在广大读者的强烈要求,以及 InfoQ 中文站的推进下,本书的纸质彩版现已由清华大学出版社出版(原价 28 元,折扣价 21.75 元,当当网卓越亚马逊互动出版网)。为此,我们组织了 InfoQ 中文站的编辑,对本书发表了自己的阅读意见。


书名很酷炫,内容更精彩。在运用 Scrum 的时候,我发现有此书在手,犹如迷途中的一点灯光,再也不害怕我们的 Scrum 过程会走在错误的道路上。当我们对 Sprint 计划的制定而争执不休时,翻阅此书,总能得到恰如其分的指导。例如,遵循本书的建议,我们在会议室的墙上粘贴了标识了各自重要程度的索引卡,我们像一群手艺人一般,一边讨论或者争执,一边运动着双手,挪动着索引卡的顺序。

在我第一次担任敏捷教练时,本书给了我足够多的信心。我觉得 Henrik 讲出了在我心中处于混沌状态的敏捷方法。我似有所悟,却又说不清道不明,美其名曰“只可意味不可言传”,不过是抓不住本质的说辞而已。当我阅读本书时,看到精彩之处,常常会赞叹“妙哉,妙哉,我也是这样想的。”细细思索,才发觉我之所想其实还停留在朦胧的意识,说不出来,是因为自己缺乏足够多的敏捷实践。例如,书中提到“把测试人员放到 Scrum 团队来提高质量”,Henrik 写道:

在 Sprint 计划会议中,进行到拆分故事阶段,团队会把注意力放在编程性任务上,但一般在 sprint 计划阶段花上一些时间来找出非编程性任务,测试先生就有机会来做出大量贡献,即使他不会编程,当前也没有测试工作要做。”

妙啊!在我们实施 Scrum 的项目中,因为公司人员组织安排的缘故,我们不是经常看到测试部的那帮家伙们在项目开始之初无所事事么。就这么干!Henrik 教会了我们一个妙方。

我在尝试实施 Scrum 的过程中,总感觉 Scrum 过程的定义更偏向项目管理,缺乏足够具体的实践方法。它是一个开放的管理框架,重心在于项目管理,而不是指导团队成员如何进行开发。这既是 Scrum 的优点,因为它很灵活,能够适应大多数场景,也可以兼容并包地引入其他方法学所提倡的实践;同时也是 Scrum 存在的固有缺陷,使得它难以被实践。如果没有一位优秀的 Scrum Master,而团队成员又缺乏自我组织和管理的能力,就会让开发过程变得一团糟,团队成员将会无所适从。在实施 Scrum 时,我曾尝试着将敏捷建模和 XP 结合在 Scrum 过程中,取得了不错的效果。这一结合理念正来自于本书的触发。Henrik 在本书第 13 章中介绍了如何组合使用 Scrum 和 XP。XP 中很多好的实践,例如结对编程、测试驱动开发、持续集成等,被有机地融合在 Scrum 中,每日的开发工作开始变得更加有效。或许,这并非 Henrik 的独家创意,但我却是在本书中发现了各种敏捷方法相互融合的可能。

说到本书,不得不提本书的译者。李剑的翻译,可谓行云流水,绝妙好辞如行山阴道,应接不暇。文字亦庄亦谐,收放自如。让我们来看看这段或许是史上最强的一段翻译:

我已经能听到你的抱怨了:“那不是闲的蛋疼么?你丫想想,得有多少事影响生产率啊?有那么一群傻拉吧唧的程序员、原始估算能错到姥姥家去、范围变化了连个响都听不到,还有,鬼知道从哪个旮旯里就能出来个东西影响我们,这种事不是太多了么!”

卖糕的,真是很操蛋的翻译哦。是哗众取宠么?或许是,可是纵观全书,文字实在太流畅了,没有西化的痕迹,只有中国风的意趣。行文绝无生涩之感,没有那种“隔”的感觉。我曾经与本书的作译者都有过交流。在我的印象中,Henrik 先生就好像敏捷世界中的绝世侠客,善于斩妖除魔,而李剑呢?委实是个妙人。他的“獠牙”和魔女一般的白发造型雷倒了 InfoQ 的一片编辑,最重要的是他的谈吐总是那么的妙趣横生——而本书就是这样的绝妙组合!

InfoQ 中文站架构社区编辑 张逸


作为一位致力于推广敏捷的培训师和咨询师,在向别人解释敏捷的时候,最常见的问题就是“有没有具体实例?”敏捷是一些价值观和原则,Scrum 是简单的软件开发框架。在了解了敏捷是什么和Scrum 是什么之后,很容易产生“这个东西如何用到我的实际情况当中”的疑问。其实,Scrum 的本意是“不提供解决方案”。对于那些Scrum 没有定义清楚的地方,需要使用者自己根据实际情况去定义。每个人可以有自己填充Scrum 的方法,而Scrum 本身希望使用者在不断的循环中发现问题和解决问题。

这些东西说起来容易。对没有经验的人来说,如何开始实施始终会是个问题。XP 的一些实践对Scrum 框架是很好的补充,但也无法直接指导初学者上手。

《硝烟中的Scrum 和XP》一书,几乎完全是基于实践的!作者用自己丰富的实施经验告诉大家他使用Scrum 的做法。看起来感觉是一个接一个的实战故事,把理论化的东西融入了日常工作中。从Sprint 前的准备,到一个Sprint 的具体实施,乃至发布计划和异地团队,都有着非常细节化的描述。这样的细节,在大部分敏捷和Scrum 图书中是很少看到的。当然,作者也说了,这本书所描述的,不是使用Scrum 的唯一方法,但是有这样一系列的实例,着实能够很好的帮助初学者更好地理解敏捷、Scrum 和XP。

那这本书是不是只适合刚刚了解了敏捷理论但想学习具体实践的初学者?不尽然。我本人是在摸索了一年Scrum 之后才遇到这本书的。书中一些的实例与我之前的想法有共鸣,让我自信我所做的是合理的。比如,如何使用并更新任务板,以及Scrum 团队中如何做测试。也有许多其他做法让我对当前的做法产生了新的思考。比如,对Sprint 计划的准备。我在看到这本书之前,并没有对Sprint 计划有正规的准备时间,所以每次都在计划中碰到这样那样的不和谐因素。在看完之后,我和团队一起专门在Sprint 计划之前安排了一个小会讨论Backlog 的内容。还有一些东西,是我之前没有想到的。比如,如何处理固定价格合同。总之,实践过Scrum 的人,也能从这本书中受益良多。结合自己和别人的经验,更能理解敏捷的本质!

其次,我也曾经向一个对敏捷一无所知的人推荐的这本书。他当时只是觉得当时的开发不高效,希望有更好的方法。当他看完这本书的时候,他完全理解并完全被倾倒了,这就是他在寻找的开发方法!之后,他立马开始使用书里的实践开始Scrum,之后也逐渐摸索出了很多自己的实践。即使在慢慢接触别的书籍和读物后,《硝烟中的Scrum 和XP》始终是他最中意的,简单,好用!

总的说来,《硝烟中的Scrum 和XP》是一本对所有敏捷爱好者和实践者都推荐的书,而且它已经使无数人从中受益。在再版之际,希望有更多人能加入到敏捷实战的硝烟中来!

InfoQ 中文站敏捷社区编辑 鲍央舟


上一次看这本书是电子书, 大概是一年以前,从 infoq 网站上下载到我的手机,在城铁上一气呵成像小说一样没几天就看完了,这一来归功于书的内容有意思,但是也要感谢李剑的翻译,能把原汁原味的内容和风格带给国内的读者也是我们的幸运。

当时我的状态是:知道敏捷想实施,也参加了相关的培训,但到底每一步如何去做,实际展开中遇到问题如何选择?真有点摸不清,完全按自己的想法做又不知道对不对;当然敏捷教练是个好方法,非常重要,也能事半功倍,但是在最开始就能拿到预算批准找教练可能有点难,我相信这是很多中小公司的现状,而且请不到好的教练可能结果会更糟糕呢。

这本书解决了我的大部分实际问题:特别是:

  • 我们怎样编写产品 backlog
  • 我们怎样准备 sprint 计划
  • 我们怎样制定 sprint 计划
  • 我们怎样进行每日例会
  • 我们怎样进行 sprint 演示
  • 我们怎样做 sprint 回顾

这些都是实实在在的指引,拿制定 sprint 计划来讲:书中告诉我们,Sprint 计划会议会产生一些实实在在的成果:

  • sprint 目标。
  • 团队成员名单(以及他们的投入程度,如果不是 100% 的话)。
  • sprint backlog(即 sprint 中包括的故事列表)。
  • 确定好 sprint 演示日期。
  • 确定好时间地点,供举行每日 scrum 会议。

看了这一段,在每个 sprint 的开始,对 sprint 计划会如何召开,以及会议的产出一目了然。

再比如一个典型的问题:

如果没有任何事情需要测试,那测试人员该做什么?
这个问题会常常出现。测试先生会说:“嘿,Scrum master,目前没有什么东西需要测试了,那我该做什么呢?”也许团队需要一个星期才能完成第一个故事,那这段时候测试人员该做什么呢? 相信对于无论是测试 / 开发分开的矩阵式团队还是想要成为全功能的团队,都会有这样的问题,在我们怎样做测试这一章里你可以找到作者是如何进行的来参考。

今天本书的中文印刷版拿到手的时候,我刚刚到一个新的地方带新的团队从零开始尝试敏捷。这里之前是传统的矩阵式结构,我希望能通过敏捷帮助团队以及开发的系统进行改善,因为 Scrum 本身是一个非常好的学习模型,每一个 sprint 回顾会议团队都会一起找到要改善的地方并在下一个 sprint 来提高。在给团队里的一些成员进行了敏捷 /Scrum 的培训后,大家看起来有很高的热情,但是仍然用迷惑的眼神看着我,并且直截了当的打断我“请告诉我怎么做!”

如何落地是一个执行力的问题,但也非常需要一个敏捷教练,现在的我也许可以作为教练带着团队来实施,来基于自己的理论和实践经验回答大家的问题,但是一本很好的指引的书,例如本书,我更愿意把它推荐为团队必读。

本书是作者在实施敏捷中遇到了各种问题并且一一解决后逐步丰富经验的结晶,所以如果你的团队实施敏捷中有类似的问题,或者你有了热情和想法还不知道怎么执行,那就赶快去翻翻这本书吧!

InfoQ 中文站 SOA 社区编辑 晁晓娟

2011-03-29 21:392711
用户头像

发布了 109 篇内容, 共 42.1 次阅读, 收获喜欢 14 次。

关注

评论

发布
暂无评论
发现更多内容

Flink CDC + OceanBase 全增量一体化数据集成方案

Apache Flink

大数据 flink 编程 流计算 实时计算

高考后,学会这种能力,让你收益终生!

图灵教育

数学 高考 数学建模

Flink CDC 在大健云仓的实践

Apache Flink

大数据 flink 编程 流计算 实时计算

理解异步

大熊G

JavaScript 前端 6月月更

大数据培训Table API 和 Flink SQL的整体介绍

@零度

flink 大数据开发

web前端培训Vue面试题分享

@零度

Vue 前端开发

百度评论中台的设计与探索

百度Geek说

java培训 | Mybatis的特性

@零度

mybatis JAVA开发

百问百答第42期:应用性能探针监测原理-.net

博睿数据

智能运维 博睿数据 性能监测

可视化技术在 Nebula Graph 中的应用

NebulaGraph

可视化 图数据库 知识图谱

医疗机构如何利用云原生加速智慧医院建设?

York

云原生 系统架构 智慧医疗 医疗信息化 互联网医疗

芯动科技加入龙蜥社区,创新驱动生态发展

OpenAnolis小助手

操作系统 芯片 龙蜥社区 CLA 芯动科技

私有云和公有云的主要区别有几点?两者哪个更安全?

行云管家

云计算 公有云 私有云 企业上云 云管平台

为了写好代码,我坚持了这8条习惯!

Jackpop

哈希彩竞猜娱乐游戏俱乐部系统开发详情

开发微hkkf5566

什么是面向对象编程?终于懂了

Jackpop

吉林长春等保测评公司有几家?详细地址在哪里?

行云管家

网络安全 等级保护 等保测评 等保测评机构 吉林

小程序IDE,快速配置让App具备“一码通”能力

Speedoooo

ide 二维码 一码通

新闻速递 | MobTech受邀参与华为开发者联盟沙龙,谈数据智能撬动增长

MobTech袤博科技

移动互联网 运营 精细化运营 华为开发者联盟 HDG

字节跳动Dev Better技术沙龙来啦!参与活动赢好礼,限时免费报名中!

字节跳动终端技术

字节跳动 技术沙龙 华泰证券

TiDB 6.1 发版:LTS 版本来了

PingCAP

分布式

如何从零开始开发一款chrome扩展?

Jackpop

使用APICloud AVM多端框架开发消防检查助手App项目实践分享

YonBuilder低代码开发平台

APP开发 APICloud 多端开发 应用开发 avm.js

面试官神级问题:DNS服务器是否可以加快我们的网络访问速度?

wljslmz

服务器 DNS 6月月更

Android技术分享| 自定义LayoutManager

anyRTC开发者

音视频 移动开发 Andriod 动画效果 LayoutManager

信息化App在「左」,数字化App在「右」

Speedoooo

App 数字化 信息化

如何最简单、通俗地理解Python的pandas库?

Jackpop

从感知智能跨越到认知智能,NLP领域要做哪些创新?

澜舟孟子开源社区

人工智能 自然语言处理 nlp 大模型 认知智能

打造“更懂电池”的充电桩 星云股份底气何来?

E科讯

庄周梦蝶终非蝶,冷静看待“谷歌AI形成人格”事件

易观分析

谷歌AI

TASKCTL关于 "Fastjson反序列化远程代码执行漏洞” 的风险通告

敏捷调度TASKCTL

DevOps ETL算法 大数据平台 反序列化 TASKCTL

阅读者(八):硝烟中的Scrum和XP_研发效能_张逸_InfoQ精选文章