敏捷开发被误读、被腐化了吗?看看他能不能颠覆你对敏捷的认识

320 阅读10分钟

敏捷开发到底是什么?它从何而来?又如何演进至今?自“敏捷开发”这个词诞生之日起,已近 20 年历史,它从被人质疑,已发展到行业内几乎人人言必称“敏捷”。然而,“此敏捷”已非“彼敏捷”。2010 年之后,我的口头语变为“别提敏捷,只解决问题”。因为,从那时起,敏捷就已经开始出现似是而非的倾向了。很多人出于不同的目的,将无限多的内容加入到“敏捷”之中,使它变得模糊不清。鲍勃大叔对这些问题给出了深思熟虑的答案,同时也指出了敏捷开发被误读、被腐化的各种形式。作为敏捷开发最初的奠基人之一,他在这个话题上有着举足轻重的权威性。

敏捷开发被误读、被腐化了吗?看看他能不能颠覆你对敏捷的认识

敏捷联盟刚成立时的照片

当向管理者介绍敏捷时,只强调了敏捷可以让软件成本更低,交付更快,质量更高,但没有强调它需要严格的纪律,这种纪律既要约束雇员,也要约束老板。有人会说,敏捷也应该与时俱进。是的,鲍勃大叔的确与时俱进了,但不是加入更多让人难以琢磨的复杂概念,而是对最基本原则与实践的进一步澄清。

 

鲍勃大叔对于敏捷发展的现状看不下去了。身为多本敏捷软件开发经典著作的作者和敏捷宣言缔造者之一,鲍勃大叔推出得力新作。又一次,鲍勃大叔从一个真正热爱构建高品质软件的工程师和全力为团队争取尊重的敏捷先锋人物的视角,带着我们重温敏捷初衷,同时又对如何能实现真正的敏捷提出犀利的见解。鲍勃大叔秉承其一贯风格:旗帜鲜明,简洁为本,一针见血。无论您是想成为卓越软件开发者还是领导者,《敏捷整洁之道 回归本源》都是力荐之作。

敏捷开发被误读、被腐化了吗?看看他能不能颠覆你对敏捷的认识

 

为什么鲍勃大叔及一众大牛们都开始坐不住了呢?我猜想可能是与最近层出不穷的软件行业相关负面新闻有关。震惊海内外的波音 737 Max 系列飞机事故导致几百人丧生,事件中波音管理层或多或少把“矛头”指向软件工程师造成的 MCAS(Maneuvering Characteristics Augmentation System,机动特性增强系统)软件缺陷;某大国国防部针对如何避免软件开发项目中的 Agile BS(伪敏捷),公开发表概要指南;作为客户方,某大型跨国租车公司在一个项目上稀里糊涂花掉 5000 万美元之后,却没有任何供用户使用的新功能上线,为此与相关软件开发外包供应商对簿公堂……林林总总的案例引发了大家对以下现状的审视:

  • 软件产品的品质欠缺,以及缺乏真正的质量透明性;
  • 许多场合里,软件工程师们没有获得真正的尊重;
  • 用瀑布的管理思维来管控敏捷软件交付团队;
  • 从业人员素质良莠不齐,有些人甚至缺乏基本功及职业素养;
  • 软件产品的用户/最终客户的价值被所谓的开发过程所稀释,或被忽视,或缺乏及早反馈;
  • 领导者们继续使用传统项目化、流程化思维来管理实质上应该是所有人一起创造价值的工作;
  • 可怜又无奈的工程师们继续被牵着鼻子走,缺乏尽早的参与,缺乏贡献和共识的形成。

而这些还不是全部的“槽点”!若你也想寻找正本清源的敏捷软件开发及管理的思路,以及上述现状的解决方法,此书没准是你的“良丹妙药”。上述问题不仅是中国从业人员所面临的,也是全球软件产品研发产业的一些通病。

鲍勃大叔所强调的“规模化敏捷是个伪命题”也很有意思。虽然我们不一定完全认同鲍勃大叔在本书中的所有观点和看法,但我也觉得规模化敏捷的发展现状是值得探讨的。

敏捷开发被误读、被腐化了吗?看看他能不能颠覆你对敏捷的认识

 

鲍勃大叔是敏捷历史上的主要人物,也是敏捷创建者之一,对敏捷的出现和发展过程一清二楚。无论是在《敏捷宣言》编写之前还是之后,鲍勃大叔一直强调的是软件开发的实战技能和具体可落地的实践。跟某些软件敏捷宣言的编写者大有不同,鲍勃大叔一直以来是方法论的独立分子,没有对某一个方法论做推广,反而一直强调实用性。在本书中,鲍勃大叔毫无保留地跟所有敏捷爱好者分享了他对敏捷的看法、体会、应该注意的事项,以及他丰富的经验。本书非常值得参考。

本书采用了口头对话式的写作风格。我的用词有时略显粗鲁。虽然我并不是爱爆粗口的人,但你会发现书中偶尔会有一两句(经过修正的)脏话,因为有时我真找不到其他更好的表达方式。

当然,这本书并非随意挥洒。在必要的地方,我也给出了参考资料,读者可以去查阅。对于书中提到的一些事实,我已经尽可能地向敏捷社区的其他人求证。我还邀请了其中几位在独立的章节里提供补充和反对的观点。请不要把这本书视为学术著作,最好将它视为一本回忆录——就像脾气暴躁的老年人满腹牢骚,叫时尚新潮的敏捷小年轻们从他家草坪上滚开。

程序员和非程序员都可以读这本书。这不是一本技术书,书里没有代码。我想让读者大致了解敏捷软件开发最初的意图,而不必了解太多编程、测试和管理的细节。

敏捷整洁之道 回归本源简要目录

  • 第1章 介绍敏捷免费
  • 第2章 敏捷的理由
  • 第3章 业务实践
  • 第4章 团队实践
  • 第5章 技术实践
  • 第6章 成就敏捷
  • 第7章 匠艺
  • 第8章 结论

鲍勃大叔最新作品我们解读完毕,带大家回顾一下鲍勃大叔其他的两本程序员们耳熟能详的作品。

代码整洁之道

敏捷开发被误读、被腐化了吗?看看他能不能颠覆你对敏捷的认识

 

  • Java语言版,鲍勃大叔作品,程序员必读
  • 汇聚编程大师数十年编程生涯的心得体会
  • 阐释如何解决软件开发人员、项目经理及软件项目领导们所面临的棘手的问题

软件质量,不但依赖于架构及项目管理,而且与代码质量紧密相关。这一点,无论是敏捷开发流派还是传统开发流派,都不得不承认。

本书提出一种观念:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。作为编程领域的佼佼者,本书作者给出了一系列行之有效的整洁代码操作实践。这些实践在本书中体现为一条条规则(或称“启示”),并辅以来自现实项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。

本书阅读对象为一切有志于改善代码质量的程序员及技术经理。书中介绍的规则均来自作者多年的实践经验,涵盖从命名到重构的多个编程方面,虽为一“家”之言,然诚有可资借鉴的价值。

代码整洁之道:程序员的职业素养

敏捷开发被误读、被腐化了吗?看看他能不能颠覆你对敏捷的认识

 

  • 代码整洁之道Clean Code姐妹篇
  • 编程大师40余年心得体会 阐释软件工艺中的原理 技术 工具和实践
  • 助力专业软件开发人员具备令人敬佩的职业素养

成功的程序员在以往的工作和生活中都曾经历过大大小小的不确定性,承受过永无休止的压力。他们之所以能够成功,是因为拥有一个共同点,都深切关注创建软件所需的各项实践。他们将软件开发视为一种需要精雕细琢加以修炼的技艺,他们以专业人士的标准要求自己,他们具有职业素养。
软件开发大师Robert C. Martin在书中介绍了真实软件技艺中的各项原则、技术、工具和实践,展示了怎么以自豪、自尊和自信的心态进行软件开发,怎么取得卓越表现和丰硕成果,怎么做到有效沟通和确切估算,怎么以坦诚的心态面对困难,并引导读者认识到专业程序员肩负的责任重大,阐述了什么才是程序员的职业素养。

书中的具体内容包括:
● 成为真正的软件专业人士需要具备哪些条件,如何应对彼此冲突又紧张的进度表和不近情理的管理人员;
● 如何做到流畅编程,克服阻塞状态;
● 如何应对无休止的工作压力,避免崩溃;
● 如何培养坚持不懈的态度,如何拥抱新的开发范式;
● 如何管理好时间,避免身陷泥潭无法自拔;
● 如何培育有利于程序员和开发团队茁壮成长的环境;
● 什么时候应该说“不”,怎么说;
● 什么时候应该说“是”,承诺意味着什么。

软件强大、优雅而实用,让人惊叹不已,不论是开发者还是用户都乐于使用这样的软件。它们并非是由机器编写出来的,而是出自那些对软件技艺拥有坚定信念的专业软件开发者之手。本书将帮助读者成为专业软件开发者中的一员,并赢得只有他们才能拥有的荣誉感和成就感。

作者简介

罗伯特·C. 马丁(“鲍勃大叔”) 从 20 世纪 70 年代起就是一名程序员。他是 Clean Coders网站的创始人,这个网站为软件开发者提供在线视频培训。他也是“鲍勃大叔咨询公司”(UncleBob Consulting LLC)的创始人,这家公司为世界各地的大企业提供软件咨询、培训和技能发展服务。他曾是“第八盏灯公司”(8th Light Inc.)的软件匠艺大师,这家软件咨询公司位于芝加哥。

马丁先生在各种行业期刊发表过数十篇文章,并经常在各种国际会议和行业会议上做演讲。他在 Clean Coders 网站上发布的一系列教学视频广受好评。