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. 与软件质量保证人员对软件项目计划活动及工作产品进行回顾及审核,并将结果文档化。