人们似乎总是需要辩论点什么。Van Halen 跟 David Lee Roth 在一起更好,还是跟 Sammy Hagar 在一起更好?百事可乐更好喝,还是可口可乐更好喝? Lennon 唱得好,还是 McCartney 唱得好?养猫还是养狗?早期,敏捷方法也有原则与实践之争。早期的敏捷倡导者就一组原则达成了共识,并将其庄严载入敏捷宣言(Agile Manifesto),而多个敏捷方法之间也共享了很多具体实践。然而,当时人们就一个问题展开了激烈的争论,即一个团队是应该先理解敏捷软件开发的原则,还是应该先开始具体实践。

支持从实践开始的人认为熟能生巧。按照敏捷的方式行事,团队就会变得敏捷。通过采用敏捷方法的实践,如结对编程、测试和构建自动化、使用迭代、与主要的利益干系人紧密合作等,团队就会逐渐理解敏捷原则。

而支持从原则开始的人则认为没有原则支撑的实践是空洞的。在不明就里的情况下采用敏捷实践不会带来敏捷。敏捷一直关注持续改进。这些人认为,如果不理解自己所做的事情,团队就没法做到持续改进。

在《学习敏捷》这本书中,Andrew Stellman 和 Jennifer Greene 让原则和实践并重。在这一点上,他们是我所见过的人中做得最好的。他们指出,在不了解敏捷的情况下,实践只能带来所谓“聊胜于无”的成功。也就是说,只采用敏捷的实践是有帮助的,但是与真正的敏捷所带来的成功相比,还差得很远。

我第一次与 Andrew 和 Jennifer 见面是在六年前。当时他们为自己的新书《团队之美》(Beautiful Teams)来采访我。尽管那本书的书名中并没有“agile”(敏捷)这样的字眼,但是从很多方面看,那就是一本关于敏捷的书。拥抱敏捷原则、掌握所需敏捷实践并且摒弃不必要敏捷实践的团队确实是出色的团队。在《学习敏捷》这本书中,Andrew 和 Jennifer 集中讨论了当今三种最常见的敏捷方法:Scrum、极限编程和看板方法,并将讨论聚焦于敏捷这一主题。读者将看到基于共有原则的这三种方法如何形成不同的实践。比如,如果想知道为什么 Scrum 需要在冲刺结束时进行回顾而极限编程却不需要,在这里就能找到答案。

通过与 Andrew 和 Jennifer 一起探索 Scrum、极限编程、精益和看板方法,读者将读到很多故事。这样安排是有道理的。毕竟,很多敏捷团队的一个共同实践就是通过用户故事来描述某个系统的用户想要什么。读者将看到这样一些团队,他们费尽周折想要开发出正确的软件功能,为交付去年的需求花费了太长时间,错把敏捷当成另一种形式的上令下行式管理方法,不去拥抱变化而是被变化折磨得死去活来,等等。更重要的是,本书将向读者介绍团队克服这些问题的方法,让读者学以致用。

《学习敏捷》这本书彻底结束了“原则和实践哪一个应该在先”的争论。书中引人入胜的故事和鞭辟入里的评论说明了一个简单的真理:在敏捷中原则与实践是不可分割的。通过阅读本书,读者将对如何成为真正出色的团队(或回到成为真正出色团队的正轨上来)有更为深入的理解。

 

Mike Cohn

《Scrum 敏捷软件开发》《用户故事与敏捷方法》作者

博尔德,美国科罗拉多州

目录

  • 版权声明
  • O'Reilly Media, Inc. 介绍
  • 献词
  • 本书赞誉
  • 前言
  • 第 1 章 学习敏捷
  • 第 2 章 理解敏捷价值观
  • 第 3 章 敏捷原则
  • 第 4 章 Scrum 和自组织团队
  • 第 5 章 Scrum 计划和集体承诺
  • 第 6 章 极限编程与拥抱变化
  • 第 7 章 极限编程、简化和增量式设计
  • 第 8 章 精益、消除浪费和着眼全局
  • 第 9 章 看板方法、流程和持续改进
  • 第 10 章 敏捷教练
  • 关于作者
  • 关于封面