翻译 项目管理艺术 3.1 揭开做软件项目计划的神秘面纱(上)

揭开做软件项目计划的神秘面纱

一个做内部网站、仅有一人的小项目,绝不会需要投资1000万美元、300人规模团队、做容错操作系统的项目的项目计划。通常,团队越大、要处理的问题越复杂,就越需要更多地对项目计划投入。另一方面,即使一个一人项目,也会受益于项目计划。计划提供了一种机会,可以使人们重新审视决策,暴露自己需要承担的责任,以及阐明个人与组织之间的契约关系。计划起到了与所有愚蠢行为战斗的作用,因为他们要求重要的解决方案在有时间去考虑其他选择时必须被解决。就像Abraham Lincoln说的,“如果我有六个时间去砍伐一棵大树,我会花四个小时去磨快斧子,”,对于我来说就意味着,聪明的准备会最小化工作量。

做项目计划时其实也顺带回答了两个问题。回答的第一个问题,“我们需要做什么?”,被称做需求搜集。回答的第二个问题,“我们该怎样做?”,被称做设计或规格化(参见图3-1)。需求是对期望的、满意的工作标准的详细描述。(例如,烹饪的需求可能是做一顿不贵并且好吃的、有营养的饭。)好的需求是容易被理解,难以被曲解的。也许有不同的设计方法实现一个需求,但在阶段工作结束时需求应当被很容易被判断出是否被实现。设计规格是用来满足需求的一种简单计划。

这三种活动,需求搜集、设计/规格化、实现,都是很深的主题,都值得有独立的书籍去描述它们(参见附录)。我将在下面几章从项目层次的观点覆盖前两个主题,而将会晚些在十四章和十五章关注实现。

<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><span lang="EN-US" style='FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: "Times New Roman"; mso-fareast-font-family: 仿宋_GB2312; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA'><shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><strong><span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%"><img style="WIDTH: 531px; HEIGHT: 130px" height="74" width="227" alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/russell_tao/e8b11c70565d46bd880dbd0968bd998d.png"></span></strong><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 385.5pt; HEIGHT: 97.5pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:/DOCUME~1/taohui/LOCALS~1/Temp/msohtml1/01/clip_image001.png"></imagedata></shape></span><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 385.5pt; HEIGHT: 97.5pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:/DOCUME~1/taohui/LOCALS~1/Temp/msohtml1/01/clip_image001.png"></imagedata></shape>

<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 385.5pt; HEIGHT: 97.5pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:/DOCUME~1/taohui/LOCALS~1/Temp/msohtml1/01/clip_image001.png"></imagedata></shape>

3-1 一个非常简单、便利的例子。如果你不知道你需要做什么,就谈该怎样做为时过早。

3.1.1 不同种类的项目

一些准则改变了如何去做需求搜集和设计工作的本质。我会用三个简单、不同的项目例子去说明这些准则。

孤独超人:在这个最简单的项目中仅有一人。他将包揽从写代码、销售、做商业计划之类的所有工作,他为自己做所有事情,他也是自己唯一的资源。

较小的合约性团队:一个五到十位程序员、一位项目经理的小公司,受雇于一位客户去构建一个网站或软件系统。他们相互草拟了一份承诺各自义务的合约。当合约终止时人们之间的联系便不存在了,除非有新的合约或项目产生。

大型团队:一个受雇于一家公司的百人左右团队,开始为某产品开发一个新版本。也许该产品是卖给大众的(也叫shrink-wrap),或者是内部使用的(internalware)。

你可能感兴趣的:(项目管理)