关于一个敏捷程序员需要什么技能,或者一个公司想要成功地实施敏捷必须采用哪些实践,还是有很多争论的。但是虽然其重要性不可否认,这真的就是敏捷成功的核心所在吗? Mark Schumann 建议敏捷的“一个基本要素”并不是基础级的敏捷技巧,而是管理层的敏捷定见。
Schumman 通过强调结对、TDD 和站立会议这些敏捷实践背后的本质来介绍他的观点:
结对很重要,但是你能开心于每天被纠正几十次更重要。测试驱动开发很有用,但是去设想一百多种让测试通不过的场景更有用。站立会议可能很有效,但是同事的信任解放了你去做自己的事情,才让会议真正有效。
随后他把“纠正、设想和信任”联系起来,提升到了一个新的层次,并且解释了这真正的基本组成部分如何不仅在团队中、也在管理层中发生:
抛开陈词滥调,敏捷真的是一种态度或者一种定见。而且我觉得它应该自上而下展开。 我不知道是不是有一个单独的词汇来命名它,但中高级管理层中必须具备这样一种态度,承认他们不是什么都懂、有些事情无法控制、意外情况总会出现。你必须信任你的团队,甚至在他们没有交付你所期望的结果之时。你必须设想不止一种可能的结果。你必须得体而容易地接受对你第一印象的修正。
Schummann 事实上找到了这个一开始没想到的名词,从而以此完善了他的思想:“成功敏捷开发起源于谦恭(humility)的文化”。
他继续总结了他关于谦恭是敏捷的“一个基本要素”的观点,解释了用信任、设想和接受改正来进行管理意味着什么:
信任意味着你不得不放弃控制,放弃很多。
设想意味着你将少了很多确定性。
改正意味着你不得不承认从来就没有完美这回事。 …成功运用敏捷软件开发——或者任何其他种类的敏捷——的公司,都是那些能处理好失去控制、确定性以及完美保证的公司。
有时间可以去读一下 Schumman 的博文,来了解他的整个思想以及那个有意思的呆伯特(Dilbert) 的故事。
评论