浅谈软件项目管理的过程
摘要:本文通过对软件开发
过程的
各个阶段中存在的问题以及解决方法进行研究,希望能够从软件开发
过程的
角
度解决一些问题。
1.
项目前期以及项目准备
在进行任何一项较大的项目时
,首先要进行项目的可行性分析和研究,因为这些项目中的问题并不都有明显的解决
办法
,这样就很难在预定的时间、费用之内解决这些问题,如果这些问题没有可以行得通的解决办法,贸然开始
这些项目,就可能导致项目的失败,造成巨大的损失。
1.1
可行性分析
软件项目可行性研究的目的是用最小的代价和时间,确定该项目是否能够开发值得开发,其实质是要进行一次
简化的、抽象的需求分析和设计过程,主要应从以下几个方面进行分析。
1.1.1
技术可行性
对要开发项目的功能,性能和限制条件进行分析,确定在现有的资源条件下技术风险有多大,项目是否能够实
现,现有的资源包括硬件、软件资源,现有的技术人员和技术水平,已经有的工作基础等,判断技术上是否可行
主要需要考虑以下几个问题
:
(1)开发的风险 即在给定条件下
能否实现目标的功能和性能;
(2)
资源的有效性;
(3)
技术的发展性;
由于需求未经过详细的调研,存在模糊性和可能的变化,开发人员进行技术可行性评估时,存在比较大的风险,
一旦出现估计的错误,将可能导致灾难性的后果。
1.1.2
经济可行性
进行软件开发项目的成本估算以及了解取得的效益估算,确定该项目是否值得开发,对于大多数项目,衡量经
“
”
济可行性,应考虑一个 底线 ,同时应考虑公司的长期经营策略,潜在市场前景等因素。
1.1.3
社会可行性
应考虑项目是否存在任何侵权、责任等问题,考虑在现有的制度、法规下是否行得通,包括合同、责任、法律等多
种因素。
1.2
需求调研
在项目前期工作中,需求调研是其中最重要的一个环节,今后的许多工作都依赖于需求调研的结果,需求调研
的过程是渐进的,在可行性分析阶段,主要关注的是项目规模、范围和重点的功能,在项目进入正是开发流程以
后,我们需要更加
全
面、准确地了解系统的需求不重视需求
过程的
项目队伍将自食其果,需求工程中的缺陷将给
项目成功带来极大风险。如
:无足够用户参与导致产品无法被接受;用户需求的增加带来过度的耗费和降低产品
的质量;模棱两可的需求说明可能导致时间的浪费和返工;用户增加一些不必要的特性和开发人员画蛇添足;
过分简略的需求说明以致遗漏某些关键需求;忽略某类用户的需求将导致众多客户的不满;不完善的需求说明
使得项目计划和跟踪无法准确进行。
1.3
项目团队的组织
建立项目团队是项目开发
过程的
开始,一切工作都是由项目团队的成员完成的在整个项目的运行过程中,需要很
多不同的角色参与到项目中,完成不同阶段的任务。所以在建立项目团队的过程中要把握好人员角色的划分、特
别人员管理与激励、监督等。整个人员的管理是项目管理的关键,因为人是活的,而项目是死的,只要人员管理
妥当,项目开发一般是不会出什么问题的。
1.4
项目开发计划
软件项目的特征之一就是需求的不确定性和开发过程中存在的技术风险,按照通常的方法,制定一个项目的计
划应该是先根据项目的需求,进行详细的任务分解找出实现的方法,估计出项目的工作量,再根据项目资源的
状况,制定出项目的计划。
但是,再现实的工作中,项目的时间表往往是事先确定的,给开发留出的时间也是事先定好的。而我们能够利用
的资源,主要是开发的人力资源,也被事先基本确定了,在被确定的这
2 个前提条件下,我们如何根据项目的
需求,合理地安排人力和时间,完成项目的开发,这是现实中项目经理经常遇到的问题如果事先确定的时间表
是相对比较合理的,至少应该是我们够的到的。我们制定的开发计划才是有意义的,否则,按照这个时间表制定
出来的计划只能失败的在这种情况下,项目经理唯一可以做的是对用户的需求进行剪裁,去掉某些耗时长而且