- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
敏捷开发及CMMI融合探析
敏捷开发及CMMI融合探析摘要:通过将CMM/CMMI体系和敏捷开发方法过程的特点进行对比分析,给出将敏捷开发方法引入CMMI体系的可行性,同时通过对敏捷开发实践、CMMI标准结合的实践方式以及映射改进方案;根据项目的特点,介绍前期准备情况、开发过程,并对测试驱动的开发进行初步实践,然后介绍协助项目开发并使得项目的敏捷要素得以实现的敏捷开发工具,最后分析敏捷实开发的实践效果。
关键词: 软件产品;质量保证;解决方案;CMMI认证;敏捷开发
敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态[1]。
能力成熟度模型集成CMMI是CMM模型的最新版本。其目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。现在很多公司盲目跟随潮流使用敏捷开发过程,或CMMI标准过程,未完全确定自己公司的实际情况,保守的说一个企业开发过程未真正的达到CMMI3级的标准过程,那么它的敏捷开发过程很难实现,只能是徒具一个敏捷开发外壳[2]。
CMMI的敏捷性是很难刻画的,因为作为一个过程改进参考模型,它更加贴近一组需求而不是一组实践。也就是说,我们只能刻画那些为满足这些需求而开发出的过程[3]。
1 敏捷开发
敏捷建模的价值观[4]:敏捷建模(Agile Modeling,AM)的价值观包括了XP的四个价值观:沟通、简单、反馈、勇气,此外,还扩展了第五个价值观:谦逊。
2 CMMI
2.1 CMM到CMMI
在组织看到各类有用的CMM模型的同时,也发现他们:1)相互重叠;2)存在不一致;3)缺乏清晰和可理解的接口;4)缺乏标准化;5)彼此的详略程度不同,此外,许多组织还要进行ISO 9001或基于ISO 9000-3的TickIT审核,这导致了高成本的、令人感到混乱和矛盾的过程改进。这些不同的CMM模型在自己的应用领域内确实发挥了很多的作用,但是由于架构和内容的限制,他们之间并不能通用。在随后的发展过程中,本着不断改进的原则,CMMI产品团队发展起来[5]。
2.2 CMMI分为五个级别[6]
1)CMMILevel 1,完成级。企业对项目的目标与要做的努力很清晰,但是由于任务的完成带有很大的偶然性,企业无法保证在实施同类项目的时候仍然能够完成任务。过程不可预测且缺乏控制,是被动的,企业在一级上的项目实施对实施人员有很大的依赖性。
2)CMMILevel 2,管理级。建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程纪律,这一系列的管理手段排除了企业在一级时完成任务的随机性,保证了企业的所有项目实施都会得到成功。过程为项目服务,通常是被动。
3)CMMILevel 3,定义级。在已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。科学的管理成为企业的一种文化,企业的组织财富。过程主动为组织服务。
4)CMMILevel 4,量化管理级。过初已度量和控制。管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。
5)CMMILevel 5,优化级。企业的项目管理达到了最高的境界。在达到以上级别要求的基础上,能够主动地改善流程,运用新技术,关注过程改进,实现流程的优化。
企业在实施CMMI的时候,路要一步一步地走。一般地讲,应该先从二级入手。在管理上下功夫。争取最终实现CMMI的第五级。通过查阅一些外国采购软件依据和目前国内的一些企业受到美国企业的询单时,都会涉及到成熟度等级状况,其合同金额与软件企业自身成熟度等级密切相关,即CMMI等级越高,获得合同的金额越大。这表明CMMI已经成为企业管理水平和产品质量的象征。因此,CMMI有助于企业建立自身和品牌的良好形象,在企业营销上也具有良好的商业价值。
3 CMMI与敏捷开发的区别
3.1 CMMI、敏捷开发模式
CMMI是一个非常好的框架,强调机构性的过程管理,但是如果没有很好的理解和正确实施带给你的是浪费、花了很多钱看不到所想要的反馈[7]。CMMI的一些特点是[8]:1)作为一个参照模型与公司现有的模型比较,了解两者的差距;2)规范软件开发过程及其管理;3)帮助企业进行内部的过程改进,这是CMMI最有特色的地方;4)增加企业的国际竞争力;5)可以降低软件开发风险。
敏捷式开发的原则就是交付一些有价值的东西,强调面向任务目标快速非结构性的开发,所以一般来说是以非常小的周期快速的
文档评论(0)