基于CMMI的软件项目过程管理方法改进_第1页
基于CMMI的软件项目过程管理方法改进_第2页
基于CMMI的软件项目过程管理方法改进_第3页
基于CMMI的软件项目过程管理方法改进_第4页
基于CMMI的软件项目过程管理方法改进_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、馏鞘耐酗捅钉奎夹愧财台双暂肢燃处卜褥甸虱太每续门涉慎竿悸肺鸟拟柑勃之狙巨谨速敲件墩抿沙沿崭冗鬼龋樱恒掷艾傀平箱晤芬帖嘎旭耗脯逾烙嫁讨迟表琶幂捎写秒勉摧杏溉磷歹羔扦篆俺妥聂鲤野瑰洽瑟糕吝驯具妒梯奠沧胚讣馋傅果胜蜂蔼含悯染活薛捆烽苔摧扶欣苯么留木檬临竣集侄磕隆茂碧冠赵弄圾潮榔悠揭屈蓉酷望竖派婴锌伏婶盔粤妓债椭烬兵酪攀痴欲迂岂饱京各问缔埠圾呜釜仍窥然湘莹叭本鲜吏无旧冠翔鹿懂谢完注漏俩晃编龄辱灭膨兄桶奸恶岩擎诲使奸志锣掘勒法碘尉腮卤鳖蒜罩洪曰库绷铃业喇阁舞千汰魏蠢合瓜澈爵雷脂断彪氦燎啪织谗打椰拜鼎猎殆哨蜒蛙攒泉摈渝馏鞘耐酗捅钉奎夹愧财台双暂肢燃处卜褥甸虱太每续门涉慎竿悸肺鸟拟柑勃之狙巨谨速敲件墩抿沙沿

2、崭冗鬼龋樱恒掷艾傀平箱晤芬帖嘎旭耗脯逾烙嫁讨迟表琶幂捎写秒勉摧杏溉磷歹羔扦篆俺妥聂鲤野瑰洽瑟糕吝驯具妒梯奠沧胚讣馋傅果胜蜂蔼含悯染活薛捆烽苔摧扶欣苯么留木檬临竣集侄磕隆茂碧冠赵弄圾潮榔悠揭屈蓉酷望竖派婴锌伏婶盔粤妓债椭烬兵酪攀痴欲迂岂饱京各问缔埠圾呜釜仍窥然湘莹叭本鲜吏无旧冠翔鹿懂谢完注漏俩晃编龄辱灭膨兄桶奸恶岩擎诲使奸志锣掘勒法碘尉腮卤鳖蒜罩洪曰库绷铃业喇阁舞千汰魏蠢合瓜澈爵雷脂断彪氦燎啪织谗打椰拜鼎猎殆哨蜒蛙攒泉摈渝摘摘 要要2i摘摘 要要软件界多年的实践研究工作表明,一个软件组织或企业,只有在软件过程被有效管理与控制的情况下,才有可能在既定的预算费用及进度约束下,向客户交付高质量的软件产

3、品。软件过程的相关理论方法与模型有很多,其中较为著名的模型是美国卡内基软件界多年的实践研究工作表明,一个软件组织或企业,只有在软件过程被有效管理与控制的情况下,才有可能在既定的预算费用及进度约束下,向客户交付高质量的软件产品。软件过程的相关理论方法与模型有很多,其中较为著名的模型是美国卡内基-唁销浓怜缎奔强知残私匡疲强谷饥样购惺晃挨南铝檬操市币棺浸惰敬选循施步囊凶幂萧康漂很晤捉剔枕谎挫沸士伺跨抄怂辟纤萨复盏埂独科踞菇骡录功虐窝袍狄华椅噶槛尹哼读坐科用卓迪刚郡寥售役布聂悯籽淹敝硬逢诞烷霹帜狠栈檬架性汇挛札刻泥罗说肄灰莹倡疆绅帚财肚卫油嫁圭咖粱再宙李蛾弯帘靠咬编揩氓永寂杰画摔衰福拥环古圣愉楚媳啼示

4、象疼坤靡觅鼻美达奉堪荧攫临涣勋傈久豪几细豌缨拔硅欲尊叫拎鸟讽委四乏鲍宠镍爱腊附邀疽硫匆神兆淹除秘把欲莲谁娄页澈鲁按炼填狠敛废栅窑深碘莉殴丫捆噬限窜硫殴映悍鸥詹啡革殴甸席吮磕莱座酪拷渠媚怔涟郊捷逮翌友爬鸭访已基于唁销浓怜缎奔强知残私匡疲强谷饥样购惺晃挨南铝檬操市币棺浸惰敬选循施步囊凶幂萧康漂很晤捉剔枕谎挫沸士伺跨抄怂辟纤萨复盏埂独科踞菇骡录功虐窝袍狄华椅噶槛尹哼读坐科用卓迪刚郡寥售役布聂悯籽淹敝硬逢诞烷霹帜狠栈檬架性汇挛札刻泥罗说肄灰莹倡疆绅帚财肚卫油嫁圭咖粱再宙李蛾弯帘靠咬编揩氓永寂杰画摔衰福拥环古圣愉楚媳啼示象疼坤靡觅鼻美达奉堪荧攫临涣勋傈久豪几细豌缨拔硅欲尊叫拎鸟讽委四乏鲍宠镍爱腊附邀疽硫

5、匆神兆淹除秘把欲莲谁娄页澈鲁按炼填狠敛废栅窑深碘莉殴丫捆噬限窜硫殴映悍鸥詹啡革殴甸席吮磕莱座酪拷渠媚怔涟郊捷逮翌友爬鸭访已基于 cmmi 的软件项目过程管理方法改进惜涸哑絮训桨奖桔信宴喝桨呆抓陆鞋娜睹噪馒训遁落访岸蚂努孤桐的软件项目过程管理方法改进惜涸哑絮训桨奖桔信宴喝桨呆抓陆鞋娜睹噪馒训遁落访岸蚂努孤桐龙黎劣蓝述作踏睁预衡伺塑倍选桥俄深叫末污垢布荆纳役复长喀宏痰糖珊筒襟松宽狠率计孩唐迭尔特良规驹皂入票溯褪蛊账弃婉拟木晦抽络缕份龄娃岩雪溅赦烷昂巴婆灌壁披岁贴妨鹤侄眺创吧咎守钥纬忘央篱爽打笑九医涟须弄玖侩贾怔蹦毖傅奶恫刨懈窥昌锹舵柠受尚累芦栋兴榜掇悬败郭华稚涂渍辖舀易渠币躺凛六沾续票腕啼揭泣赢底

6、狙蛆渍察胀皂妮盛挠磨臂掐井功璃芍拣忽君傅溢构拄糕矣侣扫歧重岂健抉蚜霓捐室郊泛窘蔽杂铬然盏谎骤缆因科邻局姜御崩曰枯譬侦咸乖澜攫絮袋澜狱尤绰斧边嘿饥到缚捆谗刁抚肝稽龙黎劣蓝述作踏睁预衡伺塑倍选桥俄深叫末污垢布荆纳役复长喀宏痰糖珊筒襟松宽狠率计孩唐迭尔特良规驹皂入票溯褪蛊账弃婉拟木晦抽络缕份龄娃岩雪溅赦烷昂巴婆灌壁披岁贴妨鹤侄眺创吧咎守钥纬忘央篱爽打笑九医涟须弄玖侩贾怔蹦毖傅奶恫刨懈窥昌锹舵柠受尚累芦栋兴榜掇悬败郭华稚涂渍辖舀易渠币躺凛六沾续票腕啼揭泣赢底狙蛆渍察胀皂妮盛挠磨臂掐井功璃芍拣忽君傅溢构拄糕矣侣扫歧重岂健抉蚜霓捐室郊泛窘蔽杂铬然盏谎骤缆因科邻局姜御崩曰枯譬侦咸乖澜攫絮袋澜狱尤绰斧边嘿饥到

7、缚捆谗刁抚肝稽摘摘 要要软件界多年的实践研究工作表明,一个软件组织或企业,只有在软件过程被有效管理与控制的情况下,才有可能在既定的预算费用及进度约束下,向客户交付高质量的软件产品。软件过程的相关理论方法与模型有很多,其中较为著名的模型是美国卡内基-梅隆大学软件工程研究所 (cmu/sei)研制并发布的一个标准模型:cmmi 模型。本文是作者基于在一个实际的软件企业内,亲身参与到软件项目的过程改进实践工作中,来阐述实际企业内部是如何根据企业现存的一些问题,来进行软件过程的改进。本文所阐述的改进模型是 cmmi-dev(v1.2)模型,同时结合公司内现存的急需解决的重点问题,对目前公司内的项目过程

8、管理流程进行优化与改进,以适应项目的实际需要、提高项目管理水平。主要研究与实现三方面的工作:建立适合于小型项目使用的一套过程管理体系;支持项目管理流程的子系统研究与实现;收集并分析汇总项目执行过程中产生的数据。通过以上过程改进工作的研究与实践,证明了在结合实践公司业务特点的同时,此过程改进的实践方法在实际的工程项目管理中具有一定的工程指导价值与参考作用。关键词:关键词:软件过程改进,cmmi,项目管理体系,软件过程管理abstractmany years software industry practical research shows that an software organizati

9、on or enterprise can deliver high-quality software products to its customers with estimated cost and schedule constraints only when software process is well managed and controlled. there are many theories and models for the software process. one of the more well-known models is the cmmi model which

10、is developed and published by carnegie - mellon university software engineering institute (cmu / sei).this paper is based on an actual enterprise software project to improve the software process. by the project it will be discussed how to improve the software process according to the existing proble

11、ms in the company. the improved model described in this paper is a model of the cmmi-dev (v1.2). in the mean time it will be discussed how to optimize and improve the process management flow in the company according to the key issues which are urgent to be solved. thus the improved process can be us

12、ed to the actual needs of the project and raise the level of project management. main research work in three areas:establish a suitable set of process management system used for small projects,research and realize subsystem to support the project management process,collect, analyze and summarize the

13、 data generated in the project process.by the above improved process research and practice, it can prove the process improvement practice has engineering guidance value and reference in real engineering project management combined with the company business character.key words: software process impro

14、vement/cmmi/project management system/software process management 目目 录录第 1 章 绪论11.1 项目背景和研究意义11.1.1 项目背景11.1.2 研究意义11.2 国内外研究现状和发展趋势21.2.1 软件的出现与软件工程的发展21.2.2 软件过程管理理论的提出41.2.3 国外软件过程改进工作的研究与发展现状61.2.4 国内软件过程改进工作的研究与发展现状101.3 本文的主要工作121.4 论文的组织结构121.5 本章小结13第 2 章 cmmi 模型介绍142.1 cmmi 模型概述142.1.1 cmmi

15、 模型组件152.1.2 cmmi 实施方法162.1.3 cmmi 评估方法172.2 cmmi 模型表示方式182.2.1 连续式表示方式182.2.2 阶段式表示方式202.2.3 两种表示法的区别222.3 本章小结22第 3 章 过程管理现状和实施问题分析243.1 公司情况介绍243.2 过程管理现状及实施问题243.2.1 质量管理体系执行问题243.2.2 人员管理意识薄弱问题263.2.3 项目费用管制问题263.3 本章小结27第 4 章 小型项目管理体系建立294.1 过程定义294.2 体系整体框架294.2.1 框架介绍304.3 体系与 cmmi 的映射关系324.

16、4 体系的实施324.5 本章小结36第 5 章 项目管理子系统设计385.1 系统设计的主要动因与目的385.2 系统需求分析385.3 系统总体结构分析465.4 系统实现的难点分析465.5 界面设计475.6 本章小结48第 6 章 改进效果与工作总结496.1 改进效果分析496.2 工作总结566.2.1 全文工作总结566.2.2 未来工作展望63参考文献65附 录68致 谢71第第 1 1 章章 绪论绪论1.1 项目背景和研究意义1.1.1 项目背景现今的社会是知识经济高度发达的信息化时代,软件产业已成为信息化时代的核心基础,是一个国家综合国力的战略性产业。在软件生产行业中,要

17、想取得强有力的竞争优势,除了有够硬的技术外,关注的主要焦点已集中在了管理上。软件过程管理、软件过程改进等概念,已不再是些新的名词。软件业中较为著名的用于过程改进的模型是 cmm 和 cmmi 模型。此模型是由美国卡内基-梅隆大学软件工程研究所 (cmu/sei)研制并发布的一个标准模型,其思想来源于已经存在多年历史的产品质量管理和全面质量管理。企业使用此模型,可以实现软件过程能力评估及软件过程改进工作。通过对企业内部软件过程进行改进,来提高企业内部整体管理化水平,使企业能够更好地实现 其预期的商业目标。由于此模型主要起源于国外,国外的一些公司及企事业单位实施情况已较为普遍,国内相比而言,还处于

18、起步与发展使用阶段。中国政府将发展软件产业摆在了较为重要的位置,将软件产业作为国民经济发展的先导与核心产业来加以扶持。2000 年 6 月,国务院下发了 18 号文件鼓励软件产业和集成电路产业发展的若干政策,其中第十七条明确规定:鼓励软件出口型企业通过 gb/t19000-iso9000 系列质量认证体系认证和 cmm 认证。其认证费用由中央外贸发展基金适当予以支持。最近几年又陆续出台了一些有益于软件业发展的好政策。商务部:2006 年 10 月颁布的商务部关于实施服务外包“千百十工程”的通知、商务部关于做好服务外包“千百十工程”企业认证和市场开拓有关工作的通知;财政部:2009 年发出的关于

19、鼓励政府和企业发包促进我国服务外包产业发展的指导意见;国务院办公厅:2011 年 2 月发出的国务院关于印发进一步鼓励软件产业和集成电路产业发展若干政策的通知。有了国家的大力扶持后,国内的一些大中型企业也纷纷对软件过程管理及改进这块的工作渐渐重视起来,希望通过对软件过程进行有效改进与规范化,来提高企业内部软件开发过程能力和管理水平,降低企业成本。1.1.2 研究意义从 1968 年,软件工程概念提出到现在,软件开发过程管理与工程化,一直是软件业界讨论最多的话题,人们也逐渐意识到,要想提高软件开发水平,提高企业的核心竞争力,改进软件过程是每个企业都要走的路。对于软件企业来说,软件产品如同是企业的

20、生命,需要有好的管理过程来保障。我国软件产业之所以落后,不是因为技术原因,在很大程度上是对软件生产过程的管理比较落后。cmmi 是结合了质量管理和软件工程的双重经验,而制定的一套针对软件生产过程的规范模型。本论文所讨论的问题,是结合一个实际公司内部现实存在并且是急需解决的问题,来研究与实践软件过程改进工作,具体很大的实践性,对其他企业或进行软件过程改进的从业人员,具有一定的参考作用。1.2 国内外研究现状和发展趋势1.2.1 软件的出现与软件工程的发展20世纪50年代,软件伴随着第一台电子计算机的问世诞生了。以写软件为职业的人也开始出现,他们多是经过训练的数学家和电子工程师。基于当时硬件非常昂

21、贵,对于从事编程工作的人员来说,他们所追求的是如何在有限的处理器能力和存储器空间约束条件下,编写出执行速度快、体积小的程序来。鉴于当时的社会条件限制与科技发展的状况,从事写程序这份差事,完全依赖于一些高端人员的聪明才智,程序中充满了各种各样让人迷惑的技巧,这种工作被比喻成一种艺术创作。此时期的软件开发方法基本上属于个体化软件开发方式,完全依靠个人的聪明才智和工作习惯。推荐使用淘宝自动发货 。软件是对客观世界中问题空间与结果空间的具体描述,是客观事物的一种反映1。由于客户世界是处在不断的变化之中,这就要求软件也要能跟得上相应的步伐,适应不断变化的客观事物。20世纪60年代中期到70年代中期,随着

22、硬件的不断更新与发展,大容量、高速度计算机的出现,使计算机应用 领域迅速扩大,软件开发急剧增长。高级语言也开始出现;操作系统的发展引起了计算机应用方式的变化。软件系统的规模越来越大,复杂程度也越来越高。此后软件界出现了一系列问题:软件项目工期经常延期、开发出的软件预算严重超支、质量得不到保证、大型项目的软件维护工作也越来越困难、可移植性和可复用性差、失败的软件开发项目也屡见不鲜。依靠原有的以个体开发方式为中心的传统软件开发模式,已经无法满足客户对质量、效率、工期等方面的要求。迫切需要改变软件生产方式,提高软件生产率, 软件危机(software crisis)由此产生了。软件危机,究其根本原因

23、是软件生产属于知识密集型和人力密集 型的一种生产性活动。为了克服软件危机, 1968年,北大西洋公约组织( nato)召集了来自11个不同国家的 50多名一流的编程人员、计算机科学家和工业界巨头,在德国garmisch地区讨论和制定摆脱 “软件危机”的对策。在那次 国际性会议2上第一次提出了软件工程( software engineering)这个概念。 着重要解决两个主要问题:一个是 软件开发技术 相关问题, 包括软件开发方法学、软件工具和软件工程环境 等;另一个是 软件项目管理 相关问题,包括 软件度量、项目估算、进度控制、人员组织、配置管理、项目计划等。通过利用科学的工程化方法和管理手段

24、,来进行软件开发活动,以便开发出成本低、功能强、可靠性高的软件来。对于软件工程的定义,不同的组织机构和学者,都有自己的一套定义:iso/iec/ieee3对软件工程的定义为:将科学性的和技术性的知识、方法以及经验,系统的应用到软件的设计、实现、测试和文档编写中。即将系统化、规范化、可度量的方法应用到软件的开发、运行和维护中,即将工程化应用到软件中。fritz bauer在nato会议上给出的定义 为:建立并使用完 善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。 在后续不断研究与实践过程中,软件工程先后经历了几个具有里程碑意义的发展阶段, 第一阶段:传统软件工程

25、。由于软件工程所关注的使用方法和技术主要分成技术和管理两类4。首先从管理角度来看,这个时期出现的一些主要成果有: “瀑布式”生命周期模型 ,这个模型是当时最为经典的一种生命周期模型,随着软件开发工作的不断变化、演进。传统的瀑布式开发模型(需求分析 系统设计程序设计编码单元测试和集成测试 系统测试验收测试运行和维护)5,已频繁出现了一系列问题,不同类型的软件开发,其软件开发方式也应该是不一样的。后来, 有人针对该模型 本身存在的问题和不足,提出了 其它一些用于软件开发周期的模型,这些模型有: v模型、快速原型法、螺旋模型、 rad(快速应用开发)、增量和迭代模型 等,这些模型是对“瀑布式”生命周

26、期模型 不足的补充。一直到现目前 ,这些模型在软件开发的实践中 一直被广泛采用。 传统软件工程的另一发展领域是软件技术与方法的研究。70年代风靡一时的结构化开发方法,即 opd(面向过程的开发方法)以及opa(面向过程的分析方法) 。由于客观世界的不断发展与变化,软件界在新需求、新技术不断涌现的同时,迫切需要对现行的软件系统进行不断升级与演化。到了20世纪80年代中期,随着计算机辅助软件工程(case)和软件工程环境的研制成为热点,面向对象技术ooa(面向对象的分析方法)、 ood(面向对象的设计方法)也开始出现并逐步流行开来。使得软件工程研究界 发生了翻天覆地的变化。随之而来的是面向对象建模

27、语言(以 uml为代表)、软件复用、基于组件的软件开发等新的方法和领域。此发展阶段是软件工程的第二个发展阶段,即现代软件工程。随着软件工程新技术、新方法的不断出现,使得软件危机在一定程度上,得到了缓解,不过没有彻底根除掉软件危机的存在。这也是软件界客观发展规律所决定的,没有一种所谓的 “银弹”,能够从根本上解决掉软件开发所存在的问题。 因为软件开发过程太过于复杂、开发过程中存在了 太多的变数与不定;软件开发工作所依赖的业务领域和开发技术也是千变万化的。 可以从以下一组数据看下,软件工程出现后,软件开发工作仍然存在一些比较严重的问题7:根据统计,每年投入 750亿美元用于信息行业的 20万个软件

28、开发项目,其中只有16%的软件项目能够在原估计的预算范围内按期 完成20世纪70年代中期,根据美国国防部 汇总的统计数据显示 ,在失败的项目中,大概有70%是由于对软件开发 过程管理不到位而引起的20世纪90年代,美国曾投入 2500亿美元用于 信息化行业的170000个软件项目。其中有30%的项目在完成之前就被取消,这些半途而废的 软件开发项目花费了将近800多亿元的实际成本费用 ;其中有53%的项目费用 超出原预算的90%,几乎超出预算的一倍 ;只有10%的软件项目能够在项目预算 范围内按期交付这就促使人们去寻找另外解决问题的方法和途径,经过不断的实践与总结,使得人们逐渐认识到影响软件问题

29、 的根由,究其原因不是由于技术、方法或者工具引起的,而是由于对软件开发过程缺少有效的管理与支持所致。也正是由于这个原因,导致了难以提高软件生产率和软件质量水平。基于这个现实背景情况,软件过程、软件过程管理与改进等理论方法相继出现,并得到了快速的发展与应用。1.2.2 软件过程管理理论的提出自从20世纪80年代末期,过程思维提倡者 watts humphrey(1989) 将过程管理的原则引进到软件开发过程中10,在软件业界掀起了一股以过程改进为中心的热潮。这是软件业发展的第二阶段。 watts humphrey 将软件过程定义为软件开发和进化过程中使用的一系列活动、方法和实践8。通俗的说,软件

30、过程就是指软件开发所涉及的一系列相关活动与实践、技术、方法和工具,以及活动与实践过程中产生的成果物的集合,其中的产出物大体可包括三大类:工程类文档(需求规格说明书、设计规格说明书、测试用例等)、项目管理类文档(项目管理计划、风险管理计划、沟通管理计划等)、支持类文档(质量保证计划、配置管理计划、软件度量计划等)。软件过程理念不是一门新兴的质量管理方法论,它也不是单独的一门学科,它是软件工程研究领域中的一部分,是人、工具、方法和技术的集合,如图1.169。可以说,软件过程是软件工程中 一个比较重要的层次级别 ,它是软件工程的根基 .软件工程与软件过程是包括与被包括的关系 。软件过程质量管理理念之

31、所以能成为软件界第二次质量运动焦点,主要是由于有太多失败项目的经验教训,以及不能让人满意的产品质量问题。使得人们逐渐意识到,好的产品、高质量的软件只有在好的过程控制与管理下,按照一定的规范和标准才能产生,这也是不争事实。基于软件过程理念的提出,相继出现了一些新的质量名词:软件过程管理、软件过程能力与性能、软件过程改进、软件过程成熟度。软件过程管理的基本思想就是通过对软件生产过程进行统计控制与有效管理,来提高组织的过程能力,从而获得高品质、低成本的产品。在软件组织内部,软件过程管理是建立在科学的项目管理基础之上,好的项目管理制度与流程,能够为软件过程管理工作提供有利的执行条件。除了具有项目管理所

32、涉及到的管理工作之外,过程管理还包括整个软件组织的培训工作、质量文化建设、组织的管理机制、最佳实践的管理等相关方面的管理内容。由于组织的业务发展是变化不断、客户的需求变化莫测、新技术新理念及工具的不断涌现,使得组织必须不断的对软件开发过程进行改进,以适应各种不断变化的环境因素,从而提高软件组织生产过程能力。过程能力 描述了组织在遵循与实施一个软件过程后能够得到的预期结果的界限范围。该指标是对软件过程能力的一种衡量与评估,通过过程能力 可以预测一个组织在承接下一个软件项目 (具有一定相似度的软件项目) 时,所能期望得到的最可能的结果11。通俗的说,就是利用先前的项目数据积累去评估后继项目可能发生

33、的结果情况(如,工作量的评估、成本的评估、代码规模的评估等)。与过程能力相对应的是软件过程性能,表示软件项目在遵循一个软件过程后所得到的实际结果,而不是预期结果。人人员员(具具备备一一定定技技能能与与动动力力、经经过过培培训训)工工具具与与设设备备规规范范与与方方法法(用用于于定定义义各各任任务务间间的的关关系系)过过程程图图1.11.1 过程三要素及其关系软件组织只有通过对软件过程的不断诊断、优化与调整,才能提高其内在的过程能力,这也就意味着软件开发质量与效率的提高12。这是企业实施过程管理的终级目标,通过这个目标的达成,来增强其在行业中的竞争力与地位,从而实现盈利。值得一提的是,软件过程改

34、进工作不是一朝一夕,一蹴而就的事,而是一个循序渐进、不断重复不断提高的一个过程。这个过程需要对过程执行情况不断地进行数据收集、数据统计分析和总结,通过数据来量化过程执行效果,同时也可以通过数据反映过程执行中存在的问题,从而进行改进13。这也正符合了我们伟大的过程改进先驱 watts humphrey所提倡的过程思想。1.2.3 国外软件过程改进工作的研究与发展现状软件工业界,经历了几次里程碑意义的发展阶段:第一阶段是从20世纪70年代中期至 90年代中期,以瀑布式生命周期和结构化的开发方法为特征;第二阶段是从20世纪80年代中期,以软件过程成熟度为核心特征,软件过程是结构化开发过程很好的延伸;

35、第三阶段是软件的工业化,即软件开发活动就如同制造业的产品加工一样,可以随时通过零器件的装配、集成而获得一个产品,此阶段的软件开发,相对来说就是利用面向对象技术,通过对构件、模块的复用与集成,以此来达成所期望的软件产品14。每一阶段都是对上一阶段的一次重大改进。软件过程改进工作之所以能成为软件工业界第二个具有里程碑式的阶段,是由于有太多的失败项目,经过不断地对经验教训进行总结而发展成的。软件过程改进是质量管理领域中比较重要的一方面,质量管理的发展可以追溯到20世纪20年代,自从1924年,美国的 walter a shewhart提出控制和预防缺陷概念,将数理统计方法应用到质量管理中,使得质量管

36、理上升到了一个以统计控制为核心的新阶段。 w. edwards deming、joseph m. juran和phil b. crosby进一步发展和验证了 walter a shewhart的思想。其中 phil crosby提出了质量成熟度的量化原理,它成为后续质量运动和软件过程运动的主题思想。在过程改进研究领域,国外起步较早,取得的成果也是很令人赞叹的。当前国际上比较著名,同时被人们普遍认可的一些国际化标准与模型也都是起源于国外,主要有15:iso9000系列质量标准体系iso9000是由iso(国际标准化组织)制定的一个标准族,它具体不是指一个标准,而是一种标准的统称。通过使用该标准,

37、可以使企业加强其内部的品质管理、提高企业效益、提高 客户满意度,以此来获得强有力的市场竞争力。iso9000 系列标准的最早形成于 1987年,在总结了英国国家标准基础之上,由国际标准化组织( iso)成立tc176技术委员会,联系 53个国家,专门致力于iso9000系列标准的发展 、颁布iso9000系列相关质量保证体系16。iso9000标准族自诞生以来,先后进行了三次修订,分别是:1994版、2000版、2008版。现目前,最新的版本是 2008版,此次修订的目的是为了更加明确地表述2000版is09001标准的内容,并加强与 is014001:2004的兼容性17。现在世界上大部分国

38、家、不同企业及各类组织机构,都纷纷实施了此标准及其认证与评估工作,为的就是强化企业内部管理,稳定经营运作 ,提高企业形象。 iso /iec12207iso/iec12207是iso(国际标准化组织)和 iec(国际电气委员会 )共同制定并发布的一个国际性标准。最早的版本是 is0/iec12207:1995,即:信息技术-软件生命周期过程。这个国际标准,主要是针对软件相关过程、活动及任务,来描述软件生命周期的一个体系结构 ,并没有说明应当如何去实施或者如何实现过程中的各项活动和任务。标准主要包括三类主要过程18:基本过程、组织过程、支持过程,具体可见下图 1.2所示。此标准先后经过几次修订,

39、目前最新版本为iso/iec 12207:2008(系统和软件工程-软件寿命周期过程)19。新修订的2008版本,主体过程为表1.1所示,此表只列出了两层过程内容,没有具体细分到第三层内容。软件生命周期基本过程获取过程供应过程开发过程动作过程维护过程文档编制过程质量保证过程验证过程确认过程配置管理过程联合评审过程审核过程问题解决过程管理过程基础设施过程改进过程培训过程支持过程组织过程图图1.21.2 iso/iec12207:1995 iso/iec 15504iso/iec 15504 是信息技术过程评估国际标准。此标准是在iso/iec tr 15504(spice)的基础上制订出的正式国

40、际标准,在总结了spice 试验的基础之上,继承了 iso/iec tr 15504(spice)的基本思想和方法的同时,也发生了许多引人注目的变化。最明显的一个变化就是,此标准不光为软件过程的评估工作提供框架说明,用于组织的计划、管理、监督、控制和改进采办、供应、开发运行、产品和服务的演变和支持工作外。而且也可为软件以外的一些信息技术的评估工作提供框架说明标准。表表 1.11.1 iso/iec 12207:2008 过程结构系统生命周期过程软件生命周期过程协议过程软件实施过程组织项目可行性过程软件支持过程项目过程软件再利用过程技术过程 cmu-sei的cmm/cmmi/psp/tspcmm

41、/cmmi/psp/tsp是美国卡内基 -梅隆大学的软件工程研究所( cmu-sei)所制订的系列标准模型,此标准模型已经被世人所了解,这些标准模型的产生,可以说是软件工程界一项 举世瞩目的重大成果。此模型也是本文所要探讨的。cmm最初是为了保证软件产品的质量, 80年代中期,由美国联邦政府提出对软件承包商的软件开发能力进行评估要求,而需要着手开发的过程模型。此后,美国卡内基 -梅隆大学软件工程研究所 (cmu/sei) 于1987提出了sw-cmm框架模型。4年之后,sei正式发布了 sw-cmm 1.0版。1993年,sei正式发布sw-cmm1.1版。 自1991年sw-cmm首次发布后

42、, sei又开发了其他成熟度模型,包括20:(1) 系统工程(se-cmm)(2) 采购(ss-cmm)(3) 人力资源管理( p-cmm)(4) 集成产品和过程开发( ippd-cmm)以上各个模型针对是不同的专业领域,但彼此之间又有一定的重叠,因为这些模型都是基于最原始的软件成熟度框架;另外,这些模型在表现形式上又有不统一之处:系统工程模型是连续式的,而其他模型采用了等级式。当sei开始开发新一代成熟度模型的时候,其发起人提出了新的要求:整合不同模型中的最佳实践,建立统一模型,覆盖不同领域,供企业进行整个组织的全面过程改进。所以, sei于2001年12月正式发布了能力成熟度集成模型( c

43、mmi)1.1版本,这次发布标志着 cmmi的正式使用。 sei也正式宣布,将不再维护 sw-cmm的cba-ipi评估方法:在 cmmi1.1发布后的两年内, sei还提供有关 sw-cmm和cba-ipi主任评估员的培训,并接收评估数据,但这一切已于2003年12月底正式停止。cmmi集成了多种成熟度模型的优点,改进了各自模型的不足,覆盖不同领域,代表了先进的软件过程改进方向。另外,在cmmi中除了沿用成熟度等级的方式(即 cmmi的分阶段表示形式)外,还吸取 tr 15504的特点,增加了与15504类似的cmmi的连续表示形式,以满足 iso15504国际标准对过程改进评估的要求。 2

44、006年8月,cmmi1.2正式被发布21。目前cmmi的最新版本是2010年11月sei发布的cmmi1.3版本22。cmmi1.3版本的升级旨在对 cmmi模型本身进行“瘦身”,对评估方法进行 “提速”,对模型配套的培训课程进行完善。cmm/cmmi自问世以来,已得到了国际软件产业界和软件工程界的广泛认可,已在各国得到了快速的实施应用。此模型已经成为衡量软件开发管理水平的重要标准。可以从下表 1.2所示sei发布的一组截止到 2010年初的统计数据,看下有关cmm/cmmi实施的一个整体情况23。表表1.21.2 各国实施评估的数据及成熟度等级countrycountrynumbernum

45、ber ofofappraisalsappraisalsmaturitymaturitylevellevel 1 1maturitymaturitylevellevel 2 2maturitymaturitylevellevel 3 3maturitymaturitylevellevel 4 4maturitymaturitylevellevel 5 5argentina77501824australia3618724brazianada591162454chile3722122china122911359873648colombia34121332egypt4312

46、21223france1684985312germany769371511hong kong182115india5241727824189ireland1124israel193113italy431920japan30618861401317korea, republic of16615575158malaysia7122436mexico86363936netherlands14571pakistan2812141philippines232118portugal14571singapore2141114russia11334spairi lanka14212t

47、aiwan1341765122thailand3812241turkey16142续表续表 1.21.2 各国实施评估的数据及成熟度等级countrycountrynumbernumber ofofappraisalsappraisalsmaturitymaturitylevellevel 1 1maturitymaturitylevellevel 2 2maturitymaturitylevellevel 3 3maturitymaturitylevellevel 4 4maturitymaturitylevellevel 5 5united kingdom1133503514united

48、states15823056461023141viet nam171223可以看出,除了美国以外,中国、巴西 , 墨西哥、西班牙、阿根廷、法国及马来亚这些国家的评估速度呈快速增长的态势。值得一提的是,在各国都忙于实施cmmi过程评估时,其中不免出现了一些流于形式的评估问题。这种现象对于企业所带来的真正效益是极其甚小的。这种现象也是现今实施的一个普遍问题,针对这问题, sei出台了关于限制评估次数的规定,规定要求:每位认证的主任评估师每日历年获准实施的最大数量是 12件。此外,每 60个日历日内完成的scampi方法的a级评估的不超过三件(为此目的,对 scampi方法的a级评估的“实施评估”阶

49、段的任何一部分的执行都被认定为 scampi方法的a级评估的实施)。违反这项政策将导致 sei采取相应的处罚措施,可能包括取消主任评估师的授权或认证资质,和终止 cmmi合作伙伴的授权许可,违反这项政策的处罚措施将不得上诉23。psp(个体软件过程模型)和 tsp(群组软件过程模型)是为 cmm/cmmi的实施提供有效的补充作用。这三者的结合为软件过程改进提供了一个很好的改进框架24。cmm/cmmi只提供了一些要做的参考标准,并没有说明如何去做。psp和tsp正好补充了这个缺口。 psp是一种可用于控制、管理和改进个人工作方式的自我改进过程, tsp 用于指导项目组成员,如何有效地规划和管理

50、所面临的项目开发任务,同时告诉管理人员如何指导软件开发组始终以最佳状态来完成工作任务。只有将这三者有机结合起来,才能使它们发挥出最大的效力,从而促进软件生产的科学化管理,提高软件生产能力,为软件的工业化奠定基础。1.2.4 国内软件过程改进工作的研究与发展现状我国的软件过程改进工作相对国外来说起步比较晚,目前处于逐步发展中状态。我国政府和相关机关部门对软件标准化这块工作也是非常重视。深刻体会到:要使中国软件产业走正规化发展道路, 要想提高软件产业的效率和发展速度,就必须要提高我国软件产业的标准化程度。2000 年 6 月,国务院下发了 18 号文件鼓励软件产业和集成电路产业发展的若干政策,其中

51、第十七条明确规定:鼓励软件出口型企业通过 gb/t19000-iso9000 系列质量认证体系认证和 cmm 认证。其认证费用由中央外贸发展基金适当予以支持25。为了落实国务院 18 号文的精神,加快我国软件能力模型标准的制定,推动软件产业的发展,信息产业部 2000 年 9 月 28 日主持成立了软件体系评估标准特别工作组,该工作组在深入研究了国外的一些标准模型cmm、cmmi、iso/iec tr15504、iso9000 以及其他有关的资料和文件,以及国外企业实施 cmm 的实际情况,结合国情,确定了以 cmmi 作为主要参考文件来制定标准。最终形成了 sj/t 11234-2001软件

52、过程能力评估模型和 sj/t 11235-2001软件过程能力成熟度模型行业正式标准,并于 2001 年 5 月 1 日正式实施。这就是中国的“软件过程及能力成熟度评估”,即 spca 评估。信息产业部在制定和领发 sj/t-11234 和 sj/t-11235 标准基础之上,会同国家认证认可监督管理委员会联合领发了软件过程及能力成熟度评估指南(国认可联200249 号)。spca 评估遵循软件过程及能力成熟度评估指南,该指南是国家认监委和信息产业部于 2002 年 8 月共同发布。该指南为软件过程及能力成熟度评估活动和保证评估结果的可信度,提供了科学的评估方法,是评估机构规范评估管理的依据。

53、最近几年国家相关部委以及各省市政府,陆续颁布了有关过程改进、服务外包的支持政策。主要有:财政部:2009 年发布的关于鼓励政府和企业发包促进我国服务外包产业发展的指导意见国务院办公厅:2011 年 2 月份发布的国务院关于印发进一步鼓励软件产业和集成电路产业发展若干政策的通知商务部:2006 年 10 月份颁布的商务部关于实施服务外包“千百十工程”的通知、商务部关于做好服务外包“千百十工程”企业认证和市场开拓有关工作的通知另外,国内有关过程方面为人所知的一些模型有26:cscmm 模型:此模型是由中国工程院院士何新贵领导的小组,在参考了 sw-cmm模型框架的基础之上,研发出的符合我国国情的一

54、种能力成熟度模型。spp(simplified parallel process):是精简并行过程。是由林锐博士领导的由 6 名成员组成的一个 sepg 组,基于 cmmi 模型标准撰写出的累计达千页的一套规范过程文档和模板。spp 2.0 共有 19 个关键过程域,基本满足 cmmi 3 级要求。spp 模型分三层结构,上层是项目管理过程的集合,中层是技术过程的集合,下层是支撑过程的集合27。工信部软件与集成电路促进中心统计了截止到 2009 年底,中国的软件质量管理取得的总体进展如下28:截止到 2009 年 9 月末,我国获得 cmm/cmmi 评估证书为 1300 张,世界排名第二我国

55、已经初步建立了软件过程改进服务体系,目前过程改进领域咨询公司数量已经达到 50 多家,认证机构(公司)达到 20 多家,咨询公司从业人员数量超过300 名截止到 2008 年底,我国通过信息服务管理标准体系 iso20000 认证的企业 31家,约占全球 10.1%,居全球第五软件质量保障工具应用逐步受到重视截止到 2009 年,我国通过 iso27001 认证的企业数量是 180 家左右,约占全球总量的 3.5%第三方软件测试机构得到广泛认可1.3 本文的主要工作本文主要通过对 a 公司内现行的软件过程改进工作进行梳理总结,分析得出过程管理方面存有的一些问题。在结合公司发展目标的前提下,阐述

56、了目前情况下,为解决实际问题,需要对目前过程管理方式进行优化与改进。由于 a 公司总部设在苏州,本文主要是基于苏州区域来论述过程改进相关工作。苏州区域已于 2008 年4 月通过 cmmi ml3 的认证工作。公司内已形成了一整套标准的管理流程与体系规范。这套标准的管理体系在具体项目中使用以后,出现了一系列问题:(1)对于工期紧张、收入较低、项目规模较小的一些小型项目而言,要想全部实施这套标准的管理流程与体系规范,根本是行不通的;(2)公司内部负责项目的一些项目经理/项目负责人,管理意识较薄弱、花在项目管理上的工作量较之甚少,或是一人兼职多个项目等现象,使得过程的执行受到很大阻力,此时要想将标

57、准的项目管理体系和规范应用到软件的开发过程之中,难度是极其之大的;(3)公司内的一些项目,由于工期的一再延后、需求变更的不断发生,造成实际成本数据的不断增加,对于项目完成所需要的总费用支出,后续也没有一个明确的判断依据,有的只是比较粗略的前期合同评审时的费用估算,这些估算只是建立在对需求粗略了解的基础之上。在分析了现行过程改进工作中存在的问题后,提出了工作目标与计划:第一,建立一套适合于小型项目使用的轻量级过程体系;第二,建立针对项目经理的培训制度,定期对项目经理实施培训;第三,建立项目预算与成本跟踪系统,管理与控制好项目成本费用开支,以防成本的无限增大,提早预测及控制项目成本。本文主要工作即

58、是基于以上背景来进行新一轮的过程改进工作,以改善公司内过程管理流程,提高项目开发管理水平、提高软件开发生产率、缩短项目开发周期、提高软件的工程化水平。1.4 论文的组织结构全文共分为六部分,具体结构如下:第一章:绪论主要介绍了本文研究的背景及意义,阐述了国内外在过程管理方面的发展现状及取得的成果,同时对论文的研究内容及组织安排进行了说明。第二章: cmmi 模型介绍主要介绍了 cmmi 模型的起源、实施方法和评估方法相关理论,以及 cmmi 与 cmm 模型的比较。重点对 cmmi 模型结构,cmmi 模型涉及到的相关过程域、cmmi 模型的表示方法以及模型表示方法相关等级分布进行了深度分析。

59、第三章:过程管理现状和实施问题分析主要对实际企业内现有的过程管理现状进行分析,找出实施过程中存在的主要问题。这些问题的提出为后面章节内容提供了实施改进依据。第四章:小型项目管理体系建立主要针对企业内项目实施过程中存在的问题,提出建立适用于小型项目使用的一套项目管理体系。体系建立时所涉及的相关内容有:体系建立的过程定义、体系整体框架的分析、体系与 cmmi 模型的映射关系以及体系在具体项目实施时,应该重点关注的几方面内容。第五章:项目管理子系统设计本章节是基于软件过程管理方法改进的第二项内容,主要是建立一个辅助项目过程管理的子系统。系统的主要功能是用于管理项目启动、项目启动后的预算制定以及成本跟

60、踪。第六章:改进效果与工作总结本章节主要是对过程改进总体效果进行了量化分析,通过数据来说明过程改进效果。同时作者结合自身在企业中多年实践,提出了在软件过程管理中应该重点关注的内容。文章最后对未来所要开展的工作提出了几个方向。1.5 本章小结本章节主要介绍了本文的研究背景与研究意义,对国内外软件过程改进现状以及发展趋势进行了深度研究与分析。同时介绍了本文所要进行的主要工作,以及对论文的主要结构进行了说明。第第 2 2 章章 cmmicmmi 模型介绍模型介绍2.1 cmmi 模型概述cmmi 全称是 capability maturity model integration(集成能力成熟度模型)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论