袁东阳
关键词:Automotive SPICE ;软件项目管理;软件项目
1 概述
1.1 A-SPICE简介
汽车软件过程能力评估与参考模型AutomotiveSPICE(以下简称A-SPICE)是汽车行业的SPICE标准(软件过程改进和能力测定标准),用于欧洲汽车制造商对供应商进行软件过程评估。A-SPICE过程评估模型及过程参考模型符合ISO/IEC33004,可作为实施过程能力评估的基础来使用[1]。A-SPICE的2大支柱分别是过程参考模型processassessmentmodel(PAM)和过程评估模型processreferencemodel(PRM)。过程评估模型将嵌入式车载系统开发工作划分为不同过程,定义过程目标、过程结果、基本实践及输出工作产物等,是过程参考模型的基础。过程参考模型适用于嵌入式车载系统开发的过程能力执行符合性评估,包含过程评估指标,借助于国际通用的标准化指标来评估过程不足,给出可重复性、客观性和可比较的评估结果[2]。
A-SPICE过程参考模型将所有开发过程依据过程类别等进行分组,并根據所处理活动的类型在过程组内进一步划分。它划分3个过程类别,8个过程组,32个过程,如图1所示。A-SPICE过程评估模型将成熟度分为0~5级,分别对应不完整级、已执行级、已管理级、已建立级、可预测级和优化级[3]。
1.2 汽车软件开发流程
汽车行业经过多年探索,为保证研究效果、降低风险、减少返工,业界开始采用基于模型的控制器开发V模式。V模式中所有控制策略与仿真模型都是利用框图化基本模块建立起来的,主要包括控制方案的设计、离线仿真、快速控制原型、产品自动代码生成及集成、硬件在环仿真测试和标定[4]。汽车电子产品的开发模式大多先进行系统分析和系统架构设计,再进行软件、硬件和结构的独立分析和设计,最后进行系统集成和测试。其中软件、硬件和结构件的设计都采用V-Cycle模式。
1.3 项目管理知识体系简介
PMBOK(ProjectManagementBodyOfKnowledge,项目管理知识体系指南)是PMI(ProjectManagementInstitute,项目管理协会)开发的,旨在集成项目管理领域普通认可的“良好实践”,推广项目管理标准术语的使用,最终促进项目管理专业的发展。PMBOK包括5大管理过程:启动过程、规划过程、执行过程、监控过程和收尾过程。PMBOK包括10大知识领域,即项目整合管理、项目范围管理、项目进度管理、项目成本管理、项目质量管理、项目资源管理、项目沟通管理、项目风险管理、项目采购管理和项目相关方管理。
2 基于A-SPICE的汽车软件项目管理实践
2.1 软件项目管理的框架
国内某大型汽车零部件企业的主要产品是汽车变速器,变速器控制软件是汽车变速器的重要研发产物。A-SPICE对软件项目管理的要求是:通过项目管理过程来识别、建立、控制活动和必要的资源来保证能产生产品,同时需要满足项目的需求和限制条件。
该企业对于软件开发的项目管理主要分为项目计划和项目监控2大类过程,如图2所示。项目计划和项目监控所包含的内容已涵盖PMI的5大过程组,并且满足A-SPICE要求。
2.2 项目计划过程
项目计划过程是指根据用户信息等输入,制定项目开发范围、完成项目估算、制定并完成项目计划评估的工作。对项目周期内各个要素,如项目开发范围、目标、开发的生命周期模型、里程碑、项目估算、详细计划等进行定义和描述,从而为项目经理在项目中立项、策划的过程提供指导。
项目计划过程的整体流程图如图3所示。收集需求步骤,根据用户信息输入(如客户SOR、客户RFQ和战略意向)等,进行项目背景、技术方案等初步信息收集。制定开发范围步骤,根据相关输入确定本项目的目标和工作范围,明确项目需要完成的内容和外部供应商完成的内容,根据客户输入明确产品复用清单,同时输出整体里程碑计划。项目估算步骤,根据里程碑计划和项目范围进行工作量估算、人力资源估算及设备资源估算等,制定出项目组织架构图、资源消耗计划等。立项评审步骤,根据开发范围、项目估算等信息整理立项报告,获得评审通过后,公司正式下发立项通知书。制定项目步骤,根据立项报告相关信息进行工作任务分配,制定出项目详细进度计划,同时制定沟通计划、发布计划、问题管理计划及变更计划等。计划评审步骤,组织正式评审对项目计划书进行认可。经过项目计划过程后,输出产物为“复用清单”、“里程碑计划”、“立项通知书”及“项目计划书”等。
2.3 项目监控过程
项目监控过程是指在开发整个生命周期中,项目跟踪、监控和控制流程。通过跟踪和监测,及时了解项目计划的实际执行情况(包括工作量、成本、进度、缺陷及风险等),评价项目状态,为项目经理及各级管理者提供项目当前真实情况的可视性,用以判断项目是否沿着计划所期望的轨道健康地进行。
项目监控过程流程如图4 所示。执行项目计划步骤,根据项目计划过程阶段制定的项目计划开展项目工作。项目监控步骤主要包括日常监控和里程碑监控。日常监控采用项目周例会形式开展,项目经理负责召集各模块负责人召开例会,在周例会上总结项目整体进展状态、汇报各模块的任务进展、讨论项目中潜在或已发生的问题项。里程碑监控按项目里程碑计划阶段性进行总结,并和公司领导层专题汇报,对整体项目概况、主计划实施情况、风险管理状态、重大问题项状态及需领导协调议题等进行汇报讨论。问题跟踪和调整步骤,通过日常监控和里程碑监控,识别其中的偏差项,形成问题管理,对问题进行跟踪直到关闭,部分问题项涉及项目计划调整则需要按新的项目计划开展工作。整理结项报告和结项评审步骤,在项目到达相应节点后,应准备项目结项报告,对整体项目进行总结,其中包括归档文件整理、经验教训总结、计划和实际工作统计情况以及结项申请。当结项评审通过后,存档相关文件并释放项目资源。
2.4 项目管理实践情况
依据定义的项目计划过程和项目监控过程,借助于IBM的RTC等工具,变速器控制软件的开发流程基本都在项目管理的跟踪中良好运转。项目计划过程,通过项目估算、评审等方法,成功输出里程碑计划、项目计划书等产物,项目达到立项、策划要求,并形成项目详细进度计划,指导项目成员进行开发工作。项目监控过程,借助于RTC工具和项目周例会,对项目开发工作进行持续性监控。制定的详细里程碑会议和开阀会议,确定每月的项目进度监控。通过项目日常监控和里程碑监控,针对发现的问题项进行有效跟踪,涉及项目计划调整也要进行有效的管控。
3 软件项目管理的问题及展望
3.1 软件项目管理问题
目前,某企业软件项目管理应用A-SPICE和PMI的相关指导思想,并建立了自己的项目管理体系,基本上满足软件项目管理的要求。但同时存在以下可优化的方面。
(1)项目估算精度不够,对于每个详细里程碑开发的内容,工时估算不够精确,在里程碑报告中工时对比和工时偏差纠正措施未能体现。(2)根据项目计划书定义出主要工作任务,但详细工作任务分解WBS策略和方法不够清晰。(3)项目进展所需的知识技能资源未能有效定义和给出相应培训计划。(4)项目进展中存在进度和质量冲突时,降低进度、质量要求以满足项目要求,对后续项目进展存在影响。
3.2 软件项目管理优化展望
针对现行软件项目管理方法,希望能够加强对项目工作任务的管理跟踪,借助RTC工具统计每项工作任务的有效工时,通过积累数据保证后续项目工作任务估算准确。对工作任务的分解,加强自上而下与自下而上的充分沟通,分解后需要各负责人参与评审讨论。对项目所需的知识技能,提前定义清楚并设定培训计划,保障项目成员获得必要的知识。项目计划调整时,明确逻辑关系,并把某一元素的变化所关联的计划全部列出调整。
4 综述
在企业引入A-SPICE标准管理软件开发项目后,项目跟踪和监控都取得不错的效果,进度、成本和质量的平衡也在日益改善。虽然仍然存在待优化的问题,但最终目标是通过各类管理问题的出现,总结相关经验,为后续进一步优化打下良好基础。