前  言

前  言

说到项目管理,不计其数的技巧、实践、不请自来的建议,一定将你炸得头昏脑胀。它们全都在说:“瞧我,我是最正确的。”

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

每一天,你的项目都在加快节奏,你的客户变得越来越不耐烦,大家越来越不能容忍总是有问题的产品。也许你之前的做法还算不错,足以让你走到眼下,可将来很可能不再有效。你必须运用各种方法和技巧,减少项目风险,包括在每个项目中使用敏捷方法。

本书从风险角度出发,帮你规划和指导项目。项目经理、团队成员、软件经理都能从本书学习成功之道。即使你要构建实体产品,比如一座房子、某种电路板,或是要管理服务类型的项目,本书中的很多内容仍然适用。 本书假设读者负责管理高科技项目,而且软件开发起码是项目的一部分。也许你像我一样,已经拥有了一些项目管理经验:包括纯粹的软件项目以及软硬件结合的项目。我也管理过一些服务项目,比如规划和主办会议;参与过一些建筑项目(一套新房子、一次小规模重新装修、一次大规模重新装修)。可是我主要的项目经验都来自软件或是软硬件结合的项目。

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

如果管理开发有形产品的项目,项目经理可以看到产品逐步成型。你可以看到房屋搭起框架,直到墙体完工,以及这个过程中所有的建造过程。对于有实物产出的服务型产品,比如会议,你可以深入了解项目是否有临时交付物,比如会议报告草稿或是会议日程,等等。所以在这两种项目的运行期间,你可以了解项目的具体进度。

要是不能直接看到项目进度,那该怎么办呢?当你发现项目有点儿不对劲儿,而且可能走上不归路时,你该怎么办?如果有些项目干系人不想做决定,从而导致你的项目可能失败,你又该怎么办?

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

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

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

书中所有文档模板,可以在本书主页上找到: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再次合作,同样让我深感荣幸。书中任何错误都由我负责。

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

约翰娜•罗丝曼

目录

  • 前  言
  • 第1章:启动项目
  • 第2章 规划项目
  • 第3章 使用生命周期组织项目
  • 第4章 安排项目日程
  • 第5章 估算工作
  • 第6章 识别和避免日程安排游戏
  • 第7章 创建出色的项目团队
  • 第8章 掌控项目
  • 第9章 保持项目节奏
  • 第10章 管理会议
  • 第11章 创建并使用项目仪表板
  • 第12章 管理多地点项目
  • 第13章 在项目中集成测试