公司去年下半年刚刚通过CMM5 认证,对于国内企业来说,通过这个认证需要相当的实力和软件管理水平。当然,从软件管理上来讲,我们采用的是传统的瀑布模式,但是目前我们也想在公司的一些部门推广使用敏捷的办法,尤其是Scrum。公司现有的规章制度不能改变,还是要严格遵守CMM/CMMI 的一些要求,我不是特别清楚Scrum 与CMM/CMMI 的关系,另外还有ISO9001的这样的质量标准,他们之间有冲突吗?
ISO9001 是一个国际标准,即《ISO9001:2000 质量管理体系——要求》ISO9001标准起源于制造业,其标准结构、质量体系特点都与制造业非常吻合。随着市场经济的发展和市场竞争的愈加激烈,除了机械、电子、汽车、建筑等传统产业的企业认为ISO9001 质量体系认证必不可少外,其他行业,如IT、通信、服务业(酒店、物业管理等)等也在如火如荼地推行ISO9001 认证。而CMM 是由美国卡内基·梅隆大学的软件工程研究所(SEI)开发的软件成熟度模型,美国的软件企业往往选择取得CMM 等级证书。
在形式上,CMM 分为5 个等级(第1 级级别最低,第5 级级别最高),与ISO 9000审核后只有“通过”和“不通过”两个结论相比,CMM 是一个动态的过程,企业在取得低级别的证书后,可根据高级别的要求确定下一步的改进方向。在基本原理方面,ISO9001 和CMM 都十分关注软件产品质量和过程改进。尤其是在ISO 9001 标准增加了持续改进、质量目标的量化等方面的要求后,在基本思路上和CMM 更加接近。而所谓的CMMI 是在CMM 的基础上相继开发出了系统工程、软件采购等各方面的能力成熟度模型,并整合而成的一种更为复杂、宏大的模型系统,但基本思想和CMM是没有很大区别的⋯⋯
ISO9001 以及CMM 或者CMMI,这些都是比较接近或者类似的软件管理模型方法,而这些方法相对于Scrum 这种敏捷的软件开发管理方式而言,还是有比较大的差别的。比如,CMM 等强调过程的可观测性,Agile 则强调可观测的结果(可运行软件),CMM 等方法比较强调文档,而Agile 方法却不是那么在乎文档等。
总体而言,CMM/CMMI 与Agile 是两种不同的软件研发管理和过程体系,前者比较重量级,后者更为轻量一些。Agile 包含了更多具体、实用的软件工程技术方法,而CMM/CMMI 提供了更多以数学统计为基础的过程管理和质量控制技术方法。但是这并不是说Scrum 在一个CMM 管理的企业中一定会带来冲突。
我认为,合理、恰当的结合运用Scrum 以及CMM 的一些管理理念是不会有太大问题的。因为在很多软件过程中,使用Scrum 能够在一些专门的领域大大减少工作量,比如修改Bug、软件设计等方面。也就是说,可以在大的、更为宏观的层面上使用CMM 来控制质量和管理流程,而在一些小团队的具体分工中采取Scrum 这样的敏捷方法。所以,从总体上说,在实施层面上Scrum 与CMM/CMMI 应该是兼容的。但是从价值观来看,敏捷和CMM/CMMI 又是冲突的。CMMI 的价值观是过程重于人,文档重于可运行的软件。敏捷则正好相反。敏捷是要消除一切阻碍创造价值的浪费。而在CMMI 的大量关键过程域中,只有很少的东西和开发有关,大多数CMMI 的实施都会带来很大的浪费。另一方面,CMM/CMMI 不关心团队协作,不关心是否能招到合适的人,更不关心你的代码是否应该重构⋯⋯
在以后的时间里更深入地研究、实践这个问题,甚至是一些更为细节的管理问题,比如CMM 要求的文档的问题Scrum 团队应该如何应对等。我想应该可以找到一个很好的平衡点。
分享到:
相关推荐
同时,与敏捷方法和现代企业管理理念的冲突,使得CMM/CMMI在某些情境下并不理想。因此,企业在选择过程改进模型时,需要根据自身的业务特性和团队文化,灵活调整并融合多种方法,以找到最合适的软件开发和管理策略。
然而,CMM/CMMI不直接解决盈利问题,其改进效果显现需要较长时间,可能与企业追求短期效益的目标冲突。 **3. ISO9000** ISO9000是一套适用于各行业的质量管理和保证标准,但在IT研发管理中,其专业性不足,对软件...
2. **CMM/CMMI(Capability Maturity Model/Continuous Maturity Model Integration)** - CMM/CMMI是衡量和改进软件过程能力的国际标准,旨在提高质量、生产率并降低成本。 - 虽然CMM/CMMI提供了过程改进的指导,...
XP强调代码质量,自动化测试,以及频繁的集成,与Scrum一起,形成了一套强大的敏捷开发工具箱。 总的来说,Scrum和Agile提供了一个框架,使团队能够灵活应对需求变更,提高生产力,通过迭代和增量开发,确保软件...
青铜器研发管理软件RDM_IPD+CMMI+Scrum一体化研发管理解决方案, 1、IPD确保方向的正确性,强调市场驱动、投资回报,将市场、财务、竞争、技术有效融合为一体; 2、CMMI强调规范化、精细化管理,将IPD的策略落实为...
IPD+CMMI+Scrum一体化研发管理解决方案 本文将对IPD+CMMI+Scrum一体化研发管理解决方案进行详细的知识点整理和解释。这个解决方案旨在帮助企业解决研发管理面临的各种问题,提高研发效率和质量,提高企业的核心竞争...
阅读《硝烟中的Scrum和XP-SCRUM与极限编程》可以帮助你理解这两种敏捷方法如何协同工作,提升软件开发效率。通过学习Scrum的迭代管理和XP的编程实践,你将能够更好地应对项目中的不确定性,为客户提供更优质、更适应...
### IPD+CMMI+Scrum一体化研发管理解决方案 #### 一、企业研发管理面临的挑战与痛点 在当今快速变化的市场环境中,企业面临着越来越多的研发管理挑战。这些挑战不仅涉及项目进度、成本控制,还包括人才流失、知识...
第三个知识点是敏捷开发中的Scrum框架与CMMI的结合。Scrum是一种敏捷框架,它定义了角色、活动和工件,以便高效地管理复杂产品。CMMI敏捷整合开发中,可以在Scrum框架的基础上引入CMMI的实践,比如质量保证活动、...
TUTOS 是 _T_he _U_ltimate _T_eam _O_rganization _S_oftware,一个基于网络的软件系统,用于管理您和您的团队的约会、地址、项目、任务、错误、邮箱、文档、笔记、测试、冲刺、活动以及您在这些事情上花费的时间。
例如,Scrum的Sprint周期和回顾会议可以与XP的持续集成和结对编程相结合,提供一个既注重过程管理又强调技术实践的环境。Scrum的Sprint待办事项列表可以借鉴XP的编程实践,如TDD,以确保每个Sprint产出的软件是高...
"SCRUM实施与检查列表"是指导团队有效执行Scrum方法的工具,旨在确保所有关键环节都得到充分考虑和执行。这个检查列表通常包含以下部分: 1. **角色**:Scrum有三个核心角色——产品负责人(Product Owner)、Scrum...
Scrum是一种敏捷软件开发方法,主要用于项目管理和产品开发过程中的迭代与增量式交付。它强调团队协作、自组织、跨功能性和持续改进。Scrum的核心是通过固定周期的冲刺(Sprint)来实现快速反馈循环,帮助团队在不...
**解析**:本题目集旨在帮助考生通过Scrum Master (CSM) 认证考试,该考试评估考生对Scrum框架、原则及实践的理解与应用能力。 #### 描述:100%原题,保证你拿到价值RMB 7000的CSM证书 **解析**:这段描述强调了...
Scrum 教材总结 Scrum 是一种敏捷开发框架,对于软件开发和项目管理非常重要。本文将对 Scrum 的起源、Scrum 模型、Scrum 框架、现状和为什么会失败等方面进行详细的介绍。 一、Scrum 起源 Scrum 的 idea 来自于 ...