软件开发项目管理模型是提高软件开发成功率的最有效途径
在软件开发中,项目管理起着重要的作用,一方面是提高质量,降低成本的保障,另一方面,也是更重要的一点,它是软件工程化软件开发的前提。软件开发项目与其他项目相比,有着许多管理方面的共性,但同时也有自己的特殊性。所以,在软件开发中,忽视了项目管理或不按规律去办,往往会导致软件开发的失败或质量的下降。
软件开发项目管理的意义还不仅仅如此,进行软件开发项目管理有利于将软件开发人员的个人软件开发能力转化成企业的软件开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展(即减小软件开发风险)。项目管理的质量与软件产品的质量有着直接的对应关系。因此,提高项目管理的能力对于软件组织的软件生产力的提高是最为重要的。
从概念上讲,软件开发项目管理是为了使软件开发项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动,软件开发项目管理是以最合理、最有效、最经济的手段保证软件开发项目的成功完成。
同时我们也看到了一个非常严重的问题,那就是软件危机。我们所面临的软件生产能力与业务发展的需求不相适应的这种现象就是一种软件危机。项目人员,特别是管理层,极其低下的项目管理能力是造成这一现状的根本原因。对软件开发项目管理人员而言,除了具备扎实的技术能力以外,还必须要掌握管理尤其是项目管理的知识与技能。而项目管理则是提升生产力的重要任务。
目前,软件开发项目管理的理论还是处于迅速发展阶段,相对其他领域还不是很成熟。例如软件估算模型分为理论导出和经验导出两种模型,而理论导出模型处于非常不成熟的阶段,经验导出模型是通过大量的项目数据进行数学分析导出的模型,这些模型也不能适合所有的情况,只能适应某些特定的项目情况。其实,目前没有一种模型或者方法能适应所有的软件类型和软件开发环境。一些方法只能作为借鉴,更多的时候需要经验。由于影响软件估算的因素太多(例如人、技术、环境、政治等),而且由于软件的渐近明细的特点,也决定了项目管理是逐步细化的过程。
软件开发项目管理模型最具有代表性的就是SEI CMM。近几年来成熟度模型越来越广泛地应用于组织定位,通过与潜在的竞争者和其他特殊管理领域的组织的比较, 确定组织当前的状况。包括选择适当的、最适合该组织需求的成熟度模型。但是,这种提高不仅需要关注项目管理的特殊领域,同时还必须时刻牢记综合项目管理的原则和实践。项目成熟度越大,组织成功地选择、授权、计划、执行、控制和结束项目并实现组织战略目标的能力就越强。