软件过程改进与CMM介绍.ppt
《软件过程改进与CMM介绍.ppt》由会员分享,可在线阅读,更多相关《软件过程改进与CMM介绍.ppt(15页珍藏版)》请在冰豆网上搜索。
软件过程改进与软件过程改进与CMM/CMMI介绍介绍林林锐锐博士博士http:
/上上海海漫漫索索计计算算机机科科技技有有限限公公司司Page2目录目录0.常见疑问常见疑问1.IT企业面临的软件开发与管理难题企业面临的软件开发与管理难题2.软件过程改进概述软件过程改进概述3.CMM发展简史发展简史4.CMMI1.1介绍介绍5.CMM等级评估等级评估6.CMM在中国在中国7.软件过程改进措施与建议软件过程改进措施与建议Page30.常见疑问常见疑问u1.软件过程改进与CMM的关系?
u2.为什么有些企业实施CMM后,质量没有明显提高,进度更落后了,成本增加了,人员更累了?
u3.CMM理论本身有缺陷吗?
u4.按顺序遍历CMM过程域和关键实践,这种做法可行吗?
u5.应该寻找什么样的咨询师,才能帮助企业提升软件能力?
u6.欧美、印度、中国的CMM主任评估师,有什么特点?
u7.CMM23等级评估要花多少钱?
u8.怎么才能既提高软件能力,又能拿到CMM等级证书?
而且花钱要少?
Page41.企业面临的软件开发与管理难题企业面临的软件开发与管理难题1.1企业的目的企业的目的u根本目的:
合法地赚取尽可能多的利润,使企业利益最大化。
u为了使企业利益最大化,软件产品(项目)应当“做得好、做得快并且少花钱”1.2企业长期面临的企业长期面临的软件开发与管理难题软件开发与管理难题u产品质量低下、进度延误、费用超支(软件工程学科发展30年尚未彻底解决)u经典软件工程:
研究需求分析、系统设计、编程、测试、维护等领域的方法、技术和工具u问题之源:
人们逐渐意识到,由于企业管理软件过程的能力比较弱,常常导致项目处于混乱状态。
过程混乱使得新技术、新工具的优势难以体现。
经典的软件工程不是不好,而是不够用。
1.3企业的迫切愿望企业的迫切愿望u寻求“提高产品质量、提高生产率并且降低成本”的解决方案,包括方法论和工具。
Page52.软件过程改进概述软件过程改进概述2.1过程的基本概念过程的基本概念u过程就是人们使用相应的方法、规程、技术、工具等将原始材料(输入)转化成用户需要的产品。
过程的3个基本要素是:
人、方法与规程、技术与工具。
过程被文档化后才能成为规范。
u过程与产品存在因果关系。
即好的过程才能得到好的产品,而差的过程只会得到差的产品。
企业领导关心过程吗?
为什么要监控过程?
何为过程可视性?
企业领导关心过程吗?
为什么要监控过程?
何为过程可视性?
2.2什么是什么是软件过程改进软件过程改进u从20世纪90年代至今,软件过程改进成为软件工程学科的一个主流研究方向,其中CMM和CMMI是该领域举世瞩目的重大成果。
u提高软件过程能力的实践通称为软件过程改进(SoftwareProcessImprovement)。
软件过程改进的根本目的是:
提高质量、提高生产率并且降低开发成本提高质量、提高生产率并且降低开发成本。
人员方法与规程技术与工具过程过程产品Page62.软件过程改进概述软件过程改进概述2.3主要的软件过程域主要的软件过程域u工程类的主要过程域:
需求开发、系统设计、软件实现、软件测试、软件维护等等;u管理类的主要过程域:
项目规划、项目监控、需求管理、质量管理、配置管理等等。
u上述过程域中的任何活动都会影响产品的质量、生产率和成本。
2.4软件过程改进必须走规范化之路软件过程改进必须走规范化之路u提高软件过程能力可以比喻为“练内功”,“练内功”没有捷径可走,唯有走“规范化”之路,即“制定适合于本企业的软件过程规范,并按照此规范执行”。
u“规范化”不会抑止人们的创造力,相反地,它使得团队可以大规模地复用前人积累的智慧和财富。
这种方法非常适合于现代的工业化生产。
(麦当劳与中餐馆对比)麦当劳的特征:
不论是制作汉堡还是炸署条,都有规范化的操作流程中餐馆的特征:
大厨掌握招牌菜,老板怕大厨。
u业界实践已经证明,走“规范化”之路是“成本最低、见效最快、能持续发展”的软件过程改进方法,犹如人类的“养生之道”。
任何IT企业(不论大小),都有办法以其承受得起的代价“走规范化之路”,从而有效地提高软件过程能力。
养生之道:
为什么富人的身体不如平民百姓的好?
Page73.CMM发展简史发展简史3.1CMM是什么是什么uCMM(CapabilityMaturityModel)是用于衡量软件过程能力的事实上的标准,同时也是目前软件过程改进最好的参考标准。
u美国卡内基-梅隆大学软件工程研究所(SEI)研制3.2发展简史发展简史uCMM1.0于1991年制定。
uCMM1.1于1993发布,该版本应用最广泛。
uCMM2.0草案于1997年制定(未广泛应用)。
u到2000年,CMM演化成为CMMI(CapabilityMaturityModelIntegration),CMM2.0成为CMMI1.0的主要组成部分。
uCMMI-SE/SW1.1(CMMIforSystemEngineeringandSoftwareEngineering)于2002年1月正式推出。
3.3CMM重要概念重要概念u5个成熟度等级:
Initial,Repeatable,Defined,Managed,Optimizingu18个关键过程域。
关键过程域指出为了达到某个成熟度等级必须要解决的一族问题。
Page84.CMMI1.1介绍介绍4.1CMMI诞生诞生uCMM1.1是十年前创作的,十年来IT产业有了长足的发展,相应的工业标准或规范必然要不断地改进。
在总结CMM应用的大量经验教训的基础之上,SEI于2002年推出了CMMI1.1。
CMMI重大的改进在于它不仅完善了CMM本身,而且充分考虑了软件工程与系统工程的集成,使得CMMI不再局限于纯粹软件的范畴。
由于CMMI1.1问世不久,人们了解和应用CMMI需要一定的时间,但是CMMI将取代CMM这是必然的趋势。
4.2CMMI有两种表述方式有两种表述方式u阶段表述方式与CMM兼容,连续表述方式与ISO/IEC15504相似。
Page94.CMMI1.1介绍介绍CMM关键过程域关键过程域CMMI过程域过程域L2RequirementsManagementSoftwareProjectPlanningSoftwareProjectTrackingandOversightSoftwareConfigurationManagementSoftwareSubcontractManagementSoftwareQualityAssuranceRequirementsManagementProjectPlanningProjectMonitoringandControlConfigurationManagementSupplierAgreementManagementProcessandProductQualityAssuranceMeasurementandAnalysisL3SoftwareProductEngineeringPeerReviewsOrganizationProcessFocusOrganizationProcessDefinitionTrainingProgramIntegratedSoftwareManagementInter-groupCoordinationRequirementsDevelopmentTechnicalSolutionProductIntegrationVerificationValidationOrganizationProcessFocusOrganizationProcessDefinitionOrganizationalTrainingIntegratedProjectManagementRiskManagementDecisionAnalysisandResolution4.3CMMI与与CMM过程域的比较过程域的比较Page105.CMM等级评估等级评估5.1过程复杂过程复杂u每一个CMM等级评估周期(从准备到完成)约需12-30个月。
u每一级别的评估由SEI授权的主任评估师领导一个评审小组进行,其成员大部分来自企业内部。
u评估过程包括员工培训(企业的高层领导也要参加)、问卷填写和统计、文档审查、数据分析、与企业的高层领导讨论和撰写评估报告等。
u评估结束由主任评估师签字生效(没有盖上公章的证书)5.2取得主任评估师的资格比较困难取得主任评估师的资格比较困难u10年以上的软件开发经验u在SEI接受培训,培训费用每人约需数万美元,非美国人加倍。
u经过两次以上CMM评估的全过程实习u主任评估师的资格并非终身制5.3评估费用昂贵:
大约是评估费用昂贵:
大约是ISOISO认证的十倍认证的十倍u价格视客户需求的多少而定,可以与咨询公司协商。
u2002年参考价:
CMM2级50万元RMB,CMM3级80万元RMB。
Page116.CMM在中国在中国6.1国内国内IT企业采用企业采用CMM的目的的目的u提高企业的软件过程能力,但并不关心CMM评估。
u既要提高企业的软件过程能力,又想通过CMM评估来提升企业的威望与知名度。
u只是为了拿到CMM证书6.26.2共性问题:
费用高、难度大、见效慢共性问题:
费用高、难度大、见效慢u企业做一次比较完整的CMM2-3级咨询和评估大约要花费60100万元。
u企业内部组建SEPG的成本并不比咨询费低。
u软件工程与项目管理工具比较昂贵(如Rational的产品)。
u目前国内通过CMM2-3级评估的企业屈指可数,而这些企业的实际能力也没有宣传的那么好。
因为参加CMM评估的项目都是精心准备的,个别项目或者事业部通过了CMM评估并不意味着整个企业达到了那个水平,这里面的水分相当大。
Page126.CMM在中国在中国6.3国内国内通过通过CMM等级评估的企业(等级评估的企业(2002年统计数据)年统计数据)u公司名称CMM级别通过时间u摩托罗拉L52000-09u华为印度所L42001-12u东大阿尔派L32001-06u托普软件L32001-11u联想软件事业部L32002-01u鼎新公司L21999-07u博通公司L22001-04u用友软件L22001-06u浪潮通软L22001-11u东方通科技L22001-12u新太科技L22001-12u神州数码L22002-016.46.4业界关注的焦点:
企业如何以比较低的代价有效地提高软件过程能力业界关注的焦点:
企业如何以比较低的代价有效地提高软件过程能力Page137.软件过程改进措施与建议软件过程改进措施与建议7.1企业领导决策与支持企业领导决策与支持u领导根据企业的发展战略和当前实力,决定投入多少资金、人力和时间,将过程能力提高到什么程度。
u领导“支持”软件过程改进的行为是多方面的,例如批准必要的经费,组建SEPG,在某些场合宣传软件过程改进的重要性等。
除此之外,企业领导应当亲自参与软件过程改进的实践,为员工们树立榜样,例如参加培训和考试,自己要遵守软件过程规范。
7.27.2制定适合于企业的过程规范制定适合于企业的过程规范u首先要深入调查企业过程能力的现状,识别出薄弱环节,分清“轻重缓急”。
再根据企业的实力(如资金和人力),确定过程改进的各个阶段目标。
u企业在参考业界推荐的过程标准或规范时,要舍弃那些听起来很先进但是对本企业无益处的东西,只选取对企业有实用价值的东西。
如同老百姓买商品,“只买对的,不买贵的”。
uCMM/CMMI和ISO都只是用来参考的,而不是用来“迷信”的。
u使用软件过程规范的绝大部分人不是软件工程专家,所以规范应当通俗易懂。
Page147.软件过程改进措施与