当前,随着信息技术的发展,我国的软件产业正在不断发展壮大,软件项目数量、规模、复杂度都发生了根本性的变化,因此软件项目质量也越来越受到企业的重视。基于CMMI的软件项目质量管理能够为软件项目的绩效改进、过程优化和质量保证提供很好的应用价值。
1.CMMI软件项目质量管理介绍
CMMI全称是能力成熟度模型集成,是一个软件开发过程改进模型,用于软件企业不断提升绩效、应对业务挑战和强化竞争力的标准体系。自CMMI标准研制至今,其已成为软件行业行之有效的最佳实践,为软件研发流程的改善提供了权威的参考依据。企业实施CMMI可以迅速改善组织的绩效,从而改进提升软件开发流程,最终实现软件开发质量的全面提高。在软件项目开发的全生命周期中,CMMI都能够发挥作用,并对软件开发的每一个环节都能进行管理,从而确保软件的质量。
CMMI为软件项目管理全过程提供了集成化的框架,其管理的主要内容包含:项目范围、计算机软/硬件资源、工作量、资金投入、风险等方面。基于CMMI的软件项目质量管理贯穿于软件开发的全过程,它提供了一套从低成熟度到高成熟度共5个级别的标准体系,分别是:初始级、可管理级、已定义级、量化管理级、持续优化级,各组织可结合自身能力水平和具体实践需要,分级别实施过程改进。通过CMMI进行软件项目管理,旨在提高软件开发效率和质量,最终使交付成果满足客户需求。
2.企业软件项目开发中存在的问题
现阶段,对于大部分部分软件企业,在进行项目开发时都会或多或少存在一些问题,比如项目需求管理水平不高、项目规模估算不准确、项目开发周期过长、项目研发效率低、项目控制能力弱等[1]。这些问题都会对项目开发执行产生阻碍,对项目整体过程的成本和进度产生不利的影响。同时,如果软件开发的质量水平相对较低,用户对软件的质量满意度不高,也会带来客户投诉,甚至业务流失。
3.基于CMMI的企业软件项目质量管理
3.1提升软件需求管理水平
针对软件企业在需求管理中存在的问题,可以通过CMMI模型中的需求管理对需求获取、需求理解与承诺、需求跟踪、需求变更等进行可控的管理。首先,需要准确、完整的理解客户的需求,包括显性需求和隐形需求,保证项目工作和客户需求的一致性。需求管理务必实现精细化,需要通过专业技术人员和测试人员对软件的使用需求进行详细调查,这样后续的软件开发和升级工作才会更加可靠。其次要重视需求跟踪和需求变更控制,以便发现需求和当前项目工作之间的不一致,及时采取纠正措施,并通过变更控制程序进行需求变更,确保项目按期完成。
3.2完善软件项目管理组织架构
基于CMMI对企业软件项目进行质量管理,企业需要建立合理的组织结构,为过程改进工作配备必要的资源,并明确各组织架构的职责,制定相应的管理制度和工作规范,这样在对软件项目优化管理时,就能从组织架构中能够给与管理支持。依据CMMI定义的开发组织结构及人员角色,可以使各部门相互之间进行明确、有效的沟通和交流,避免因角色不明、职责不清而导致的矛盾。同时,CMMI要求用合适的方法和过程为人员建立技能档案、岗位职责、关键岗位分析等,并开展必要的绩效考核,体现各岗位工作人员的实际工作价值。
3.3提高软件度量水平
在软件开发项目中,软件度量可准确的描述项目的过程信息和产品状态,使开发过程和产品的各种信息实现可视化管理,以便开发人员更好的对项目进行管理和控制。CMMI模型专门提供了度量和分析过程域来指导企业的度量过程,其核心内容是软件规模度量,包括代码行和功能点等,通过对规模的估算来规划项目进度、成本和工作量。通过对项目的度量,管理者可以实时掌握软件项目进展和软件过程状态,并能以此来判断项目绩效,进而进行准确决策。CMMI的软件度量贯穿于软件开发全生命周期,在整个开发过程对各个环节进行监督和控制,指导开发人员高效的理解、控制和改进软件过程和产品质量。
3.4规范软件项目配置管理
软件配置管理是CMMI中的一个关键过程域,用于在整个软件生命周期中保持软件产品的完整性和可追踪性,包含了对变更的控制和所有可影响变更因素的管理,是软件过程管理的核心。CMMI模型中清晰地描述了配置管理,并说明了配置管理的目的和所要达到的目标[2]。CMMI下的软件项目配置管理的主要内容包含软件开发计划跟踪、项目差异计算和控制、项目开发进度报告等,基于CMMI的配置管理可对软件系统的数据信息进行保护,设置人员访问权限,统一项目和子项目的版本,为项目的后续开发提供数据支撑。CMMI软件配置管理贯穿于软件开发全过程,用于保证开发工作的顺利实施,可作为软件过程改进、能力成熟度提高的关键过程域,最终实现软件开发活动有序、高效的开展。
3.5提高软件开发测试效率
软件测试是软件质量管理的重要组成部分,也是实现软件质量提升的基本保证。但随着软件规模越来越大、复杂度越来越高,已有的测试技术和方法的局限性也日益凸显。比如当下使用较多的两种测试模型:X模型和V模型,两者是当下比较流行使用的软件测试方法,但这两种模型各有优劣,在实际测试过程中无法确定哪种模型更有优势。为此引入CMMI模型可以很好的弥补X模型和V模型的缺陷和不足,大大提升软件测试效率、提高测试能力水平。CMMI模型下的测试是贯穿于软件开发的全流程,主要是在开发全过程中增加需求测试、概要设计测试和详细设计测试,然后全局采用V模型的方法,并在软件开发的各个子阶段中使用X模型进行软件测试。通过实践发现,在需求阶段、概要设计阶段、详细设计阶段增加测试环节,可在软件编码阶段之前发现潜在的软件缺陷,降低编码工作中的Bug率,从而缩短软件开发周期和提高软件产品质量。
3.6降低软件开发项目风险
软件项目风险管理是项目成功的基本保障,合理的制定预防风险的应对计划和应对措施,可以在风险发生时及时采取补救措施,消除不利后果,能将处理后的风险控制在可接受的范围内。基于CMMI的风险管理首先确定风险类别、风险范围,然后识别出各种引起风险的潜在因素,并对这些因素进行分析评估,以及对风险进行高低级别排序,接着根据前面工作获得的数据和信息,制定风险管理策略、风险管理计划和潜在的风险应对措施。依托CMMI模型,使风险管理与软件过程改进相融合,实现软件项目风险管理的理论和方法与软件工程实践的紧密结合,让风险管理更具有针对性和实用性[3]。CMMI风险管理模型的核心是风险库,所有风险都会登记在册,并建立风险应对措施清单,指导软件项目风险管理。
结束语:
综上所述,在我国软件产业飞速发展的今天,实施软件项目质量管理可以从根本上提升我国软件工程发展质量,对提高开发效率,提升企业竞争力,增强企业品牌影响力意义重大。将CMMI引入到企业软件项目质量管理工作中,对软件开发过程的优化改进起到了良好的规范指导作用,是改善企业软件质量管理的重要方法,我们应积极倡导软件企业利用CMMI模型加强公司管理水平,在日益激烈的市场竞争中占据有利位置。
参考文献:
[1]张羽.基于CMMI体系的公司软件项目管理应用[J].数码世界,2020,No.175(05):75-75.
[2]赵建凯.软件配置管理的研究及应用[J].科技经济导刊,2019,000(022):P.19-19.
[3]孟凡桐.软件项目风险管理的研究[J].电脑与电信,2019,No.273(07):75-77.