CMMI软件项目管理与实践

时间:2022-06-03 10:41:50

CMMI软件项目管理与实践

摘要:本文基于笔者多年的软件工程实践,结合未来的项目管理发展趋势,重点分析了CMMI技术在软件项目过程管理中的应用,以及应用CMMI模型建立适合企业业务模式的软件生命周期模型和管理机制。为适应复杂多变的软件设计和研发过程,在深度应用网络信息、大数据、云计算等新技术的基础上,构建了软件开发和管理的信息化、数据化、智能化的系统;同时将CMMI理念与管理实践高度融合,采用灵活应用WBS以及分类管理软件开发的原则,快速响应市场和内部管理需求,激活企业高效运转的动力,持续提高软件开发效率,促进企业管理能力提升。

关键词:软件项目管理;项目预测模型;能力成熟度模型集成

随着我国跨入“互联网+”时代,信息软件在民用航空、智能交通、金融管理、电子政务、工业制造、人工智能等领域得到广泛推广和普及。目前,随着软件处理的数据量增大,功能组成更加庞大多变,软件项目的需求分析、系统设计、软件研发和测试等工作的复杂度持续增加,传统的软件项目管理模式难以满足快速发展的需求,因此人们引入了GJB5000A、CMMI、敏捷开发等项目管理模式,进一步提升软件项目管理水平和软件可靠性。究竟CMMI告诉了组织应该做些什么,但如何做,如何有效实施,却要靠组织根据自己的实际情况进行探索和实践[1]。

1软件项目管理特点

软件项目开发采用特定的开发方法、工具和语言,将各种知识、技能、手段、技术应用到项目开发中,以期满足客户的要求和期望。软件项目管理更侧重以人为中心,导致软件开发质量存在层次性和不稳定性。软件开发技术应用广泛、需求变化较快、技术创新迅速,知识密集度高,同时要求组织的岗位职责明确、软件开发过程规范、技术决策正确、管理方法使用合理等制度有效地支撑项目开发。项目团队、上级主管、客户、费用、销售、支持部门、相关产品等相关的要素相互配合达成“项目按期交付”,所以项目的成功需要优秀的项目管理[2]。对此,软件工程领域专家提出了时间周期管理、文档质量管理、成熟度管理等方法,以提升软件项目管理效率。但是受到软件规模、约束条件、执行力和资源的限制,以软件过程改进为主线的基础上建立起规范化和制度化的软件项目管理模式显得尤为必要。

2基于CMMI的软件研发项目管理

CMMI合理的内核的确有助于提高软件开发的效率和软件产品的质量[3]。CMMI项目管理方法是全面管理软件项目中的每一个环节,提供软件开发特征和参考模型,重点关注软件质量、进度、成本,为软件项目管理提供最佳实践[4]。它集成了软件工程和系统工程的项目管理模式,减少了文档丢失、需求不完整、测试计划混乱等现象,避免软件无效返工,保障软件项目高效率、高可靠的完成。参照CMMI模型的实践和指导,围绕各行业软件类型特点和项目的执行规范,企业建立了以研发管理和关键过程监控为主的双重项目管理体制,开展项目量化管理和持续改进,严控软件开发过程和工作产品的质量,保障软件项目研发按照工程化标准执行。应用CMMI技术指导软件项目进行全生命周期过程管理,改进和提升软件项目的研发能力,更深层次地控制项目的研发周期、开发成本。CMMI可构建新型的成熟度管理模型,将软件项目开发过程产生的所有文档和资源统一到成熟度架构下,实现对项目计划管理、需求分析、技术解决、配置管理、评审、系统设计、测试和软件开发文档的一体化管理,减少工作产品的重复性和不一致性,增加项目管理的透明性和指导性,克服软件开发管理中的困难[5]。尤其CMMI在软件项目管理中实施了差距分析、过程分析、量化管理和组织优化等举措,将无章变有序、定性变定量、发散变集成,提高研发成本的可控性,提升软件开发的内部控制力度。软件项目管理引入CMMI的目标是实现开发配置的集成化、可控化管理;解决软件需求分析、架构设计、程序开发和系统测试存在的薄弱环节,利用适应的方法降低软件开发周期,提高项目管理水平。作为一家软件企业,新产品的和推广要求快速且高效,需要配套建设完善的项目管理管理制度和优秀的项目研发机制。当前我们基于已有产品的开发经验和管理实践,依托CMMI技术强化管理软件开发过程,建立了软件开发全生命周期一站式管理的管理框架,并配置相应业务管控工作流和软件过程管理规范加以实施控制,重点促进软件项目进度、质量、成本三方面得到显著提升。项目管理主要工作流涉及范围包括:售前管理、项目监控、开发管理质量管理等四大部分,项目管理工作流运行模式如图1所示。软件项目管理的初衷是运用CMMI、PMBOX等先进的项目管理与软件研发过程控制理念,通过信息化技术,秉持快速集成、持续改进的原则,构建高效、协同、精益、安全的软件研发管理信息化平台;实际运转的是结合软件开发的管理实践,建立以软件开发生命周期为核心,以项目管理过程、软件工程过程为主线,以组织资产库为支撑,以支持工具为辅助的整体软件项目管理运行架构。通过持续建设组织资产库并提供软件开发和过程管理工具、项目规范、模板、经验教训、知识、历史数据等支持,经过公司自用的软件研发管理平台进行人机交互和项目管理,有效地保证软件过程管理的质量和工作效率。

3软件开发改进与实践

公司业务涉及航空管理、智能交通、软件信息与服务、大数据等领域及相关行业,主要项目管理实践概括为以下几类:

3.1大型系统类软件

大型系统类软件,如航空管制、自动化系统、高级场面引导、ADS-B等类型软件。这类软件系统的研发周期较长,系统安全属性要求高,研究领域的专业性较强,开发难度较大,研究开发人员综合素质要求偏高。在市场前景和用户要求的驱动下,传统的软件管理模式已不能较好满足开发和发展需要;为此,在软件项目管理信息化运行模式基础上,根据专业划分区别管控开发过程和质量,采用CMMI的软件工程管理模式,集中在软件开发、系统测试、联调等关键过程进行管理和改进,按系统属性和研究专业领域区分管控研发质量,实行开发和测试迭代推进,通过项目组和公司两级高强度系统测试,软件系统准入可靠性试运行验证阶段。开发过程重点在系统时序控制、进程排序、模型预测与决策、算法与优化、通信、协同运行机制、异常处置和存储等专业领域进行管控和优化平行开展安全和性能测试,既能满足用户方严格的使用要求,又能提高开发效率和质量。

3.2人机交互型软件

人机交互型软件,如电子政务、智能交通、安监管理等类型软件这类软件主要特点是通过端点用户和服务端完成信息传递和数据处理,并输出相应的数据、通信信号、图像、视频等内容,必要时需要用户进行手工操作。此类型项目有着需求变化多端,用户参与程度高低不一,计划变更频次高,资源调配频繁,人力成本投入高等特点,从而对项目交付提出了更高的要求;经过大量的研制总结,深入研究了CMMI模型中开发管理的相关实践,结合敏捷开发特点以及推广应用了试点项目的成功经验,对于人工交互型软件采取原型开发和迭代开发两种相结合的管理模式,按客户需求深度定制和研发项目;关键过程控制集中在需求分析和开发进度方面,通过条目化软件需求,按计划统筹分配开发任务,配置自动化测试工具,并辅以完善的持续集成管理方式,确保软件运行的高效和友好。

3.3数据处理型软件

数据处理型软件,如智慧城市、工商管理、信用平台等大数据处理软件,此类软件涉及数据分析、数据计算、数据融合、数据交换、数据存储等,对数据处理的质量和安全要求较高;在人机交互型软件项目管理模式下,此类软件仍存在开发过程不稳定,缺陷爆发量较高、返工量较大等问题,开发质量和进度不能达到预期的效果。按照解决关键问题和逐步扩展改进的原则,在CMMIDev1.3模型的高成熟度理论指导下,建立了项目定量管理的模式,经过大量的项目关键过程改进和部署应用,设置了软件过程性能基线和量化改进的运行机制,制定了一套度量和分析方法,通过识别重要影响程度的关键过程和子过程,开展有目的度量数据的采集,运用统计技术对历史数据进行分析和验证,建立适宜合理的项目预测模型,实施对目标实现可能性的预测和管理。同时在严格控制各阶段开发版本和评审力度的基础上,集中力量改进数据算法、数据分发、数据处理、数据存储等关键过程的研发质量,通过精细化地管理软件开发过程,可视化地动态管理项目的开发计划和进度,达到了降低研发成本和提高软件质量的效果,也为后期持续改进积累了历史数据和实践经验。数据处理型软件项目量化改进流程如图2所示。

4结论

从各种实践中,科学合理的应用CMMI模型指导软件开发,尤其在软件研制、系统集成、系统联调、测试等方面需要不断地思考新的管理路径,尝试新的技术,并且吸取历史项目的开发经验进行改革,最终实现降本增效的目的。

5结束语

综上所述,以公司的软件项目开发管理为基本研究对象,立足于软件开发和项目管理存在的实际问题,结合CMMI模型实践和指导,整合管理资源和技术力量,以商业目标为驱动力,发挥过程改进全员参与的优势;重点解决关键过程存在的问题,减少软件开发返工,缩短软件研发周期,持续优化软件开发过程,改进技术和管理弱项。打造高效运转的项目管理流程和过程改进机制,并为用户提供高质量的产品和服务。

参考文献

[1]庄晓,张义珍,欧鹏,苗恒轩,夏远.基于CMMI框架下持续改进的软件过程体系[J].计算机应用与软件,2013,30(01):186-189.

[2]罗云模,谢志敏等.CMMI软件过程改进与评估[M].北京:电子工业出版社,2004.

[3]霍艳霞.CMMI5级管理实践之软件测试与质量控制[J].中国电子商情(基础电子),2014(04):44-46+48.

[4]林锐.CMMI和集成化软件研发管理[M].电子工业出版社,2008.

[5]张旭,刘浩驰.基于CMMI的量化管理在项目中的应用与研究[J].电脑与电信,2016(4):62-65.

作者:张强 袁文斌 单位:南京莱斯信息技术股份有限公司