软件项目管理的关键所在

        项目小组只有我和另外三个人,由我负责需求分析和系统设计。在上半年我们一共完成了三个项目,其中两个属于应用软件,另一个属于流程管理方面。为了在短时间高质量地完成这些项目,我在项目组里发起了以需求分析为中心的项目管理模式,从实际效果看,还是不错的。
        软件项目管理涉及很多内容,我觉得最关键还是需求分析。需求分析不能简单地理解为将客户提供的需求内容转变成为某种需求模型,例如UML模型。实际上,往往我们需要花费大量的时间帮助客户构想他们需要的系统,也就是帮助客户分析他们真正需要的功能,或者优化他们已有的功能和流程。做这样的需求分析需要我们首先研究系统实际应用环境以及客户需要系统完成的流程。客户已有的流程一般需要重新整合,进行一定程度地简化,甚至进行重构。如果我们仅仅把现有流程转换到系统上去实现,通常很难用计算机来方便地描述。
        需求分析过程是一个业务流程优化和重构的过程,需要我们和客户充分地沟通,设计出兼顾人的使用和计算机描述两个方面都比较贴近的设计内容。不要片面地理解“永远的Beta版”,实际过程中我们没有那么多时间和精力反复修改已经完成的系统,尽力要在早期控制系统最终的交付标准,降低后期重构,甚至重写的可能性。
        在小组中要努力培养组员善于分析的能力,将大家的热情引导到需求分析过程中,这样才能在项目初期就统一思想,明确目标。
        前一段时间用两个项目做了实验,一个项目在早期将收集到的客户需求粗略分析后就转化成为需求模型,然后进行系统设计和开发。当用户体验到第一个Alpha版时,提出了很多修改意见,而其中一些修改意见对需求中的概念进行了改动,从而导致我们重写了其中一些模块。
        另一个项目在初期就认证分析客户需求,反复研究和客户进行沟通,把各项功能进行了分类和分级,一些功能在1.0版本中实现,一些功能放到1.1版本中去做;并且将一些近似的流程进行了整合,设计了通用的概念。经过一段时间的需求分析以及和客户的磨合后,基本上达成了一致。然后,团队进行了快速系统设计和开发。当把1.0版本交付给客户后,基本没有收到大的改动要求,只是界面上的一些调整和优化建议。
        现在的开发工具都已经很先进,系统设计和开发往往不用耗费太多精力,也没有多少困难的地方,而需求收集和分析成为决定项目成功的关键所在,抓好需求分析可以大大提高项目成功率,降低项目风险,还可以提高项目成员的分析能力。
        以上都是我的一些实际经验,欢迎大家批评指正。
       

posted @ 2007-05-17 21:32  InFuture  阅读(546)  评论(4)    收藏  举报