北京北大软件工程发展有限公司北京大学软件工程国家工程研究中心提纲背景介绍GJB5000A简介GJB5000A实施过程重点工作与对策提纲背景介绍GJB5000A简介GJB5000A实施过程重点工作与对策软件危机依然存在软件危机——工期一再拖延;预算一再突破;质量无法保证。f(工期,预算,质量)最优解=?软件危机依然存在美国政府清算局统计的软件项目历史数据3%交付给政府的软件产品可用49%完全不能用48%修改后才能使用近年情况规模延期交付开发中途夭折小型14%28%大型24%48%巨型21%65%软件危机依然存在大公司的IT项目每100个IT项目立项启动后,有94个返工成本超出预算平均178%完成时间延迟平均230%项目开始时确定的产品特性只有42%在产品中真正得到实现---USNationalSurveyConductedbytheStandishGroup软件危机依然存在一个论述软件项目的成功率至今才只有35%左右,……我们现在正以每年平均1.7%的速度增长。若按此速度提高,到2014年也才只是达到50%的成功率——JoeMarasco,软件开发生产率和项目成功率,2006软件危机依然存在20世纪60年代末,西方发达国家就已经认识到了软件危机,而且分析出“手工作坊式”的开发方式是其根本原因40年后的今天软件危机为什么还存在?软件规模更大软件逻辑更复杂软件应用领域急增手工作坊还在延续应用范围愿景/使命组织的战略和目标日常运营规划与管理项目组合规划和管理管理日常运作(持续重复工作)管理项目集和项目(项目化的活动)产生价值产生新价值、能力、产品做正确的事正确的做事管理线技术线软件研制过程系统需求分析软件需求分析软件设计软件实现系统集成系统测试XX型号/装备项目分系统分系统分系统整机/设备软件项目软件项目各方关注点面临的问题解决方法(1/6)提高软件质量和项目控制能力的观点包括“设计观(质量是设计出来的)”、“检验观(强化测试/评审,充分发现问题)”、“用户观(增进顾客满意)”、“过程观(软件产品质量取决于软件过程质量)”等;“设计观”、“检验观”、“用户观”都是基于某一个方面/某一阶段的考虑;“过程观”是针对软件研发过程各个阶段/各个过程进行了体系化的设计,将软件研发过程视作可控的、可度量的和可改进的活动的集合,定义每类活动的目标、最佳实践,采用PDCA的迭代循环,保证不断发现软件研发中存在的问题,持续改进,提高软件质量和项目管控能力。解决方法(2/6)国际上支持“过程观”,即软件过程改进的三类体系包括:ISO9000(质量管理体系)ISO/IEC15504(软件过程评估)CMM/CMMI(能力成熟度模型集成)解决方法(3/6)——ISO9000ISO9000质量管理体系用于证实组织具有提供满足顾客要求和适用法律法规要求的产品的能力,目的在于增进顾客满意特点适应范围广,没有组织规模大小、行业领域的限制,但是制造业色彩比较重强调的是可接收的质量体系的最低标准,未强调通过持续改进不断提高经营业绩解决方法(4/6)——ISO/IEC15504ISO/IEC15504:软件过程改进与能力评定,目的是为软件过程评估标准制定一个工作草案,包括5类共24个过程(顾客供方类4个、工程类2个、支持类8个、管理类4个、组织类6个),具有过程改进、过程性能评定和过程评估的作用特点早期草案为CMM所用,CMMI维持了与其兼容面向软件开发组织,组织规模大小不限是ISO9000族标准的一个支持标准过于庞大,未强调持续改进的概念解决方法(5/6)——CMM/CMMICMM/CMMI软件能力成熟度模型/集成旨在帮助一个组织通过基于模型的过程改进,使其软件过程成熟度迈向更高等级在这个进程中,组织必须建立自己的软件过程并根据模型要求对其进行评估,再根据发现的问题(弱项、待改进项)来改进自己的软件过程,然后再进行评估,以便保持或达到更高的成熟度等级特点强调软件过程的成熟度,即过程的不断改进和提高只说“做什么”,不说“怎么做”解决方法(6/6)总装备部基于CMMI标准和军用软件研制特点,制定了GJB5000A标准,要求军用软件研制单位依据GJB5000A制定软件质量管理体系;所有的军用软件研制单位2015年前,要达到2级2020年前,所有要求达到3级的军用软件研制单位要达到3级,部分要达到4级,开展5级评价技术研究与试点2025年前,所有软件研制单位均要达到规定等级的要求提纲背景介绍GJB5000A简介GJB5000A实施过程重点工作与对策是什么?GJB5000A是一个过程改进参考模型,核心思想把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化,使企业能够更好地实现商业目标;GJB5000A引入了软件过程成熟度的概念(成熟度概念蕴含的意义是组织能力提高是需要一个演化的进程,有一个从不成熟到相对成熟的过程),这个概念保证特定软件过程得到清晰的定义、管理、测量、控制,帮助企业认识所处位置,找到前进目标构成(1/2)GJB5000A由5个成熟度等级来表达,每个成熟度等级由若干过程域(PA)组成PA是一簇相关的实践(实现PA目标应该执行的活动),当一起实现时,可以满足重要的目标,这些目标对这个域的改进是有意义的。过程域不是过程,需要将过程域中的实践进行实例化后形成企业使用的过程。例如,需求管理过程域,目标1是管理需求实践1:获得对需求的理解;实践2:获得对需求的承诺实践3:管理需求更改;实践4:维护需求的双向可追溯性;实践5:标识项目工作与需求之间的不一致性。对于企业的需求过程需要将过程域中的各个实践进行本地化。PA由专用目标、专用实践、共用目标、共用实践和资料性部件构成构成(2/2)专用目标——SpecificGoals,SG专用目标——SGSG对应唯一的PA是PA必须实现的目标示例-需求管理:•目标1:管理需求–管理需求,并标识需求与项目计划和工作产品间的不一致性专用实践——SpecificPractices,SP专用实践-SP实现对应的特殊目标SG必须执行的活动是建立组织过程成熟度的基本构件(buildingblocks)示例-需求管理:SP1.3-1:管理需求变更•当需求在项目期间演化时,管理需求的更改共用目标——GenericGoals,GGs共用目标——GGs描述过程域过程制度化程度的目标•GG对应所有PA•每一个能力级别都有一个对应的通用目标Example能力级别2级的GG:制度化已管理过程可管理的过程指被执行的过程,其计划执行和组织的方针一致;雇用有经验的人员具有合适的资源生产可控制的输出;考虑了所有的利益相关者,按照过程的描述实施监控、评审和评价共用实践——GenericPractices,GPs共用实践——GP是一组活动,确保与过程域相关的过程是有效、可重复并且持续的应用到具体的PA,GP活动保证这个PA的GG能够得到满足资料性部件资料性部件提供一些细节,帮助组织考虑如何处理必需部件和期望部件.子实践是相应实践的详细说明,它提供如何解释和实现SP或GP的指南.正确理解资料性部件作用的关键是既不能把资料性部件当作期望部件,也不能在评估中将其用作检查单.在判断实践的实现程度时,评估组要按完整(即,包括必需部件、期望部件和资料性部件)的模型文档理解模型的意图,并用作决策的基础.GJB5000A结构部件统计成熟度等级过程域专用目标专用实践共用目标共用实践初始级00000已管理级71556212已定义级112684212已定量管理级2313212优化级2412212合计*2248165212*因共用目标和共用实践对各个过程域都是共用的,故其合计数目不进行相加GJB5000A5个成熟度(1/6)GJB5000A5个成熟度等级包括初始级(ML1)、已管理级(ML2)、已定义级(ML3)、已定量管理级(ML4)和优化级(ML5)GJB5000A5个成熟度(2/6)初始级(ML1)这种组织通常没有一个稳定的环境,过程通常是随机、混乱和无序的,在过程中没有可视化的点项目的成功依赖于组织中个人的能力和英雄主义有过度承诺的趋势,在危机时放弃过程,很难重复他们过去的成功GJB5000A5个成熟度(3/6)已管理级(ML2)项目按组织方针策划和执行,在已定义的点上达到可视化从初始级(ML1)到已管理级(ML2)提升重点包括:研制流程规范性、需求控制与管理、工作计划性、研制阶段性、产品一致性/完整性(SCM)、过程/产品符合性(QA)GJB5000A5个成熟度(4/6)已定义级(ML3)项目按照组织规定的标准过程执行,对各过程内部执行情况进行跟踪、控制从已管理级(ML2)到已定义级(ML3)提升重点包括:严格规范工程过程所有活动/制品;构建组织标准过程库;构建组织资产库;对组织过程绩效进行分析,发现问题,并改进GJB5000A5个成熟度(5/6)已定量管理级(ML4)使用统计技术和其它定量技术对已定义过程进行定量预测;标识过程变异的特殊原因,处理此特殊原因的来源,以免重现;将质量与过程绩效的测量值纳入组织的测量仓库,以支持今后基于事实的决策从已定义级(ML3)到已量化管理级(ML4)提升重点使用合适的统计技术或其它定量技术,来管理一个或多个关键子过程的绩效,以确保能预测过程绩效。GJB5000A5个成熟度(6/6)优化级(ML5)优化过程是经过更改和改编,以满足现行的与预定的相关业务目标的已定量管理过程;优化过程关注,通过增量式和创新式的技术进步,持续地改进过程绩效,从已量化管理级(ML4)到优化级(ML5)提升重点利用解决过程变异的共因来持续改进的过程GJB5000A小结五个成熟度级别基于组织的成熟度每一级别是后续级别的基础22个过程域(PA)分成5个级别过程改进逐级进行表明一个组织的成熟度级别反应了过程改进的顺序初始级(ML1)已管理级(ML2)-把项目管起来已定义级(ML3)-组织标准过程已定量管理级(ML4)-用数据说话优化级(ML5)-自身持续改进的能力成熟度等级过程域专用目标专用实践共用目标共用实践特征ML1初始级00000ML2已管理级71556212ML3已定义级112684212ML4已定量管理级2313212ML5优化级2412212合计*2248165212*因共用目标和共用实践对各个过程域都是共用的,故其合计数目不进行相加提纲背景介绍GJB5000A简介GJB5000A实施过程重点工作与对策推动过程采用SEI的IDEAL模型开展过程改进活动I-Initiating(初始化)D-Diagnosing(诊断)E-Establishing(建立)A-Acting(行动)L-Leveraging(提高)GJB5000A评价工作分为四阶段,启动阶段、过程定义阶段、过程实施阶段、评价阶段启动阶段过程定义阶段过程实施阶段评价阶段评价过程向中国新时代认证中心提交申请书派评价组实施现场评价组织专家审查总装备部审批发证年度监督被评单位受理后通过后通过后提纲背景介绍GJB5000A简介GJB5000A实施过程重点工作与对策启动阶段(1/4)建立过程改进组织过程改进领导小组软件工程过程改进组配置控制委员会配置管理组质量保证组启动阶段-GJB5000A基础培训(2/4)增强对GJB5000A标准的理解,提高执行GJB5000A工作的意识和技术能力,为体系文件编写、体系运行实施打好基础。具体培训的内容包括:GJB5000A标准综合培训GJB5000A2级过程域知识培训GJB5000A3级过程域知识培训启动阶段-现状与差距分析(3/4)调研当前软件研制过程管理的现状依据GJB5000A标准模型要求,查清企业软件过程与模型的确切差距形成过程改进建议启动阶段-制定改进计划(4/4)根据诊断分析的结果、分析报告和制定软件过程改进建议,咨询组协助企业EPG制定实施GJB5000A的改进计划,内容主要包括体系完善计划、培训计划、项目实施计划、内部评估计划、过程改进活动及所需资源、人员分工、相关的接口、