首页 ┆ 网站地图 ┆ 在线留言 ┆ 游戏资讯 ┆ 资源下载 ┆ 端午节祝福 ┆ 迅雷在线影视
设为首页
加入收藏
联系我们
高级搜索
您当前的位置: 主页>软件工程>项目管理>如何制定和编写软件项目计划的总结
如何制定和编写软件项目计划的总结
来源: 发布时间:2007-09-05 发布人: 浏览: 人次   字体: [ ]  

八、制订软件项目计划的方法与策略

 制订软件项目计划的目的在于建立并维护软件项目各项活动的计划,软件项目计划其实就是一个用来协调软件项目中其它所有计划,指导项目组对项目进行执行和监控的文件。一个好的软件项目计划可为项目的成功实施打下坚实的基础。

软件项目有其特殊性,不确定因素多,工作量估计困难,项目初期难于制定一个科学、合理的项目计划。我曾主持和参与过大大小小的软件项目十余项,下面我将把我制订软件项目计划的经验分享给大家。

1.注重项目计划的层次性

软件项目计划的层次及其关系如下图所示。

高级计划,是项目的早期计划。高级计划应当是粗粒度的,主要是进行项目的阶段划分,确定重大的里程碑,所需相关的资源,包括人力资源、设备资源、资金资源,即所谓的人、财、物三个要素。

大的阶段交替之前,应做好下一阶段的详细计划,我们称之为二级计划。详细计划要确定各项任务的负责人,开始时间,结束时间,任务之间的依赖关系,设备资源,小的事件点(即里程碑)。

如果项目规模相对较大,可以有多级的计划,比如说,一个项目组可能分为几个开发组,二级计划是各开发组制订的适合的自己小组的计划。如果开发组还分了小组,可以有小组的三级计划。

开发人员的个人计划是低级计划,由开发人员根据自己的任务自行制定,要把任务细化到人·日。

一般的,软件项目计划至多有四级就够了,过多的等级将会引发效率的瓶颈。大的项目不见得要有庞大的组织和人员数量来支撑,合理的划分小组,减少组织的层次,有利于项目计划的制订和实施。较小的软件项目由于工期不长,人员较少,有二级计划(高级计划与低级计划)也是可行的。

2.重视与客户的沟通

与客户的沟通是很重要的。不必害怕客户知道我们的开发计划,特别是项目进度情况,应当和客户共享这些信息。

首先,客户会提出一些对项目时间、进度、效果上的要求,这个指标往往经不起推敲,有的还带有较强的政策性。如:在我主持的一个某单位人事MIS系统的开发中就发现,客户方对时间上的约束是有成形的文件的,是他们单位领导们开会的决定。客户给出的从项目启动到验收的时间只有三个月,但是,经过我们认真的需求调研,做出项目进度的粗计划和部分的二级计划后,发现三个月的时间是难于实现的。我们把做出的调研文档和项目计划摆出来和和客户讨论,最终使项目的开发时间延长为六个月。站在为了科学地分析和解决问题的立场上来看,项目组和客户的目的是一致的,所以对于合理的项目进度客户是会理解与支持的。

其次,我们有义务要让客户知道项目的计划。这样才能让客户和用户主动、积极参与项目,达到项目的最终目标。项目计划取得双方签字认可是一种好的习惯。客户可能不愿意签正式的文件,那么在文档的封面上签上双方负责人的姓名、联系方式也行,虽然是非正式的,但留下了项目工作的痕迹。有必要想办法让客户清楚签字意味着什么。这就意味说双方有了一个约定,既让用户感觉心里踏实,也让自己的项目组有了责任感,有一种督促和促进的作用。

3.该详细的详细,该简略的就简略

软件项目计划就如同软件项目本身一样有它特殊性,一个三五个人花两三个月就可以完工的小项目,可能项目计划就四五页纸,包括一个WBS(工作分解结构)和一个Gantee图(甘特图)。一个需要五六十个人甚至上百人,要花上半年或更长时间的大型软件项目则会有更多的项目计划内容。我们得按照项目的的特定情况量体裁衣。

如下表表1所示,这是我主持的一个某高校教务办公信息系统项目的风险管理计划表。项目较小,我们只用了两个月的时间就开发完工,通过验收。正因如此,我们在项目计划中大量的采用了这种表格来制订人员计划、培训计划、风险计划、成本估计、文档大小估计、进度计划,一目了然,责任到人,其效果和效益是很明显的。


 项目的工作安排一定要责任到人,这点是要详细的。如果是多个人共同完成的任务也要指定一位主要负责人,否则开发人员会操作不便,甚至互相推卸责任。

4.制订的项目计划要现实

软件项目中的项目经理和系统分析员大都是从程序员成长起来的,我亦是如此,担任项目经理之前我写了五年的VB、Java和数据库SQL代码。项目经理和系统分析员做出来的项目计划最终要能够被项目组成员所实现。

制订项目计划仅靠“个人经验”是不够的,不可能面面俱到,不要期希望于“个人经验”。解决的办法有两个方面。

一是充分鼓励、积极接纳项目干系人(包括客户、公司高层领导、项目组成员)来参与项目计划的制定。

可以邀请客户和公司高层领导来共同讨论高级计划的制订。客户会乐意参与的,因为追求项目的成功是大家的共同目标。公司高层领导的支持是项目组的坚强后盾,项目组需要获取必要的资源,需要及时获取对项目特殊要的审批,需要在领导事务上得到适当的指导和帮助,有些事项有时是需要公司高层领导加入才能解决的,如合同款项的按期支付。

制订二级、三级项目计划要与项目组成员互动。当规划由一个人做出而由另一个人实施时,如果项目没有按时完成,会使得他们怀疑项目计划的可行性,也会影响开发人员的士气。与项目组内部人员的沟通亦很重要。软件程序员平时通常表现得内向、清高,作为项目经理应当学会调节工作中的气氛,在轻松的氛围中去融合开发人员的意见。

可以让开发人员对自己职责范围内的事提出建议的时间和资源,再作讨论约定。这样开发人员在主观上会更加投入工作。客观上,开发人员的能力很难用时间及工作量来衡量,一名熟练的Java程序员比一名初学Java的程序员开发效率可能快上四五倍,因而安排的时间周期、任务量当然要不一样。我比较倾向于召开一次专题讨论会,事先写出一个初稿,再各抒已见,最后作出结论。

二是要充分利用一些历史数据。历史数据是宝贵的财富,是可复用的资源。不仅要注意积累这些数据,也要学会从中提炼出可以为我所用的数据。如,项目计划的模板,计划的资源数据等。

5.运用过程化的思想指导开发

软件项目计划是CMM2级的一个KPA。可用软件过程化的思想指导计划的编制与实施。

CMM2共有6个KPA,它们是:需求管理、软件项目计划、项目跟踪和监控、软件转包合同管理、软件质量保证、软件配置管理。一个软件组织如果达到了CMM2的各个过程方面的全部目标,就表明这个组织的软件能力达到了第2级成熟度等级。

这也可以是针对一个项目而言。通常需要根据项目的进展情况对项目计划进行修改,以便应付需求和承诺的变更、不够准确的估计、纠正措施和过程更改等。在策划和重新策划中涉及的活动,都包含在这个过程方面里。

6.利用成熟的项目管理工具

Microsoft Project 2000(或更高的版本)是一款公认的功能强大、操作方便的项目管理工具软件。它自带了一个叫做“软件开发”的模板,可以用它来生成大体的框架,再作细节方面的改动,也可以自己制作一个符合自己公司软件项目运作流程的模板。

Microsoft Project 2000的操作面版中可以安排任务,并设置开始时间、结束时间、前置任务、资源名称等参数,它能自动生成Gantt图、Pert图,找出项目中的关键路径。

7.结束语

软件项目计划分为高级计划、二次计划、三级计划和低级计划,制订软件项目计划应注意及时与客户沟通,该详细的详细,该简略的就简略,制出来的计划要是现实的,可以运用CMM2的思想指导计划的制订,Microsoft Project是倍受推荐的项目计划软件工具。愿我们多做出高质量的软件计划,从而打造软件精品。

[参考文献]
 [1](美)凯西.施瓦贝乐 著,王金玉 时郴 译,《IT项目管理》,机械工业出版社,2002年1月第1版。
 [2]韩万江 姜立新 著,《软件开发项目管理》,机械工业出版社,2004年1月第1版。
 [3]杨一平等 著,《软件能力成熟度模型CMM方法及应用》,人民邮电出版社,2001年4月第1版。(作者介绍:邓子云,长沙环保学 院计算机系,湖南凌科远信科技有限公司高级项目经理,硕士研究生,高级程序员,工程师,主要研究方向为“软件项目管理、企业信息化”,联系地址:湖南省长沙市井湾子长沙环保学院计算机系,联系电话0731-6371480,邮编410004,E-mail是dengziyun@126.com)

九、软件项目计划编制方针

软件项目计划编制的目的是制定一个合理的实施软件工程及管理软件项目的计划。软件项目计划编制着重于对要实施的工作进行估计,建立必要的承诺并定义工作计划。

包括以下要点:

 1. 将用于编制软件项目计划及跟踪软件项目的工作文档化。
  2. 对于软件项目的实施采用文档化的承诺。
  3. 相关的机构或个人认可他们对软件项目的承诺。
  4. 指定软件项目负责人负责落实软件项目的承诺并制定项目的软件开发计划。
  5. 确保软件项目存在一份文档化的、并被认可的工作陈述。
  6. 软件开发计划要指定人员角色分工,明确责任。
  7. 对软件项目所需要的适当的资源及资金作出计划。
  8. 对软件项目负责人、软件工程师及其它与软件项目计划编制有关人员进行适合其职责范围的培训。
  9. 成立相关软件项目组及相关的方案论证小组。
  10. 软件项目组及相关的方案论证小组在整个项目生命期内参加全部的项目计划编制工作。
  11. 按照书面流程与高级管理人员或企业外部机构软件项目的承诺进行复审。
  12. 明确划分为预先定义的、规模可管理的阶段的软件生命周期。
  13. 按照书面流程开发项目的软件开发计划。
  14. 将软件项目计划文档化。
  15. 确定软件项目需要建立及维护控制的软件产品。
  16. 按照书面流程获得对软件产品规模的估计(或软件产品规模的改变)。
  17. 按照书面流程获得对软件项目工作量及费用的估计。
  18. 按照书面流程获得对项目所需要的关键计算机资源的估计。
  19. 按照书面流程获得项目的软件开发进度。
  20. 识别、评估与费用、资源、进度及项目的技术方面相关的软件风险,并文档化。
  21. 准备项目的软件工程机制及支撑工具的计划。
  22. 记录软件计划编制数据。
  23. 制定并使用度量方法以确定软件计划活动的状态。
  24. 定期与高级管理人员对软件项目计划活动进行复审。
  25. 以定期及事件驱动方式与软件项目管理人员对软件项目计划活动进行复审。
  26. 与软件质量保证人员对软件项目计划活动及工作产品进行回顾及审核,并将结果文档化。

十、软件项目计划模板

_________项目开发计划

1. 概述

1.1 编写目的
 本文档是__________(开发单位名称)根据__________ 项目 的初步需求,并对_______ 项目 的各项需求进行全面分析之后,做出的软件开发计划,可供支持项目组内部及信息技术部内部的研发工作。

1.2 项目背景
 系统名称: [ 列出系统名称 ]

英文名称: [ 列出系统英文名称 ]

产品代号: [ 列出系统产品代号 ]

委托单位: [ 列出委托单位 ]

开发单位: [ 列出开发单位 ]

开发日期: [ 开始时间 ---- 预计收尾完工时间 ]

版权信息: [Version X.X]

1.3 定义
 [ 列出本文件中用到的专门术语的定义和外文首字母组词的原词组。 ]

1.4 参考资料
 [ 逐条列出所参考的文档名称与作者。 ]

2. 项目过程定义

2 .1软件开发生命周期模型
 [ 列出采用的软件开发生命周期模型,并说明采用的理由。 ]

2 .2 开发工具与平台
 [ 列出采用的开发工具、操作系统及平台软件。 ]

3 .计划

3.3 资源计划
 [ 逐项列出项目开发过程中所需的各种资源。 ]

3.4 关键计算机资源估计
 [ 逐条列出所需各种计算机资源的类型、配置及数量等内容。 ]

4. 项目管理

4.1 人员与角色
 [ 逐项列出项目组的角色分配及已可供调配的人员。 ]

4.2 人员计划
 [ 逐条列出本项目所需各种角色人员的起始与结束时间,人数,技能方面的要求等内容。 ]

4.3 风险管理计划
 [ 逐条列出各项风险的影响因素、发生概率、严重性、负责人、预期日期、预防及补救方案等内容。 ]

4.4 培训计划
 [ 逐条列出主题(技能、领域、工具、方法)、人数、计划日期、提供者等内容。 ]

4.5 成本估计
 [ 逐条列出成本的类型及金额,并计算估计的总本。 ]

5. 进度跟踪

5.1 项目会议
 [ 列出项目会议组织的办法。 ]

5.2 项目里程碑
 [ 列出项目里程碑,即 项目进度的关键点 。 ]

5.3 进度表
 [ 给出项目进度表。 ]

5.4 人员任务分配
 [ 给出人员任务分配表,包括了任务内容、开始时间、完成时间、工时估计等内容。 ]


共2页: 上一页 [1] 2 下一页
相 关 文 章   发布商链接
·项目经理的第一个精神准备
·软件项目管理中的风险与研究
·快来听听我来讲如何做好软件需求
·谈谈SOA方法学和其他方法学的比较
·如何在IT项目实施中进行成本估算?
·项目生命周期中有三个与时间相关的重...
·成功的项目经理应具备的10大态度
·谈谈先进、成熟的软件工程思想有哪些...
·软件开发项目管理的角色定义和各个阶...
·件的系统架构设计应该达到怎样的深度...
 §最新评论:(评论内容只代表网友观点,与本站立场无关!)
网名: 验证码:  【所有评论】【↑返回顶部
评 分: 12 345
评论内容:(不能超过500字,请自觉遵守互联网相关政策法规。[按 Ctrl+Enter 可直接提交]
注意:请勿在本站发布政治话题、色情及违反法律的内容。
IT知道网 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。
推 荐 文 章
·浅谈程序编码人员和网站美工...
·值得关注的影响IT项目进展速...
·如何写系统需求分析书?实例...
·谈谈哪些人不适合担任项目经...
·一个称职项目经理应如何调动...
·什么是软件开发的互通性?主要
·件的系统架构设计应该达到怎...
·软件开发项目管理的角色定义...
·谈谈先进、成熟的软件工程思...
·成功的项目经理应具备的10大...
·项目生命周期中有三个与时间...
·如何在IT项目实施中进行成本...
·谈谈SOA方法学和其他方法学的
·快来听听我来讲如何做好软件...
·浅析软件项目管理中的十个误...
热 门 文 章
·软件开发项目管理的角色定义...
·如何写系统需求分析书?实例...
·一个称职项目经理应如何调动...
·件的系统架构设计应该达到怎...
·谈谈哪些人不适合担任项目经...
·软件开发项目管理中的五项基...
·项目生命周期中有三个与时间...
·成功的项目经理应具备的10大...
·谈谈先进、成熟的软件工程思...
·如何在IT项目实施中进行成本...
·项目经理的第一个精神准备
·软件项目管理中的风险与研究
·浅谈程序编码人员和网站美工...
·什么是软件开发的互通性?主要...
·快来听听我来讲如何做好软件...
网站首页 - 关于本站 - 加入收藏 - 网站地图 - 友情连接 - 在线留言 - 联系我们 - 返回顶部
Copyright © 2007 IT知道网.[冀ICP备07026896号]. All Rights Reserved .