诚实——是敏捷的价值观吗?

  • Amr Elssamadisy
  • 郑柯

2008 年 7 月 15 日

话题:敏捷文化 & 方法

一篇引人深思的博客中,Declan Whelan 引用了他从Mishkin Berteig那里了解到的想法:诚实,是敏捷团队之所以成功的一个(不言而喻的)原则。基本的想法如下:

……敏捷方法要求人们说真话,而且正直行事。我觉得这是非常引人深思的,因为很多敏捷专家要么觉得像 TDD、重构这样的敏捷技术很重要,要么认为团队和领导力的问题才是重点。

诚实?真的么?很多人还不是太明白,Declan 提供了一个他自己不太诚实的例子:

比如我曾经开发过一个财务的应用软件。当时做了一个设计上的决策,我觉得还挺不错的,但是实现起来却很麻烦。我不想让人觉得我犯了错误。所以表面上让大家相信一切没有问题,背地里我却发疯般地工作,想让它 work 起来。虚荣使我口出谎言,掩饰这个错误的技术决策。

不幸的是,对于我们很多人来说, 这个例子非常普遍,虚荣总是会占据我们的头脑。在 Berteig 看来,敏捷团队无法从中获益。

现在看来,在敏捷团队中,要是做出了类似的行为还想拍拍屁股转身就走,可就没那么容易了。代码集体所有制、每日立会、任务和故事跟踪、可持续的开发速度,所有这些都会让整个开发过程变得更加透明。Mishkin 认为敏捷方法依赖于人们说老实话、做老实事;对此,在某种程度上,我是同意的。

但是敏捷团队真的可以避免类似问题么?Declan 可不这么认为:

我们人类是如此狡猾的生物,所以我想让大家仔细考虑下面这些问题:

  • 你在回顾中真的表达出你的疑问和忧虑了么?
  • 如果其他团队成员的某些行为让你觉得不爽,你是不是用直接而不失尊敬的方式来解决这些问题?
  • 你敢于承认别人的想法或设计比你的更好么?
  • 你愿意承认自己犯的错误么?
  • 对于某人的看法,你在当着他的面和背着他的时候,说的都一样么?

“诚实是敏捷的价值观”这个说法看来得到了越来越多人的认同。价值观也被更多地认为是敏捷的核心——没有价值观的认同,像 TDD、迭代、完成状态和其他的个人实践就毫无意义。

查看英文原文:Truthfulness - an Agile Value


InfoQ 读者 Jason Little 认为诚实是成功的关键:

我完全同意。诚实是关键,它还可以带来信任,并塑造高效的团队。也许有人认为这是陈词滥调,但是彼此信任的团队确实表现得更为出色。这也是 Scrum master 的必备素质,也会对团队产生重要的影响。在实施敏捷流程时,很多人都认识不到,这其实与组织文化更加相关。

Jim Leonardo 视诚实为一切的基础:

无论任何人、任何项目,都应该尽量诚实。下面是我的一些想法:

1)“不要惊喜”。这是我们总监的信条。如果你早点告诉他哪里出了问题,他可以接受。要是你任其发展成为更严重的问题,那你的麻烦可就大了。这样的方式所产生的效果出人意料的好。

2)推迟冲突只会让事情变得更糟。

最重要的……

3)要是团队中有人工作的时间比别人多得多,这就是一个显著的警告,一定是哪里出了问题。最好赶快找出来问题发生的根源。

Robert Dempsey 认为仅仅在说话时进行眼神的接触无法解决问题:

随着对 Scrum 和敏捷开发的深入理解,我理解到:在这些貌似疯狂的项目管理方法背后,还有更深入的东西。我同意 Jim 的说法,Declan 说的也对。敏捷的目标之一,就是要帮助人们摆脱政治干扰,尽量好地完成手上的工作。它要求我们心态开放、诚实待人、尊重团队其他成员。有了敏捷,不诚实的人和行为会更快显露出来。一个好的团队是不会容忍这样的情况发生的。
敏捷文化 & 方法