前 言

说到项目管理,你一定被不计其数的技巧、实践轰炸得头昏脑胀,时不时地还有各种相关建议迎面袭来。它们全都在说:“瞧我,我是最正确的。”

哎,它们很多都是正确的——在特定情况下。每个项目都是独一无二的,你必须要评估项目的情境(项目、团队、所在公司),然后再实事求是地作出判断,看看哪些可行,哪些不可行。

你的项目每天都在加快节奏,你的客户变得越来越不耐烦,大家越来越不能容忍无法正常工作的产品。也许你之前的做法还算不错,让你获得不少好评,可将来很可能不太奏效。你必须运用各种的方法和技巧来减少项目的风险,这其中就包括在每个项目中使用敏捷方法。

本书从风险角度出发帮助读者规划和指导项目。项目经理、团队成员、软件经理都能通过本书学习成功之道。即使你要构建有形的产品,比如一座房子、某种电路板,或是要管理服务类型的项目,本书中的很多内容仍然适用。

本书假设读者负责管理高科技项目,而且项目至少涉及一些软件开发。也许你像我一样,已经拥有了一些项目管理经验:包括纯粹的软件项目以及软、硬件结合的项目。我也管理过一些服务项目,比如规划和主办会议;参与过一些建筑项目(一套新房子、一次小规模的重新装修、一次大规模的重新装修)。可是我主要的项目经验都来自软件或是软、硬件结合的项目。

相对于交付实体产品的项目来说,软件项目要更加难以管理。软件很难把握,它没有形状,不需要原材料,也不是由物质构成的,所以看不见、摸不着,也没有办法直接测量。很难看到产品实实在在地在我们眼前发生演变,很难发现和预测风险,因此也就更难以应对风险。而开发软件产品的方式也并非总有助于我们了解项目进度或者把握其方向。

如果管理的是开发有形产品的项目,项目经理可以看到产品逐步成型。你可以见到房屋的框架、完工的墙体从框架到墙体,以及所有的建造过程。对于服务型的产品,比如像会议这种会产生具体结果的项目,你可以深入了解一些项目的临时交付物,比如会议报告草稿或是会议日程,等等。所以,在运作项目期间,你可以看到有形产品项目和一些服务项目的具体进度。

要是不能直接看到项目进度,那该怎么办呢?当你发现项目有点儿不对劲儿,而且可能濒临险境时,你该怎么办?如果此时有些项目干系人不支持你的决定,你又该怎么办?

本书可以让你深入了解你的软件项目,并让你成功管理项目的风险,无论这些风险是伴随着项目开始而存在、还是在项目进行到中间阶段时才出现。从章程制定到产品发布,每一章都讨论了一种能帮助你看清软件项目本质的方式,让你从各个方面度量它、感受它、品味它、体会它。

但在本书中,你找不到项目管理的绝对真理,因为没有在所有项目中都颠扑不破的绝对真理。你也看不到普适的最佳实践,我提出的能帮你和你的团队达成目标的实践,都有其针对的特定生命周期。

你在书中会发现有很多前后交叉引用的内容。这是因为项目是非线性系统。早先所做的决策会影响到项目如何结束,甚至可能影响到如何启动下一个项目。你管理项目的方法,也会影响你管理产品待办事项列表或项目组合的思路。

书中的所有文档模板可以在本书的主页上找到:http://pragmaticprogrammer.com/titles/jrpm

我想感谢所有为我撰写和修改本书提供帮助的人:Tom Ayerst、Jim Bullock、Brian Burke、Piers Cawley、Shanti Chilukuri、Esther Derby、Michael F. Dwyer、Mark Druy、Jenn Greene、Payson Hall、Peter Harris、George Hawthorne、Ron Jeffries、Bil Kleb、Michael Lee、Hal Macomber、Rob McGurrin、Andrew McKinlay、Erik Petersen、Dwayne Phillips、Frederick Ros、Ellen Salisbury、George Stepanek、Andrew Wagner和Jim Ward。我的编辑Daniel Steinberg提供了非比寻常的有益反馈。Kim Wimpsett再次证明他是一个极其出色的文字编辑。我要感谢Steve Peter在排版上的神奇表现。Rotate Graphics的Mark Tatro绘制了日程游戏一章(第6章)中所有的卡通图画。与Andy Hunt和Dave Thomas的再次合作,同样让我深感荣幸。书中任何错误都由我来负责。

书中讲述的故事全部源于真人真事,但考虑到保护隐私,相关的人名、公司名和事件细节都已做过修改。

我们开始吧。

约翰娜·罗丝曼

2007年4月

目录