揭开做软件项目计划的神秘面纱
一个做内部网站、仅有一人的小项目,绝不会需要投资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)。
分享到:
相关推荐
Hyres3.1是一款专业的图像分辨率测试软件,主要用于评估相机系统的极限分辨率。这款软件由奥林巴斯公司开发,遵循了国际标准化组织(ISO)12233标准,为用户提供了一套严谨、精确的分辨率测试解决方案。 分辨率是...
ACDC3.1看图软件很可能也有定期的更新计划和技术支持。 通过上述分析,我们可以看出ACDC3.1看图软件是一款集图片浏览、编辑和管理于一体的实用工具,旨在提供高效、便捷的图片处理方案。其核心功能与设计都是为了...
"顶力DSK3.1H.zip"是一个压缩包文件,其中包含的“DSK3.1H”很可能是某个特定版本的软件程序。在IT领域,这样的命名通常表示这是一款名为“顶力DSK3.1H”的软件。这个版本号“3.1H”暗示了它是一个迭代更新,3代表...
综上所述,ACDSee3.1作为一款经典的看图软件,它的成功在于其出色的系统优化、全面的文件支持、实用的管理功能和基本的编辑工具。尽管时代变迁,但ACDSee3.1在图像浏览和管理领域的优秀表现,仍值得我们去回顾和学习...
**Sati3.1统计分析软件文献统计** SATI3.1是一款专为文献管理和统计分析设计的强大工具,尤其适用于科研工作者和学者。它能够帮助用户有效地从多种国内外数据库,如Web of Science和中国知网,提取并分析文献数据。...
软件介绍: Hyres3.1是一款奥林巴斯开发的分辨率计算软件,用于测量极限分辨率,软件使用了国际标准ISO12233测试卡来测量相机的分辨率。 使用ISO12233标准测试卡来测试摄像头图像分辨率。
操作系统BC3.1软件是一款专为开发OS/2系统程序设计的工具,它基于Borland C++ 3.1版本。Borland C++ 3.1是Borland公司在1992年推出的一款集成开发环境(IDE),在当时广泛应用于Windows和DOS平台的C++编程。这款软件...
### 史密斯圆图软件V3.1使用说明书知识点详解 #### 一、软件简介与新特性 **史密斯圆图软件V3.1**是一款专为电子工程师设计的专业工具,主要用于微波和射频电路的设计与分析。本版本(V3.1)在原有基础上新增了多...
"HYRes 3.1" 是一款由奥林巴斯公司开发的专业软件,其主要功能是计算相机的分辨率。"3.1" 表示这是该软件的一个特定版本,通常每个新版本都会包含一些性能提升或新功能的添加。 **描述解读:** 描述中提到“与...
在这个场景中,我们关注的是名为“Zview3.1”的软件,它是一个专门用于处理和分析阻抗谱(EIS,Electrochemical Impedance Spectroscopy)数据的专业工具。EIS是一种非破坏性的实验方法,广泛应用于电池、超级电容器...
第七章 项目部署v3.1
【标题】"3.1 项目管理跟踪报告模板"是一个重要的文档集合,它涉及到华为公司在进行项目管理时使用的工具和表格模板。这份压缩包中的核心资料是“3.1 项目管理跟踪报告模板.doc”,这通常是一份详细的文档,用于记录...
MySQL-Front 3.1 MySql管理软件是一个可视化的MySQL管理工具。通过它,可以更方便的在别的机器上管理服务器上的数据库,进行数据库的相关操作。无需执行太多的MySQL语句,提高了工作效率。相信,在它的帮助下,你的...
Servlet能够在服务器上运行,响应客户端(通常是Web浏览器)的请求,并返回动态生成的Web内容。随着Java EE(Java Platform, Enterprise Edition)技术的演进,Servlet技术也不断更新升级,Java Servlet 3.1规范是在...
PDF密码破解软件绿色 v3.1(含注册机)
《IT项目管理那些事儿》采用叙事的风格,通过11篇来自一线项目经理的实际经历的文章,分享项目经理人自身的实践和经验的案例,阐述项目管理的实施过程、项目经理的成长和团队成员的培养历程,从而和读者达到共鸣并...
综上所述,EasiMotor易泰达电机快速优化设计软件V3.1提供了一个集成了多种功能的电机设计和分析平台。通过其详细的安装和使用教程,工程师们可以快速学会并使用该软件来设计和优化电机产品。软件的功能特色和材料库...
STC ISP 3.1烧录软件是一款专为STC系列单片机设计的编程工具,主要用于对这些微控制器进行固件更新或初始编程。STC单片机因其高性价比和丰富的内置功能,在嵌入式系统领域广泛应用。ISP,全称In-System Programming...
临床试验数据管理软件V3.1是一款专为医药行业设计的专业软件,主要用于处理和分析临床试验中的各种数据。在这款软件的帮助下,研究人员可以高效、准确地进行数据建库、数据导出以及统计分析,确保临床试验过程的规范...