CMMI基础知识扫盲


前言

CMMI的全称为Capability Maturity Model Integration,即能力成熟度模型集成。CMMI是CMM模型的最新版本

一、几个热点问题

1、cmmi与软件项目管理有什么关系?
2、cmmi到底能对it企业有什么帮助?
3、不同的cmmi等级有多大区别?
4、企业文化与过程改进的关系?

二、几个关键概念

1、CMMI:Capability Maturity Model Integratio 能力成熟度模型集成
2、CMMI1.2:
三种:1)cmmi-dev:针对软件研发
2)cmmi-acq:面向采购
3)cmmi-svc:面向服务
3、SEI:美国软件工程学院
4、cmmi等级
在模型中,所有软件组织的软件能力成熟度划分为5个等级-1~5,数字越大,成熟度越高。高成熟度等级代表比较强的综合软件能力。
5个成熟度等级分别为:
1: 初始级
2:受管理级
3:已定义级
4: 定量管理级
5: 持续优化级

三、企业的商业目标

1、加快进度
相同的项目规模,需要更少时间完成
2、减少成本
相同的项目规模,需要更少的成本
3、提高质量
相同的投入情况下,质量更高
4、终极目标:利润更高

四、企业的商业目标与cmmi的关系

cmmi是为了支持企业的商业目标的
cmmi不是用来增加管理成本而不提高收益的
更高级别的企业,她的效能应该更高,效能=收益/投入

五、CMMI等级 5个成熟度

等级分别为:

      1: 初始级 
       特点: 不做计划,随性而为
       可能存在问题:超支预算、重口难调、不欢而散
           
       2:受管理级
       	特点:定预算(	需求管理RM)、识别人性格看其适合什么(需求管理RM)、统计排期情况(度量MA)、做计划(项目计划PP)、资源调度(采购SAM)、督促进度(项目计划跟踪PMC)、管理统计文档(配置管理CM)、监督(质量保证PPQA)
       	可能存在问题:缺少风险管理、没有形成规范    
       	   		
       3:已定义级
       特点:形成规范:文档(如何做...-RD、TS、VER、VAL、PI项目集成、PIM项目集成管理);决策分析的方法DAR、进行风险管理RSKM、建立培训制度OT、成立专门的责任过程改进OPF OPD
       可能存在问题:没有数字(数据分析)说明问题
       
       4: 定量管理级
       特点:(积累了大量CPI、SPI数据、积累了满意度数据、数据在某一个范围内波动、根据CPI、SPI,可预测最终成本,通过数据进行监控)
       根据历史数据,算出了性能基线、性能模型(组织过程性能OPP);
       利用性能基线、性能模型进行定量管理(定量项目管理QPM)
       
       还能继续优化方向:原因分析、采用新技术、公司定下新的目标
       
       5: 持续优化级
       特点:
       原因分析(CAR):对一些特殊问题,特殊情况进行分析,可以得到改进过程的机会。对过程的改进后,我们的性能会提高
       组织革新与部署(OID)
       	1)、采用新技术:针对问题采用相关技术解决,提高了效率和满意度
       	2)、公司定下新的目标:(eg:预算的偏差率老板不满意,要求改进;SEPG(软件工程过程小组)非常紧张,需要投入大量的人力物力分析如何改进,SEPG发现导致偏差的地方在与某个方面)
       		SEPG(软件工程过程小组)定下了改进计划,修改了某些过程,对选择进行了标准.
      	 	分析实行结果后,SEPG把过程正是推行,最终满足了老板的要求.

六、统计过程控制(CMMI4、5级核心内容)

不稳定的过程与稳定的过程
项目性质、项目规模、人员水平->不稳定的过程->输出不稳定
在这里插入图片描述
项目性质、项目规模、人员水平->稳定的过程(CMMI4)->输出稳定
在这里插入图片描述

什么是更加有能力
项目性质、项目规模、人员水平->稳定更有能力的过程(CMMI5)->输出更稳定并更满足要求
在这里插入图片描述

如何让过程更加优能力
1、改进过程;2、引入新技术;3、原因分析

七、思考:CMMI是不是越高级越好?

1、不是越高级越好
2、稳定重复做某类项目时,才适合做4、5级
3、创新型公司,不宜做4、5级,一般来说3级要比2级好
4、符合公司商业目标的才是最好的

八、CMMI的常见问题

1、造假文化
2、空降大行动:空降文档、空降兵
3、外行指挥内行
4、没有全员参与
5、没有投入公司内部精英
6、拔苗助长

九、过程改进最佳实战

1、由无到有,循序渐进
2、内部人员做SEPG(软件工程过程小组)核心成员,并且占至少一半比例
3、总结工作中的最佳实战,提炼为过程
4、只制定能执行的过程
5、不要拘于2级还是3级,有用的就做!
6、不要被CMMI理论’套’住,实用是第一原则
7、打造‘分享、总结、改进’的企业文化
8、以人为本

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: SQA(软件质量保证)是指在软件开发过程中,通过制定各种测试策略和方法,对软件进行全面的测试和评估,以确保软件质量的一项工作。尽管SQA领域的知识非常广泛,但以下是SQA所需的基础知识: 1. 软件开发生命周期(SDLC):了解SDLC的各个阶段,例如需求分析、设计、编码、测试和部署等。对于每个阶段的活动和交付物有一定的了解可以更好地定位SQA的职责和活动。 2. 软件测试基础知识:具备软件测试的基本概念、原则和方法。了解不同类型的测试(如单元测试、集成测试、系统测试、验收测试),以及测试活动中的规划、设计、执行和报告等方面的知识。 3. 编程和脚本语言知识:熟悉至少一种编程语言,例如Java、Python或C #等。同时理解脚本语言(如Shell或JavaScript)对于自动化测试和工具脚本编写非常有帮助。 4. 软件质量标准和规范:了解软件质量相关的标准和规范,例如ISO 9000系列、CMMI、IEEE标准等。这些标准可以指导SQA活动和过程,确保软件开发符合最佳实践。 5. 软件配置管理:了解软件配置管理的基本原理和方法。在SQA中,配置管理起着关键的作用,确保软件版本控制、配置项管理和问题跟踪等工作的有效性。 6. 软件缺陷管理:了解缺陷管理的基本概念和流程。了解如何有效地识别、跟踪、修复和验证软件缺陷,以提高软件质量。 7. 软件度量和报告:了解如何制定和收集有关软件质量和测试活动的度量指标。同时,能够使用适当的工具和技术生成高质量的测试报告。 除了上述基础知识外,还需要有良好的问题解决和分析能力,以及团队合作和沟通能力,能够有效地与开发人员、业务用户和其他相关部门进行合作。SQA的工作也需要保持学习和持续改进的态度,以跟随不断发展的软件开发和测试技术。 ### 回答2: SQA(软件质量保证)是一种保证软件开发过程中质量的方法。需要掌握一些基础知识才能有效地进行SQA工作。 首先,对软件开发生命周期有一定的了解是很重要的。熟悉从需求分析、设计、编码、测试到部署的整个过程,能够理解每个阶段的目标和活动,为SQA工作提供基础。 其次,对软件质量标准和规范要有一定的了解。例如ISO 9001、CMMI和IEEE标准等,了解常用的质量标准和要求,能够根据实际情况进行适配和实施。 此外,需要了解测试的基本原理和方法。掌握测试的各种技术和工具,包括黑盒测试、白盒测试、性能测试、回归测试等。还需要了解测试的策略和计划制定,以及测试用例的编写和执行。 此外,对软件缺陷管理和追踪工具也需要有所了解。熟悉使用常见的缺陷管理工具,能够进行缺陷的跟踪和分析,协助开发人员和测试人员进行问题的解决。 最后,沟通和协作能力也是进行SQA工作所需的基础知识之一。需要与开发人员、测试人员和其他相关团队进行有效的沟通和合作,以便及时解决问题和保证项目的顺利进行。 总而言之,进行SQA工作需要掌握软件开发生命周期、质量标准和规范、测试原理和方法、缺陷管理工具以及良好的沟通和协作能力。这些基础知识能够帮助SQA工程师提高工作效率和质量,保证项目的成功。 ### 回答3: Software Quality Assurance (SQA) 是软件开发过程中确保软件质量的关键环节,需要掌握以下基础知识: 1. 软件开发生命周期:对软件开发过程及其各个阶段的了解,包括需求收集、分析、设计、编码、测试和维护等。 2. 测试方法学:熟悉各种测试方法和技术,例如黑盒测试、白盒测试、灰盒测试、单元测试、集成测试和系统测试等。 3. 编程知识:了解至少一种编程语言,以便能够理解和阅读代码,编写自动化测试脚本,并与开发人员进行有效的沟通。 4. 软件质量标准和准则:了解关于软件质量的标准和最佳实践,例如ISO 9000系列,CMMI和IEEE标准等。 5. 缺陷管理:熟悉如何报告、跟踪和解决软件缺陷,使用缺陷跟踪工具来记录和监控缺陷的状态。 6. 测试工具和环境:掌握一些常见的测试工具和环境,如测试管理工具、自动化测试工具、性能测试工具和虚拟化工具等。 7. 配置管理:了解软件配置管理的概念和方法,包括版本控制、变更管理和发布管理等。 8. 软件安全知识:理解软件安全的基本概念,如鉴权、认证、授权、安全漏洞和威胁模型等。 9. 团队合作和沟通能力:作为SQA人员,需要具备与开发人员、项目经理和其他相关利益相关者进行有效沟通和合作的能力。 10. 持续学习和改进意识:软件行业发展迅速,SQA人员需要不断学习和更新知识,关注最新的测试趋势和工具,以提高自身的专业能力。 总之,SQA需要全面了解软件开发生命周期、测试方法学,具备编程、软件质量标准和缺陷管理的知识,并且要掌握各种测试工具和环境。同时,团队合作和沟通能力,以及持续学习和改进的意识也是SQA人员必备的基础知识

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值