随着计算机软件技术的日益普及和提高,企业越来越追求规模效应,使得现代软件项目的规模越来越大,投资越来越高,业务也越来越广泛。因此软件开发迫切地需要科学、艺术的项目管理方法。项目管理是当今最受关注的管理思潮,拥有先进的管理思想和一整套实用技术。 软件开发和项目管理的紧密结合必将产生巨大的生产力。
引言:
软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展。个人住坊式的软件开发已经不能适应现代企业对软件工程的需求。因此,怎样对软件项目进行有效的管理是急需研究的课题,国内外专家学者也展开了相关的研究。
张家浩以现代软件工程为核心,系统分析了项目管理领域中软件项目存在的问题,提出在理想和现实之间选择平衡点的建议和方法。林锐编写的《IT 企业项目管理:问题、方法和工具》一书为IT企业提供了专业性很强、行之有效的项目管理方法和相应的工具,解决了大多数IT企业的软硬件开发项目管理混乱、质量低下、进度延误、费用超支等问题。哈罗德・科兹纳在《项目管理:计划、进度和控制的系统方法》一书中讨论了时间管理、冲突管理等问题,分析了影响项目成功的因素。石慧运用动态规划的思想和网络计划的方法,利用马尔可夫链模型进行软件项目进度预测,对软件开发项目中的计划和控制应用进行研究,构建了一个并行的IT项目进度马尔可夫链预测模型。
1、软件项目管理的概念
软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,通过计划、组织、控制等一系列活动,合理地配置和使用各种资源,对成本、人员、进度、质量、风险等进行分析和管理,以达到既定目标的过程。项目管理可以让一个项目获得高额的盈利也可以让一个项目损失惨重,而软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,其根本目的是对软件开发的各个阶段进行管理,增强对软件开发的控制能力,提高软件开发质量编码的影响力。企业的软件生产越趋向于成熟,企业越能够稳定发展软件因其复杂性和难以度量,使软件项目管理较之其他项目管理而言有其特殊性。
2、软件开发中的项目管理的必要性
现在的软件开发过程中,存在着诸多的不确定性因素,而为了能消除不确定性,提升软件的稳定性、可靠性,就需要对软件进行项目管理。软件项目管理的对象是软件工程项目。它所涉及的范围覆盖了整个软件工程过程。软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员、产品、过程和项目进行分析和管理的活动。软件项目管理的根本目的是为了让软件项目尤其是大型项目的整个软件生命周期都能在管理者的控制之下,以预定成本按期,按质的完成软件交付用户使用。这种管理在技术工作开始之前就应开始,在软件从概念到实现的过程中继续进行,当软件工程过程最后结束时才终止。软件项目管理和其他的项目管理相比有相当的特殊性。首先,软件系统的复杂性也导致了开发过程中各种风险的难以预见和控制。其次,软件是纯知识产品,其开发进度和质量很难估计和度量,生产效率也难以预测和保证。庞大的系统如果没有很好的管理,其软件质量是难以想象的。
3、开发中的项目管理方法
3.1、调查。
(l)调查市场。对一个软件项目经理来说,他的职责主要在于调查同行业同类产品,分析现有技术,以便构建合理而又有充分扩展性的软件结构。同时,项目经理还有义务协助上级主管向公司决策层提交项目市场前景分析报告。
(2)调查自身资源。主要是调查项目组成员的技术实力,工作状态,还有其它相关人员的支持度。一个项目的成功,不仅仅需要一个优秀的项目经理,还需要项目发起人、项目组成员和其它相关人员的共同努力,才能实现项目的预期目标。
(3)调查客户需求。这是最关键也是最重要的环节。任何一个软件项目都是针对一定的使用对象而开发的。作为项目经理,必须充分了解客户的现有资源、工作方式、工作流程以及使用习惯。值得注意的是,很多项目经理往往容易忽视客户的使用习惯,以至于开发出来的产品虽然功能齐全、界面友好,但却无法取得用户的认同。
3.2、严控变更。一个项目在实施过程中,总会遇到很多需要变更的地方。要想有计划地管理好变更,就必须具备健全的变更控制系统。应由项目实施变更小组之类的组织来负责项目变更的可行性论证,进行最终的变更确认,也由它来决定一个项目是否应该终结。
3.3、阶段总结和评审。一般来说至少要进行两次全体评审。第一次评审是由项目负责人完成信息系统计划、信息系统分析、信息系统设计之后,提交出软件模型,再交由项目专业技术组讨论评审。软件模型必须包含主体的功能界面。典型客户在其中扮演着重要的角色,只有他们才是最有发言权的评审成员。待项目结束之后,再由技术小组对其进行终审。
4、影响软件开发中的项目管理因素
4.1、成本。指完成项目需要的所有款项,包括人力成本、原材料、设备租金、分包费用和咨询费用等。软件开发项目中人力成本比例很大,而工作量又难以估计,因而制定预算难度很大。项目的总成本以预算为基础,项目结束时的最终成本应控制在预算内。
4.2、人。指参与项目管理及具体软件开发活动的所有人员。在项目管理中,人是一个非常重要的要素,由人来确定项目目标、推动项目进程、使用项目成果创造价值,而且软件项目中的人力成本也经常占总成本的相当比例,因此人的因素往往决定了项目的成败。
4.3、时间。项目时间相关的因素用进度计划描述,进度计划不仅说明了完成项目工作范围内所有工作需要的时间,也规定了每个活动的具体开始和完成日期。项目中的活动根据工作范围确定,在确定活动的开始和结束时间还要考虑他们之间的依赖关系。
4.4、质量。是指项目满足明确或隐含需求的程度。一般通过定义工作范围中的交付物标准来明确,交付物在项目管理中有重要的地位。定义这些标准包括各种特性及这些特性需要满足的要求,因此,有时还可能对项目的过程有明确要求,比如规定过程应该遵循的规范和标准,并要求提供这些过程得以有效执行的证据。
4.5、范围,也称工作范围,指为了实现项目目标必须完成的所有工作。一般通过定义交付物和交付物标准来定义工作范围。工作范围根据项目目标分解得到,它指出了完成哪些工作就可以达到项目的目标,或者说完成哪些工作项目就可以结束了。
结语
软件项目管理是一件十分繁琐的任务,其直接影响着项目的成败,所以,在实际的项目开发过程中,只有加强对项目的管理才能使整个软件开发顺利完成。在软件项目管理活动中,既要研究技术层面的问题,也要仔细考虑认识层面的问题,成功的软件项目开发一定是两者相辅相成的结晶。软件项目管理是软件开发过程中的一项重要工作,管理水平的高低、管理工作是否规范将对软件开发的质量、效率、成本起着决定性的作用。目前,我国软件项目管理水平参差不齐,一些软件开发单位、软件项目管理者管理水平有限,导致开发出的软件产品质量低下和成本浪费。尽快提高软件项目管理水平、规范软件项目管理工作已成为一些开发单位和管理者的当务之急。当然,随着应用水平的提高,我们可以适当运用项目管理软件来指导、管理项目的实施,并且在管理过程中不断学习先进的软件项目管理方法,提高软件项目管理水平,这样才能开发出真正满足企业、用户需要的实用的软件产品。
作者:朱凤权 来源:城市建设理论研究 2014年32期