揭开做软件项目计划的神秘面纱
一个做内部网站、仅有一人的小项目,绝不会需要投资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)。
分享到:
相关推荐
顶力DSK3.1H软件
acdc3.1看图软件
Hyres3.1分辨率软件 用于测量极限分辨率。 与Imatest相比,它用的是国际标准ISO12233测试卡来测量相机的分辨率的。 奥林巴斯开发的分辨率计算的软件
史密斯圆图软件V3.1使用说明书 使用史密斯圆图软件3.1版本的可又下载,这是对其软件的一个说明书
软件介绍: Hyres3.1是一款奥林巴斯开发的分辨率计算软件,用于测量极限分辨率,软件使用了国际标准ISO12233测试卡来测量相机的分辨率。 使用ISO12233标准测试卡来测试摄像头图像分辨率。
acdsee3.1 最早的看图版本,非常好用,占系统 资源少,方便好用
SATI3.1 SATI是一款功能强大的文献题录统计分析软件,能统计分析国际国内的数据库,如web of science,中国知网等。本文档针对SATI初学者,便于尽快操作使用软件
离散元软件udec3.1用来模拟岩土、机械等工程技术软件
很好用的EIS阻抗谱分析软件,交流阻抗分析拟合软件,EIS的结果分析,版本 ZView3.1
第七章 项目部署v3.1
中国科技大学软件学院项目管理课程实战--->软件项目计划书(文件搜索引擎和项目管理系统) 1引言 1.1编写目的 1.2 背景 1.3 定义 1.4 参考资料 1.5 标准、条约和约定 2项目概述 2.1 项目目标 2.2 产品目标与范围...
MySQL-Front 3.1 MySql管理软件是一个可视化的MySQL管理工具。通过它,可以更方便的在别的机器上管理服务器上的数据库,进行数据库的相关操作。无需执行太多的MySQL语句,提高了工作效率。相信,在它的帮助下,你的...
c作业个人项目3.1学生数据管理软件].doc
关于ccs3.1的用法和举例,有源代码,希望大家能够用到
遥感时间序列分析工具TimeSat3.1软件下载。
项目管理业绩为上 115 项目管理应树立的理念 117 项目管理中问题与对策探讨 118 应用P3E进行IT项目管理初探 120 影响项目的因素及经验总结 129 用项目总结来减少问题的重复发生 130 有效控制质量、工期、成本三大...
计量经济学建模专用软件。eviews3.1可以在任何系统下正常运行,功能基本全在。
第八章 项目优化3.1
自主开发的英文论文下载软件V3.0,软件集论文关键词检索,检索关键词过滤,论文下载,文章文字识别,论文全文译功能于一身。程序在下载论文时会自动测试所有可用的线路,并按连接速度依次下载直到所有下载线路失败。
美萍母婴用品店管理系统标准版v3.1 美萍母婴用品店管理软件