由 “敏捷开发”PK“CMMI”引起的思考和困惑
我曾是CMMI咨询师,离开“CMMI 咨询”这个圈子也有一、两年了,久不参加行业内的活动,很想了解行业动态。因此,上个月积极参加了软件行业协会的过程改进年会,见到过去的老同事,老朋友、老同行,非常高兴。其中,观看了一场辩论赛,收获不少,也由此引发了思考和困惑。
“敏捷开发”PK“CMMI”,从辩论赛的角度,还是很热闹的,唇枪舌战了一番。 “CMMI”一方因为大都是咨询师,口齿伶俐些,引经据典,“敏捷开发(Agile)”一方大都来自企业,有实际感受,却难以上升到理论高度。所以一旦说到理论,立刻就会被C方压倒,最后的辩论结果也是C方大获全胜。其实谁胜谁负并不重要。组织者和主持人也说了,并非CMMI和敏捷开发互相排斥,只是想以这种极端的方式让大家把软件工程领域的不同观点表示出来,供业内人士探讨。我虽熟悉CMMI,但对敏捷开发并无研究,这场辩论赛让我了解了很多东西,确实挺感谢组织者和双方辩手的。但有些问题一直困扰在我脑子里,久久找不到答案。
我对敏捷开发只知道大概,没有实践过,所以自认没有太多发言权,听辩论,似乎敏捷开发更能支持企业业务目标的实现,因为它的要旨就是“快速响应”,快速响应客户的需求,市场的需求,并且由于将广大的工程师从繁锁的流程和文档中解放出来而受到欢迎。I CMMI重在“成熟度”,成熟度的背后是能力,解决的是组织的过程要有序,有规矩;当然也反复强调要从企业的业务目标出发,但是由于其内容和要求较多,实际上操作起来是否能很好支持“业务目标”恐怕真是值得业界人士好好研究探讨一番的。
比如过程改进人员如果不懂业务,如何能推进过程改进活动?这是观众提出来的一个问题,如果仅从答辩的角度,不难回答,可以说过程改进活动是有很多种的,有层次的,不是非懂业务不可的,可以做组织和协调工作,一样可以推动过程改进。C方的辩手基本回答得也是这个意思。我却觉得实际上这个问题很不好回答。过程改进活动的确需要有人组织和协调,但是如果没有相当的职位,很难组织起来,而有几家公司会对不懂业务的人员委以重任呢? 这也反映了目前企业实施CMMI的一个现状,很多企业根本不舍得投入业务骨干来做过程改进,骨干一般都很忙,根本没有精力做额外的工作。名义上,企业的EPG里有很多人,包括项目经理等绝对骨干,但主要干活的都是那几个 QA人员,我当年做咨询时,甚至有个客户要安排公司的行政人员参加EPG,被我坚决反对才换了人。
而我现在的公司在咨询师眼里,那可是绝佳的客户呢!
我们有个质量部,专门负责ISO9000的工作,老板对流程执行极为重视,各级管理者反复强调,连大部分普通员工也都有流程和规范的意识,甚至个别员工还知道拿“不遵守流程”去攻击其他同事。
但是大家经常发牢骚的就是“事事都要按照流程来”,明明都火烧眉毛了,还在那里慢吞吞得走流程。而真正要应付领导,似乎也不难,因为QA人员只会查查模版对不对,挑挑错别字什么的。
过程改进年会上,听神州数码的一位副总介绍,他们也是同样有很多困惑,CMMI做到了4级,却感觉越来越没啥用似的。他举了个例子,写风险管理计划,每个项目都写得差不多, 如风险 -“客户需求会变更”,应对措施-“加强和客户的沟通,引导需求”,风险-“工期太紧张,不能按时交付:,应对措施-“加班,加人”,写这些到底意义在哪里呢?
本公司、神州数码遇到的这些问题,如果以咨询师的角度,都能回答出一堆道道来。比如要留下记录啦,要注重实效啦等等。但是今天,当我自己不再是EPG Leader,不再是咨询师,而是公司核心运营部门的负责人时,我所关注的与从前完全不同,我不关注与CMMI的符合度,我关注的是如何高效得解决关键问题(“关键”二字极为要紧),如何有效得避免类似问题。
那么,究竟应该怎么实施CMMI呢?“敏捷”思想又怎么和CMMI搞平衡呢?
分享到:
相关推荐
敏捷开发和CMMI是两种不同的软件开发方法论,它们分别代表了开发流程的灵活性与规范性的两个极端。敏捷开发注重快速响应变化,强调迭代和合作,而CMMI则致力于建立稳定的流程,提高过程成熟度。 CMMI,全称软件能力...
CMMI敏捷整合开发则是将这两种方法进行整合,以便在遵守CMMI标准的同时,采用敏捷方法快速响应变化,提高项目的灵活性和效率。 在CMMI敏捷整合开发中,第一个需要掌握的知识点是如何将CMMI模型与敏捷方法相融合。...
在当前的软件开发环境中,敏捷方法论已经成为许多组织首选的项目管理框架,它强调灵活性、迭代和快速响应变化。然而,随着敏捷理念的普及,如何将传统的质量管理模型,如CMMI(能力成熟度模型集成),与敏捷测试相...
探索开发模式之 CMMI、RUP、MSF 和敏捷 软件开发行业中有多种开发模式,但 CMMI、RUP、MSF 和敏捷四种模式是当前最流行的。每种模式都有其特点和优缺,了解这些模式的特点和应用场景是非常重要的。 CMMI...
CMMI(Capability Maturity Model Integration)和敏捷(Agile)都是软件开发过程改进方法,但它们在哲学、方法和应用领域存在着明显的差异。为了帮助软件项目经理、架构师和过程改进相关人员更好地理解和选择合适的...
在软件开发领域,CMMI (Capability Maturity Model Integration) 和敏捷开发方法经常被视为对立面。然而,这份PPT资料明确指出,CMMI和敏捷并非不可调和的对手,而是可以相辅相成的伙伴。以下将详细探讨CMMI与敏捷...
CMMI.敏捷整合开发:更快改进性能的案例与实用技术].Paul.E.McMahon.扫描版
cmmi VS 敏捷,关于cmmi和敏捷的比较,很有意思。
CMMI 软件开发流程是 Capability Maturity Model Integration(能力成熟度模型集成)的软件开发流程模型,旨在提高软件开发的质量、效率和可靠性。该流程模型由多个阶段组成,每个阶段都有其特定的目标、输入、处理...
为了更有效地理解如何使用能力成熟度模型集成(CMMI)来提高敏捷性能,我们需要深入探讨敏捷开发和CMMI两者的基本概念,以及它们如何相互作用以帮助组织产出更优秀的软件。我们还将了解敏捷实践和技术,以及CMMI提供...
**CMM和敏捷开发概述** CMM,全称为Capability Maturity Model...综上所述,CMMI和敏捷开发并非对立,而是互补的。理解并结合两者的优点,可以帮助组织构建既规范又灵活的开发环境,以更好地适应不断变化的业务需求。
6. CMMI与敏捷开发:传统上,CMMI被看作是更适合大型、文档化和计划驱动的项目管理方法。但是近年来,CMMI也在逐步与敏捷方法相结合,以适应快速迭代和变化的需求。 7. CMMI的商业价值:通过实施CMMI模型,企业能够...
公司项目需要利用敏捷开发模式进行开发,故在CSDN上进行相关资料的查找搜集。27个资料,293 MB,花费了150多积分.现将所有查到的文档进行分包压缩,贡献给大家。因为实在花的积分过多,请原谅我不是无偿的。每个...
【2012敏捷开发大会PPT】是一个集合了多位业内专家在敏捷开发领域的深度分享,涵盖了一系列关于敏捷开发理念、实践以及转型策略的主题演讲。这些演讲内容旨在推动软件开发团队更加高效、灵活地应对快速变化的需求,...
CMMI提供了从初始级到优化级的五级成熟度模型,旨在帮助组织提高其过程性能,确保软件开发的质量、效率和可靠性。本压缩包包含的“过程体系文件_CMMI_VER1.0.0”涵盖了整个软件开发过程中所需的文档,是按照CMMI标准...
CMMI模型的核心思想是通过对组织内软件开发过程的评估和改进,提高软件开发的质量、效率和可靠性。 需求开发指南是CMMI模型中的一部分,旨在指导软件开发团队如何将需求从收集、分析、制定、跟踪、验证和确认,直到...
**CMMI(Capability Maturity Model Integration)**是能力成熟度模型集成,是软件行业内广泛采用的一种过程改进框架,旨在提升组织的软件开发能力和产品服务质量。CMMI涵盖项目管理、过程管理、质量管理、配置管理...