序
每当我过生日的时候,我都喜欢回头反思一下我的生活:这些年我是怎样度过的?30 年前、10 年前、1 年前,我当时想自己将来会在哪里?我现在在哪里?我如何才能把事情做得更好?哪些事情让我后悔应该早一点完成?我现在的表现是否如我所愿?我对别人的影响是否如我期望的那样?如果不是,未来几年应该如何改进?我是否明智地运用了我的聪明才智?
这就是我的回顾,回头看自己的过去,评估并反思每一件事,尽量把来年的事情安排妥当。但是,世事难料,我也不例外。我无法预知事态的进展,因为人的思维会随着环境的变化而不断变化,这就使得未来充满了不确定性。有谁能预知自己的孩子将来会是什么样的?当然,把目标定得更明确一些,生日过得更频繁一些,也许回顾就会更有效一些。我敢打赌,如果在我过生日的时候,有埃斯特和黛安娜在场,好多事情就会得到更好的解决。他们俩在书中描
述的出色的引导师可以为我提供新的灵感并帮我集中思考接下来的工作步骤。
我从事迭代开发、增量开发(也称敏捷开发)工作有11 年了,我的选择是Scrum,在Scrum 里面,为项目确立非常明确的目标,然后在每次迭代开发周期里都进行重置。因为迭代开发周期是30 天,这就使得项目不会产生太大的偏离。由于Scrum 应用的领域是软件构建而不是通常的生活,因此很容易就能看出它是在正确的方向上有所进展,还是有所偏差而需要调整。因为Scrum 是一项团队活动,所以团队反思就变得至关重要,需要每个人都参与进来,这样会收到意想不到的结果。
爱德华·犹敦(Edward Yourdon)把项目中经历的漫长而可怕的过程描述成“死亡之旅”。这些项目的一个共同问题就是没有过“生日”,没有定期地进行反思和调整。而敏捷项目中的软件是通过迭代开发和交付的,这种自然节奏提供了类似“生日”这样的休息点,使开发团队有机会改进正在做的工作,并改善他们对自己工作的感受。这是多么好的机会呀!好好读一读埃斯特和黛安娜的这本书,看看如何进行这样的“生日”反思。
肯.施瓦伯(Ken Schwaber)
Scrum 的创始人和推广者
前言
当提到回顾(Retrospective)这个词的时候,我们的脑海里就会出现一幅画面:每当一项增量开发工作告一段落时,整个团队就会聚在一起召开一个特别的会议,检视并调整工作方法和团队合作。回顾会议能够加强整个团队的学习,就像一剂促进变革的催化剂,让大家行动起来。
回顾会议的意义不只是一份项目审计检查单,或者例行公事的项目收尾。与传统意义上的事后评估或项目评审不同,回顾会议注重的不仅仅是开发流程,更重要的是团队中存在的问题,团队问题的挑战难度不亚于技术问题。
我们主持回顾会议和指导别人主持回顾会议已有20 年,事实上,2003 年在奥地利巴登举办的一年一度回顾会议引导师大会上,我们就被冠以“回顾会议女神”的称号。当然,我们不是要你每天都去读一本由两位“女神”写的书,我们也不敢以“女神”自居,但是我们确实知道许多能帮助团队通过回顾会议一起学习的方法和手段。
我们听到有些人抱怨“回顾会议纯属浪费时间”。但是,当深入了解他们的回顾会议的细节时,我们发现他们所描述的回顾会议与我们这里所说的回顾会议不是一回事。当他们按照我们在本书中描述的流程去做之后,我们看到了很好的效果。
我们的客户和同事告诉我们,他们确实从回顾会议中获益。下面就是我们看到和听到的一些案例,在每个案例中都提到,在回顾会议上,整个团队一起总结那些已得到改善的地方和下一步要开展的新的实践。
提高生产力:加利福尼亚州的一个团队通过改进单元测试从而减少了在版本发布后期的重复返工。他们增加了测试的次数和频率,这样就能尽早地发现错误,而不至于在最后发布的时候手忙脚乱。
提高能力:佛罗里达州的一个团队通过回顾会议想出了一个方法,解决了一个长期存在的问题。在他们团队中,只有一个人懂得如何将客户数据整合到公司的数据库中。他们通过设置结对工作机制,使另一个团队的成员也掌握了数据库知识,从而解决了这个瓶颈问题。
提高质量:明尼苏达州的一个团队通过回顾会议发现,在迭代开发期间缺乏与客户的沟通和错失需求之间存在明显的联系。他们在后续的迭代开发过程中通过提高客户参与度,减少了误解和返工。随着与客户合作的增加,团队做无用功的时间减少了,而把大量的时间用于减少产品缺陷和重构的工作上。
增强功能:纽约的一个团队通过研究如何对特性进行优先级排序,以及专注于提供较小的高价值特性集,从每年一次的版本发布提升为每季度一次。
回顾会议最起码可以为团队提供一个自我激励和自我愉悦的机会。
一个位于伦敦的团队在执行了迭代回顾会议一年之后,反馈说迭代回顾会议让他们的生活变得更加美好了。另一个团队在遇到一个特别棘手的问题时请来了一名外部顾问,这名顾问在观察了这个团队的回顾会议之后,指出这个团队具有非常好的探索和处理冲突的技能,甚至比一些专业人士都要强。
这个团队懂得如何进行令人不舒服但必要的对话,以解决他们的分歧,从而避免这些分歧最终变成冲突或怨恨。
我们无法预测你运用了回顾会议之后会获得什么结果,但许多迹象表明,回顾会议能够改善团队合作、改进工作方法、提升工作满意度,以及实现更好的工作结果。
埃斯特.德比
以帮助团队提高工作效率而闻名。她曾在Better Software、Software Development、Cutter IT Journal和CrossTalk等期刊上发表文章。她还是“提高你的效率”(AYE)研讨会的主持人。
黛安娜.拉森
与软件开发项目的领导者合作,以帮助他们提高项目绩效,维持变更,并创建协作的工作环境。她经常在各类软件会议上发表演讲,并曾在Software Development、At Work、Cutter IT Journal和Cutter's Executive Update and e-Advisor等期刊上发表文章。