发布新日志

  • CMMI-评估流程

    2008-03-16 01:19:51

    前面了解了CMMI基础知识和评估方法,接下来介绍一下如何进行实施CMMI的评估.

    CMU/SEI(美国卡内基•梅隆大学的软件工程研究所)提供了一个实用的、便于理解的CMMI实施方法-IDEAL(又可称为CMMI过程改进生命周期模型).该方法建议使用CMMI进行改进软件过程的用户,按照启动、诊断、构建、实施和推进等五个阶段开展软件过程改进工作.

    • I——启动(Initiating),通过与企业高层管理者及过程改进相关涉众进行沟通,明确企业改进流程的商业目标;
    • D——诊断(Diagnosing),确定现状与目标之间的差异;
    • E——构建(Establishing),计划如何达成目标;
    • A——实施(Acting),根据计划开展工作;
    • L——推进(learning),从经验中学习,以提高未来使用新技术的能力。

    IDEAL VS PDCA

    PDCA循环(PDCA Cycle)戴明循环(Deming Cycle)

    PDCA循环的概念最早是由美国质量管理专家戴明提出来的,所以又称为“戴明环”。它是全面质量管理所应遵循的科学程序。全面质量管理活动的全部过程,就是质量计划的制订和组织实现的过程,这个过程就是按照PDCA循环,不停顿地周而复始地运转的。PDCA四个英文字母及其在PDCA循环中所代表的含义如下:

    • P(Plan)--计划,确定方针和目标,确定活动计划;
    • D(Do)--执行,实地去做,实现计划中的内容;
    • C(Check)--检查,总结执行计划的结果,注意效果,找出问题;
    • A(Action)--行动,对总结检查的结果进行处理,成功的经验加以肯定并适当推广、标准化;失败的教训加以总结,以免重现,未解决的问题放到下一个PDCA循环。
  • CMMI认证--SCAMPI评估方法

    2008-03-11 23:26:10

    一.SCAMPI:标准的CMMI过程改进评估方法 

    • SCAMPI ARC A类评估
      • SCAMPI是ARC(CMMI的评估要求)A类评估方法的SEI授权版本。SCAMPI对工作产品和面谈人员进行广泛的评审,从而得出成熟度等级或能力等级的评定。与SCE和CBA-IPI不同,SCAMPI要求花费更多的工作量在参评的项目组中,因为SCAMPI是验证而不是发现。
    • SCAMPI ARC B类评估
      • CMMI B类评估的目的是对组织的过程成熟度进行全面和彻底的评价,并依据CMMI确定组织的强项和弱项,并不试图对过程域的能力等级(连续型)或组织的成熟度等级(阶梯型)进行评定。另外一个目的是熟悉组织的过程,为将要进行的正式评估积累经验,同时为组织中将要作为评估组成员的人员提供SAT (SCAMPI Appraisal Team)培训。
    • SCAMPI ARC C类评估
      • CMMI C 类评估的主要目的是快速评价组织的过程成熟度以判定其是否可以进行更正式的评估。另一个目的是熟悉组织的过程,为将要进行的正式评估的积累经验。

    二.北京地区CMMI认证比较知名的企业:

    http://www.etesting.net.cn/web2/html/f/f1/1360.html

  • CMMI认证--CMMI,CMM,ISO9000

    2008-03-11 18:10:50

    最近公司在做CMMI认证,目前处于市场调研阶段.

    其实一直以来对CMMI,ISO9000的认知仅限于名称,对于其中的细节并不是很明确;但一直以来对ISO9000和CMMI都没有什么特别好的印象,因为就目前中国的软件企业而言这些认证仅仅是噱头而已;为了过ISO9000和CMMI认证,大家日夜加班仅仅是为了补充上认证中所要求的几项文档,而不管这套流程是否适用于本企业.

    但是不管如何,在众多云集的中国软件企业和软件外包企业中,要想得到他人的认可,认证是必不可少的敲门砖.

    本章就讨论一下CMMI,CMM,ISO9000认证之间的区别和联系.

    1.先介绍一下起源和定义

    (1)CMM:

    CMM是由美国软件工程学会(software engineering institue,简称SEI)制定的一套专门针对软件产品的质量管理和质量保证标准.

    CMM全称为(Capability Maturity Model),中文名称为能力成熟度模型.

    CMM最早始于1987年,为了满足美国联邦政府评估软件供应商能力的要求,美国卡内基-梅隆大学的软件工程研究学院SEI牵头,发布了一份能力成熟框架(Capability Maturity Framework)以及一个成熟度问卷(Maturity Qestionnaire).四年后(即1991年),SEI将成熟度框架进化为软件能力成熟度模型(Capability Maturity Model For Software,简称SW-CMM,即CMM1.0)

    自1991年SW-CMM1.0版本使用两年后,SEI与1993年又推出了CMM1.1版.

    近几年来,CMM又推出了2.0版本,同时进入了ISO体系,称为ISO/IEC15504或SPICE.

    CMM划分为五级:级别越高表明该企业在提供合格软件产品方面的能力越强.

    五级的关键过程域(KPA),共计18个过程域如下:

    • 初级(initial):描述了不成熟,或者说是未定义的过程的组织
    • 可重复级(Repeatable): 需求管理,项目策划,项目监督和控制,供方协定管理,测量和分析,过程和产品质量保证,配置管理
    • 已定义级(defined):需求开发,技术解决,产品集成,验证,确认,组织级过程焦点,组织级过程定义,组织培训,集成项目管理,风险管理以及决策分析和决定.
    • 管理级(managed):定量过程管理,软件质量管理
    • 优化级(optimizing):组织革新和部署,原因分析和决定.
    • 一个组织只要开始从事软件开始,即自动处于第1级,要通过其它等级,就需要达到统一的标准,即上述相对应等级中的各个区域过程.

    CMM的评估方法是:CBA-IPI方法(即CMM-Based Assessment for Internal Process Improvement).CBA-IPI方法是一种诊断工具,它借助识别其现行过程的优劣使一个组织能了解其软件开发能力,把这些优缺点与CMM对照起来,安排软件改时计划的优先顺序,并把注意力集中关注到最有利的软件改进上,以及给出其现行过程的成熟度等级和业务目标;此方法是受过培训的专业组对组织的软件过程能力作出评估,该组全体人员作为一个团队一起对评估范围内的CMM关键过程域进行评估和评分.此评估结果是依据所采集的数据作出的,这些数据来自问卷回答\文档审核\陈述以及与中层经理\项目负责人和软件专业人员的深层访谈.

    (2)CMMI

    自CMM1.0版本后,SEI又开发了其他成熟度模型,包括:软件工程(SW-CMM),系统工程(SE-CMM system engineering CMM),软件采购(SA-CMM,software acquistion CMM),人力资源管理(P-CMM,people CMM)和集成产品开发(IPT-CMM integrated product team CMM)等.虽然各个模型针对的专业领域不同,但是彼此之间有一定的重叠;另外,这些模型在表现形工上又有不统一之处:系统工程模型是连续式的,而其它模型采用了分级式.

    为了整合不同模型的最佳实践,建议统一模型,覆盖不同领域,供企业进行整个组织的全面过程改进,并于2001年正式发布了能力成熟度集成模型(CMMI)1.1版本,这次发布标志着CMMI的正式使用.SEI也正式宣布,将不再维护CMM的CBA-IPI评估方法.

    这里需要注意的是,SEI并没有废除CMM模型,而是以CMMI的SCAMPI评估方法取代CMM的CBA-IPI评估方法.

    CMMI的评估方法是:SCAMPI方法(即Standard CMMI Appraisal Method for Process Improvement),SCAPMPI评估方法是一种诊断工具,支持和推动组织对过程改进进行承诺.通过确认组织和一个或多个CMMI模型相关的现有过程的强/弱项,SCAMPI能够帮助组织对它自身的过程能力或组织成熟度有一个全面的了解.

    CMMI的源模型:软件CMM 2.0;电子行业协会临时标准(EIA/IS)731;集成产品开发能力成熟模型(IPD-CMMI)V0.98

    CMMI定义了五级成熟度级别,共计25个过程域:

    • 级别1(初始级):代表了不可预测结果为我自的成熟度.过程包括了一些特别的方法,符号,工作和反应管理,成功主要取决于团队的技能.
    • 级别2(已管理级):代表了以可重复项目执行为特征的过程成熟度.组织使用基本纪律进行需求管理,项目计划,项目监督和控制,供应商协议管理,产品和过程质量保证,配置管理,以及度量和分析.本级别主要的过程焦点在于项目级的活动和实践.
      •   强调级别2的关键过程域的前后一致的、项目级的纪律,以建立组织级的活动和实践。附加的组织级过程域包括:
        • 需求开发:多利益相关者的需求发展。
        • 技术方案:展开的设计和质量工程。
        • 产品集成:持续集成、接口控制、变更控制。
        • 验证:保证产品正确建立的评估技术。
        • 确认:保证建立正确的产品的评估技术。
        • 风险管理:检测、优先级,相关问题和意外的解决方案。
        • 组织级培训:建立机制,培养更多熟练人员。
        • 组织级过程焦点:为项目过程定义建立组织级框架。
        • 决策分析和方案:系统的可选的评估。
        • 组织级过程定义:把过程看做组织的持久的发展的资产。
        • 集成项目管理:在项目内统一各个组和利益相关者。
    • 级别3(严格定义级)代表了以组织内改进项目执行为特征的过程成熟度.
    • 级别4(定量管理级)代表了以改进组织性能为特征的过程成熟度.3级项目的历史结果可用来交替使用,在业务表现的竞争尺度(成本,时间,质量)方面的结果是可预测的.级别4附加的过程域包括:
      • 组织级过程执行:为过程执行设定规范和基准.
      • 定量的项目管理:以统计质量控制方法为基础实施项目.
    • 级别5(优化级)代表了可快速进行重新配置的组织性能和定量的,持续的过程改进为牲的过程成熟度.级别5的附加过程域包括:
      • 因果分析和解决方案:主动避免错误和强化最佳实践
      • 组织级改革和实施:建议一个能够有机适应和改进的学习组织.

    (3)软件企业ISO9000质量管理体系认证

    软件企业贯彻实施ISO9000质量管理体系认证,应当选择质量保证模型标准ISO9001,ISO900-3作为软件企业实施ISO9001质量保证模型标准的实施指南,通过对软件产品从市场调查,需求分析,软件设计,编码,测试等开发工作,直到作为商品软件销售,以及安装及维护整个过程进行控制,保障软件产品的质量.

     

    2.CMM,CMMI,ISO9000之间的联系和区别

    (1)CMM和CMMI的联系及区别:

    • 联系:
      • CMMI即CMM集成,是系统工程和软件工程的集成成熟度模型,CMMI更适合于信息系统集成企业。CMMI是在CMM基础上发展起来的,它继承并发扬了CMM的优良特性,借鉴了其他模型的优点,融入了新的理论和实际研究成果。它不仅能够应用在软件工程领域,而且可以用于系统工程及其他工程领域。
    • 区别:
      • 从等级划分上看,1,3,5级的名称没有变化,均是初始级,已定义和优化;但是2级和4级分别定义为已管理级和定量管理级,这个变化更突出了CMMI定性管理和定量管理的特点.
      • CMMI共有分属于4个类别的25个过程哉,覆盖了4个不同的领域;相对应的CMM共有18个过程域.
      • CMM基本活动的度量方法和瀑布过程的有次序的,基本活动的管理规范有非常密切的联系,更适合瀑布型的开发过程;而CMMI相对CMM更一步支持迭代开发过程和经济动机推动组织采用基于结果的方法:开发业务安全,构想和原型方案,细化后纳入基线结构,可用发布,最后确定为现场版本的发布.
      • CMMI比CMM进一步强化了对需求的重视.在CMM中,关于需求只有需求管理这一个KPA,也就是说强调对有质量的需求进行管理,而如何获取需求则没有提出明确的要求;在CMMI中,3级有一个独立的KPA叫做需求开发,提出了对如何获取优秀的需求的要求和方法.
      • CMMI对工程活动进行了一定的强化.在CMM中只有3级中的软件产品工程和同行评审两个KPA是与工程过程密切相关的;而在CMMI中,则将需求开发,验证,确认,技术解决方案产品集成这些工程过程活动都作为单独的KPA进行了要.
      • CMMI3级中单独强调了风险管理,而在CMM中把风险的管理分散在项目计划,项目跟踪与监控中进行要求.
      • 从评估方法上看,随着CMM过渡到CMMI,其CAF(CMM,Assessment Frame-work)框架变成评估需求(ARC:appraisal requirements for CMMI);IPI-CBA 的评估方法 被 SCAMPI方法替代.

    (2)ISO与CMMI的联系及区别:

    • 联系:两者都共同着眼于质量和过程管理
      • 目前2000版的ISO更多的和CMMI有直接对应的关系,甚至是大量的CMMI4和CMMI5级的要求.
    • 区别:
      • CMMI是专门针对软件产品开发和服务,而ISO9000涉及的范围则相当宽.
      • CMMI强调软件开发过程的成熟度,即过程的不断改进和提高.而ISO9000则强调可接收的质量体系的最低标准.

     

Open Toolbar