如何在大型开发组织的敏捷团队中实施CMMI

近年来,敏捷开发方法能够更好地适应现代软件开发,逐渐发展成为一种主流开发方法,也正在改变着软件开发过程。然而,敏捷开发方法常常被认为同CMMI过程无法共存,因为CMMI被看做是以规格化方法控制软件开发过程。

2008年,Hillel Glazer, Jeff Dalton, David Anderson, Mike Konrad 和 Sandra Shrum出版了《CMMI和敏捷方法:为何不彼此相容》一书,为那些既想保持项目过程可控又想体验敏捷开发灵活性的开发组织开启了一扇窗口。CMMI过程管理通常被看作实施敏捷开发的障碍,看作自组织团队的敌人,因为CMMI组织和敏捷团队具有不同的文化背景,这也导致了很多误解。比如,敏捷团队很少使用“可预测性”一词,但是“可预测性”却是CMMI过程管理模型的关键所在。

另一方面,CMMI是一个跨组织的方法,CMMI的严格执行可以改进软件质量和控制软件开发成本,尽管执行CMMI过程管理会花费开发组织的很多精力。

项目管理者往往倾向于采用CMMI过程管理,而开发组织内部的那些自组织的开发团队却并不认可,甚至把CMMI过程管理视为项目的一大危险。对立的两者如何才能统一起来?大型开发组织的自组织敏捷团队如何才能满足软件开发成熟度(2级到3级)呢?

消除语言障碍

让对立的两者统一起来,首先要解决的问题是语言沟通障碍。为了使敏捷传道者或过程管理工程师能使用同一语言跟使用不同技术的开发团队沟通交流,就需要使用一种名为“元语言”的现代技术交流方法。使用元语言,你要能保证团队成员能够把元语言转化成他们的自然生命周期语言。举一个例子,一个PMP爱好者经常谈论“功能需求”,但是敏捷团队成员却喜欢使用“用户故事”一词。他们在谈论着同一个概念,但是却使用着具有不同意义的词汇。在这个例子中,你可以统一使用“规格说明”作为元语言,使两者都乐意接受并且统一认识。

元语言是统一敏捷开发过程和CMMI过程管理的关键。如果CMMI传道者、项目管理者和敏捷成员能用统一的元语言进行沟通交流,那么才能消除语言障碍,才能保证沟通交流通畅。

比如,在需求开发阶段,敏捷开发者和普通开发者就可以使用元语言来统一他们各自的生命周期语言。如下表所示:


Metalanguage Term

元语言


Formal Methodology

正规开发方法


Agile Methodology

敏捷开发方法


Goal

目标


Functional Scope

功能范围


Epic

史诗故事


Business Case

业务用例


Use Cases

用户用例


User Story

用户故事


Appliance

应用需求


Scenario Requirements

场景需求


Acceptance Conditions

验收条件


Review

复查


Periodical Tracking Meeting

定期走查会


Retrospective

项目回顾

图1:列举客户需求开发阶段的一些元语言

识别和使用统一的元语言就要求:CMMI过程管理的传道者能识别元语言,统一元语言,缩小同成熟度模型之间的的差异,而且,还必须认识到元语言需要不断的扩展和提炼,这是一项没有终点的工作。

图 2:你能否识别出这是产品未完成清单还是需求清单?理想情况是你能把你自己的生命周期模型应用于公共模型。

时间: 2024-10-31 16:28:05

如何在大型开发组织的敏捷团队中实施CMMI的相关文章

敏捷团队中的QA由来

QA,全称为Quality Analyst,即质量分析师(有些称为Quality Assurance,即质量保证师).为什么它总跟质量扯在一块?感觉这个角色明明做的都是测试的事情,为什么不直接叫做tester那?敏捷项目中的QA日常都做什么事情那?可能一大推问题都会冒出来.别急,跟着我这篇文章来一步步的回答这些问题. 假设现在有一个保险公司,他想找一个软件公司做一个在线卖保险的系统.那么这个系统从开始到完成至少需要三个角色. Business owner -> developer -> end

各种开发方法在敏捷领域中的价值

本文还总结了一个集成方法的价值主张--使用 Rational Method Composer 来文档化开发方法,并使用 Jazz 方法来自动化这些方法的制定.后续的文章将涉及记录和制定方法的各种场景. 方法 是团队协力实现其目标的工作方式.它描述如何确定和分配责任.要应用哪些技术.如何确定成功的标准,以及如何达到这些标准. 曾经,方法是位于布满灰尘的绑定者中的静态文档--是强制性的,但几乎无法理解和应用.团队在最低限度地应用方法,以便不引起流程警察的注意.几年的时间很快就过去了,敏捷的革命已经推

敏捷时代的建模:敏捷团队的扩张除了代码还需要什么?

敏捷方法已经成为了当前软件开发的主流模式,可工作的代码(以及自动化测试)被认为是团队最重要的产出. 那么是否不再需要建模了呢?UML真的已死?我并不这么认为. 在本文中,我将探索在敏捷时代,建模方法依然适用并且扮演关键角色的所在.尤其在开发规模扩张到多个团队后,对整个系统的"Big Picture"达成共识将变得非常关键. 敏捷中的"设计"在哪里 虽然代码表现了事实,但它并没有表现事实的全部 – Grady Booch 在开篇部分,我将描述一个使用Scrum的敏捷团

简述测试在敏捷项目中的重要性

本文是一位测试专家对该文做出的回应. 就如同已经灭亡的皇室(国王已经消逝了,但是皇后却将永存),我们 的软件开发正传递着类似的呼声:"测试已死,我们再也不需要测试人员了!"但随之你会发现,哎呀,客户不满意,最后 又回到"测试万岁",但这次是更好,更完整,更有效的测试.就如同历史上众多的复辟王朝(我最喜欢皇后伊丽莎白1世 )一样,测试将强有力地帮助重新定义事物完成的方式以及它们的工作原理. 我打赌你现在正在想这不过 是自我吹嘘而已,但是,事情是这样发生的: 让我们讨论

业务分析师在敏捷项目中的作用

敏捷http://www.aliyun.com/zixun/aggregation/13764.html">软件开发实践的文化中存在着一个断层,该断层同样体现在许多敏捷团队中.这个断层就是业务分析人员在敏捷项目中的角色--谁来担任这个角色?它的作用 和价值是什么?它又是如何发生改变的?这种情况的潜台词(其实我曾至少听人说过一次)就是:"我们不需要什么见鬼的分析师!".无需赘言,我当然认为这是 大错特错!在本文中,我证明如下观点:只要以正确的方式向业务看齐,业务分析师就可

敏捷团队的组织与管理--- MPD软件工作坊培训感想(下)

注:由麦思博(MSUP)主办的2013年亚太软件研发团队管理峰会(以下简称MPD大会)分别于6月15及6月22日在北京.上海举办,葡萄城的部分程序员参加了上海的会议,本文是参会的一些感受和心得. 今年的大会延续往届模式,以产品创新.团队管理.架构设计.开发管理.测试管理等五个维度作为五个分会场的主题.对于今年来在软件研发中百谈不厌的敏捷开发的问题,大会从团队管理.开发管理等多个角度为与会者全面剖析敏捷开发中所涉及的种种问题,不单单聚焦于敏捷开发本身,更将视线拓展到管理整个敏捷开发团队上. 讲师都

如何打造敏捷团队 这是一场思想观念上的变革

ShineScrum公司创始人及国际Scrum联盟认证培训师(CST)--Jim Wang王军,10月15日受邀参加2016杭州云栖大会云效专场分论坛,现场为大家带来<How To Make Your Organization Agile?>演讲,为大家揭示敏捷领导力背后可以遵循的原则.云效专场分论坛以"用技术驱动企业提效"为主题,邀请业内多位技术大咖进行专题分享,共同演绎技术魅力!     敏捷,目前是互联网开发领域经常被谈及的热词,在Jim看来,敏捷是一场自上而下的变革

敏捷测试中理想的测试组织

近些年,在软件项目中非常流行一个词--敏捷.大大小小的项目,通常都包含着"敏捷"这个 关键字.其实敏捷本身是一种优化的思想,是软件工程发展到一定阶段后的产物.面对风云变幻的市 场,都希望迅速响应市场或客户的变化.但如何真正在项目中做到敏捷,除了方法论之外,还有各种 外部条件的制约.而现实是很多研发团队只注重了方法论的学习,而没注意组织结构应该如何变化才 能适应敏捷测试的需要.有的人可能会说,敏捷强调的不是人人都应该是开发和测试吗?但这只是在 理想情况中.真实项目中,肯定还是存在测试和开

传统团队如何转变为敏捷团队?

问题 问:传统的团队如何转化为敏捷团队(步骤,要点,注意事项等)? 问:如果使用敏捷开发,在公司组织架构上有没有什么建议? 分析 在谈到何为敏捷团队之前,先看看传统团队的问题,不要把团队转化完了,问题还存在:换言之,解决问题是目标,转化团队是手段. 1.各部门打架严重 来自于分工中的灰色地带 / 各自目标和绩效的不一致. 典型的是开发/测试团队,扩展而言,还包括市场/销售团队. 后两者也很关键,很多时候开发和测试团队和谐了,联合起来和销售团队打架,公司的整体效率仍然上不去. 不过,如果没有在市场