为了避免失败,我们努力学习古今中外的理论,到处寻找成功的方法,反复借鉴别人的经验。然而,我们项目依然有时成功,有时失败,这是怎么回事?本书给我们找到了一种答案:因为我们总是盯着前方的目标,而很少记得回头看看走过的路:因为我们总是仰幕别人的成功,而很少俯首分析自己的脚印。如果我们不能清晰地认识自己,我们怎么可能找到符合自己实际的改进途径呢?
软件项目的反馈是很不容易获得的。项目的持续与发展往往超出我们能够准确记住的范围。所以,为了获取关于项目的专业知识,我们需要计划、准备并实践。这正是《项目回顾》一书给我们提供的内容——进行项目回顾的各种计划、多方面准备及其具体实施。
本书作者——咨询顾问和演说家,分别从技术和心理层面,借助丰富的场景、生动的示例和循序渐进的指导,带着读者从头到尾经历了富有效率、充分授权的项目回顾过程。
第1章 回顾引论
1.1 需要规程
1.2 命名这个过程
1.3 对于回顾活动的基本指导思想
1.4 回顾活动较为暗淡的一面
1.5 回顾活动的推动者
第2章 回顾过程剖析:案例研究
2.1 回顾的例子
2.2 为回顾做准备
2.3 回顾的计划安排
2.4 回顾的第1天
2.5 回顾的第2天
2.6 回顾活动第3天
2.7 为推动者的职业做好准备
第3章 策划回顾活动:做出选择
3.1 策划回顾活动
3.2 谁应该参加回顾活动
3.3 回顾活动应该在哪里举行
3.4 回顾活动应该在什么时候举行
3.5 回顾活动应该持续多久
第4章 推销回顾活动
4.1 了解销售回顾活动的市场
4.2 推销真不错
4.3 有效的推销需要倾听
第5章 为回顾活动做好准备
5.1 与管理人员联系
5.2 画出团队的轮廓图
5.3 收集工作成果数据
5.4 让项目组准备就绪
5.5 何时需要法律部门的介入
5.6 用一份核对清单来追踪细节
5.7 何时到达现场开展回顾活动
第6章 回顾活动的练习
6.1 练习
6.2 设计一次回顾活动大餐
第7章 引导事后剖析
7.1 “挑战者号”的故事
7.2 转化失败项目的经历
7.3 引导事后剖析活动的资格
7.4 回顾活动与事后剖析活动之间的一些重要区别
第8章 事后剖析活动练习
8.1 练习
第9章 成为一名熟练的回顾活动推动者
9.1 六条经验
9.2 了解推动者的过程
第10章 在回顾活动之后
10.1 回顾活动报告
10.2 收集回顾活动报告
10.3 让智慧永存
10.4 一个安全的场所
10.5 进行一次针对你的回顾活动的回顾活动
10.6 收集针对回顾活动的回顾活动的报告
在一个偶然的机会,我拿到了这本书,一读之下,竟然欲罢不能。由于投入产出严重失衡,我已经有许多年没有考虑译书了,但这次却毅然接下翻译的任务,前后花了差不多三个月时间。是什么东西如此吸引我?我想,只要你看看本书的目录,就一定会深有感触,如果你像我一样,是一位资深的项目经理,你也一定会被本书所吸引。
毫无疑问,我们的项目有过成功,也有过失败。为了避免失败,我们努力学习古今中外的理论,到处寻找成功的方法,反复借鉴别人的经验,然而,我们的项目,依然有时成功,有时失败。这是怎么回事?这本书给我们找到了答案之一:因为我们总是盯着前方的目标,而很少记得回头看看走过的路;因为我们总是仰慕别人的成功,而很少俯首分析自己的脚印。如果我们不能清晰地认识自己,我们怎么可能找到符合自己实际的改进途径?因此本书建议我们,在每个项目完成之际,要认真做一个项目回顾,从自己的经历中吸取经验教训。
当然,仅仅是项目回顾的建议并没有太多的价值,我们实际上并不是完全没有做过项目回顾,项目鉴定会在某种意义上就是一种回顾,只不过是一种文过饰非的回顾。这本书的真正价值在于其作者是一个拥有20多年推动项目回顾经验的咨询顾问,他把自己从项目回顾中学到的东西,农缩到了这么一本薄薄的书里。他真正了解人们在项目回顾活动中的立场、态度、情绪和偏好,他知道有些人不愿意回顾,管理人员害怕暴露自己的无能,开发人员害怕话说多了影响自己的前程;他知道项目实施过程中人与人之间的关系可能已经受到损害,有时候相互间还会充满敌意和冲突;他知道每个人做事情都有不同的偏好,以至于相互不能理解;他知道从信息的发出到分析理解之间有若干环节,词不达意和无意中误解都可能发生……。因此,他所设计的回顾过程和练习,不仅考虑了技术层面,而且还充分考虑了心理层面,非常实用。
也许你仍然信不过我的话,那么你不妨读上几页。如果你在阅读过程中有什么疑问,或者,如果你的团队也需要有一位第三方推动者,欢迎你来信,我们可以一起探讨。从1985年以来,我也一直领导项目团队,对于团队的学习和成长,正是我长期关注的问题。我的E—mail是2002jianyun@163.com。
由于本书不仅涉及软件工程和项目管理,还涉及心理、情绪、偏好等方面的内容,还由于本书不是技术文献,其行文风格,以及蕴含其中的大量故事、比喻和文化背景知识,都给翻译带来了很多困难,因此译文中的错漏之处还望各位读者海涵。
在本书的翻译过程中,除了译者郑莉萍、宋建云之外,还有许多朋友也给予了大量的帮助,在这里要特别感谢徐六通、黄星亮、陈晓明、王潜、徐晓梅、王玉林、田家斌、汪涛、马莉、郑新、张畅等朋友,他们在专业知识、英文理解、中文表达、设施提供以及其他许多方面,给予了译者极大的支持。宋迪帆作为本书译文的早期读者,也提出过不少中肯的意见。另外,还要特别感谢世纪波公司的傅豫波总经理,正是她提供了这本优秀图书的英文原版,没有她的独具慧眼,我们将与本书失之交臂。
你看,这就是艾德熊,此刻他正跟在克里斯托弗·罗宾后面从楼上下来,扑通、扑通、扑通、扑通,他不停地用后脑勺磕碰楼梯,撞得楼梯直响。就他所知,这是下楼的惟一方法,然而有时他也觉得,只要他能停止碰撞并去思考片刻,一定会找到另一种下楼方法。
——阿(兰)·亚(历山大)·米尔恩
《小熊维尼普》(Wjnnie-fAe-Pooh)
阿·亚·米尔恩的儿童文学名著《小熊维尼普》就是这样开头的。在这开篇的几行里,米尔恩邀请我们认同艾德熊的处境:做事情的常规方法——例行的程序——并不一定是最佳的方法,当然也不一定是惟一的方法。当我读米尔恩的作品时,我一直觉得难以置信,米尔恩描述的世界与我们所处的软件开发的疯狂世界之间居然如此相似。作为软件开发人员,我们总是日复一日地在一个接一个的项目中乱撞着我们的头。如果我们肯稍微停一会儿,然后想一想有没有其他的可选途径再继续前进,我断定我们能找到完成工作的更好方法。
《项目回顾:项目组评议手册》详细描述了如何创建一套在每个项目结束时实施的特别活动规程,该规程要求我们在开始下一个项目之前停下来做一点反思。这个规程有多种名称,例如称做事后剖析或产后诊断,但我喜欢称之为回顾,它对于我们的软件实践来说是相当重要的。事实上,我相信它是改善软件过程的一个最重要的步骤!之所以这么说,是因为一次运作良好的回顾能帮助团队的成员理解改进的必要,并促使他们改变处理工作的方式方法。一定要由整个团队来设计这种改变,因为只有团队才最清楚如何去确认、组织有待解决的问题,以及如何确定解决这些问题的优先顺序。完成这些改变将有助于团队成为软件开发过程的主人,这种过程是属于团队的,可以利用、褒扬、修改或者放弃,最为重要的是,它使团队在每一项目之后都可以一遍又一遍地评议。
此外回顾还能有助于推动涉及多个项目组的过程改进与变化。这种改变常常是复杂的,而且跨越了小组界限,需要多个项目组之间的协作。回顾有助于建立这种协作。举办回顾活动的实践还可以充当改进软件过程的努力的基石。众所周知,软件开发领域的变化速度很快,我们需要持续不断地校正我们的工作实践,而回顾则能确保软件过程适应这个领域的进步。
如果一个项目失败了,组织回顾活动可以为项目成员提供从失败中吸取教训并从失败中走出来的方法。构成回顾过程的各项活动有助于项目组成员讨论如何去改进,而不是追究责任或冷嘲热讽。如果对失败的项目不加评议,整个团队就失去了一次从经历中学习的宝贵机会,很可能为再次发生同样的失败留下开放的通道。
然而,回顾活动并不仅仅事关改进软件过程,它还促进着参与者的学习、成长和成熟。它为项目成员提供了在其团队内部庆祝成功和表彰英雄的机会。在回顾活动中分享各自的故事将成为小组文化和传统的一部分,以及团队长期学习的源泉。回顾中忆及的经历将有助于构建小组的共同兴趣和目标。
只有掌拄良好的回顾活动才能实现所有这些期望。学着去引导一次回顾过程并不是十分困难的,但如何把它做得最优则往往不是一个显而易见的过程。我在《项目回顾》一书中的目标就是帮助你成为一个娴熟的回顾活动推动者,能够为你领导的软件团队以及自己提供最具有潜在价值的经验。
诺曼·L·克尔斯
2000年10月
于俄勒冈州波特兰市