随着全球信息技术的高速发展,软件行业获得了全所未有的机遇,但同时也面临着众多的问题,企业之间竞争也日益加剧,项目管理在软件行业中的作用日益明显,越来越多的软件企业进行项目管理研究。
基于此,文章重点探讨了项目管理技术在软件开发中的具体应用。
一、在软件开发中实行项目管理的意义
项目管理在软件开发中的应用,就是利用项目管理方法管理软件开发过程,其本质就是一个管理的过程。长期的实践经验表明软件开发过程没有实施项目管理,软件开发项目也有可能完成,但没有按照项目管理的方法进行,是很难保证开发软件的利润空间,这也不利于企业的可持续发展,而且可能会造成一个很大的风险或经济损失。
项目管理过程需要应用专业的知识、技能、工具方法等,主要是为了满足利益相关者对项目的要求,在软件开发活动中实施管理控制,实际上就是项目利益相关者通过各种资源实现项目共享、项目目标和满足项目的需求,对项目的完成周期,质量和成本的控制规避了软件后期的风险。
二、项目管理在软件开发中的具体应用
(一)项目团队的建设
对于一个软件项目来说,人力资源的管理是其中的重要因素,所以软件项目管理的团队建设要包括以下内容:
第一,团队的组建。组建项目团队要遵循以下几个原则,即用更好的、更好的人、任务和成员的技能及动机最大化匹配、各成员间具备协调性及互补性。
第二,召开项目启动会议。启动会议是项目团队开始运作的标志。项目经理要把项目启动会议的机会加以充分的利用,创造一个和谐的沟通氛围。在会议结束后,项目经理就要将会议中明确的内容采用书面资料的形式提供给各成员,使其可以各司其职,各尽其责。
第三,建立有效的沟通渠道,规范冲突管理。在进行项目管理的过程中,各项目成员要求充分了解的前提下默契配合,这需要一个有效的沟通渠道来支持。项目经理要在项目运行初期就建立起一个有效的沟通网络,为成员间的双向沟通创造机会,从而进一步培养团队精神。在项目管理中,各成员间的冲突是不可避免会发生的,所以项目经济要做好发生冲突的思想准备,制定出冲突管理流程,将发生冲突后的解决途径做进一步明确。
第四,建立有效的激励机制。健全有效的激励机制可以提高成员的工作积极性,加强团队协作能力。项目经理要善于挖掘项目的独特之处,引导团队成员看到项目的发展前景及最终的收益,引起成员的重视和关注。
(二)需求和需求管理
做好需求管理不仅对系统自身需求的了解要深入,还要与客户进行充分的交流。需求管理是一种获得、组织以及记录系统需求的系统化方案,从而使得项目建设过程中不断变更的需求与客户的要求保持一致。进行需求管理通常有以下几个步骤:首先进行需求诱导,即由客户方提供系统建设的功能需求,客户所提供的需求将是建设项目的范围指南;第二步做出需求分析,按照客户所提出的需求做出分析谈判,就需求内容与客户进行充分的交流,把客户需求转换为可以进行编程的业务逻辑,勾勒出系统的基础模型;第三明确双方在实现需求的过程中需要做出的承诺及需遵守的约束条件;第四,经过需求分析后建立起业务模型及数据模型;第五进行需求确认,将建立的数据模型和业务模型放到实际的运行环境中验证其是否符合需求;最后,控制和变更管理,由于客户的经营活动会不断发生变化,同样的业务内容可能会在不同的时间段有所改变,因此要针对这部分进行变更管理。
(三)进度管理
软件项目管理的核心内容就是项目进度管理,在执行软件项目管理前就要对项目各阶段、各项工作的时间做出科学合理的安排。
第一,工作任务的确定及分解。工作任务的确定及分解是为了进一步细分软件项目建设的工作目标,采用工作分解结构的方法把软件项目分解为几个子系统或者模块,并以此为基础继续划分,从而形成一个逐级细分的工作内容结构层次。
第二,评估工作量。在将软件项目的各种限制和约束条件进行充分考虑的基础上,按照团队所拥有的资源需求以及资源能力,以历史同类软件项目为参照对项目的工作量做出合理评估。
第三,计划工作进度。在制度工作进度计划时要先对项目工作目标加以明确,将项目的各项任务进行分解评估,再按照工作任务的先后次序制定出工作计划的进度控制表,并以此为依据对后续对任务的实施进行监督和控制。
第四,控制工作计划进度。在进行工作计划进度的控制时,要进一步明确其目的,建立起项目管理信息制度。通常进度控制包括三个主要层次,即项目总进度的控制、项目主进度的控制以及项目的详细进度控制。在实际控制过程中,项目经理主要侧重于项目总进度及主进度的控制,而技术经理则侧重于项目的主进度以及项目的详细进度。
(四)质量管理
软件的质量要素包括以下几个特性:功能性,即所开发出来的软件是为了满足客户的需求,对用户业务的发展起到一定的作用;可靠性,软件的可靠性指的是在一定的条件下及规定的时间内,软件维持其性能水平可以达到何种程度,其不仅反映了软件满足客户需求的正常运行程度,还反映了如果发生故障后可以继续运行的程度;易使用性,即软件的操作要符合用户的使用习惯,简单易操作,界面友好;维护性,即如果软件发生错误或者为了满足需求而改变环节,其可以进行修改的难易程度;可移植性,即软件在不同的运行环境中进行迁移的难易程度。
软件的质量管理过程包括以下三个方面:
第一,制定软件质量管理计划,确定出实际软件项目需要对照哪些质量标准,并明确制定出满足这些标准的方法;
第二,质量保证,对软件项目的整体绩效做出定期的评价,在过程中树立项目可以达到的质量标准的信息;
第三,质量控制,对软件项目管理的执行结果进行全程监控,从而确定每个环节是否与相关的质量标准相符,如发现不符则要制定出相应的措施来消除问题。
总之,当前软件行业之间的竞争日趋激烈,软件开发企业要想在激烈的市场竞争中脱颖而出,就应该切实提升软件项目管理能力,提升软件产品的开发质量及维护质量,最大限度的降低软件的开发和维护成本,提高企业的盈利能力,促进企业的健康发展。
作者:王旭东 来源:华夏地理中文版 2014年12期