敏捷成熟度模型?
敏捷成熟度模型?

敏捷成熟度模型?

说明:本博文最早发布于本人的新浪博客

到底有没有、是否需要一个敏捷成熟度模型,业内有太多的讨论和纷争,也都有太多的人从不同的角度提出了各不相同的模型。

agile-maturity-model-0011Martin Proulx在名为“Yet Another Agile Maturity Model (AMM) – The 5 Levels of Maturity”的博文中提出了自己的看法,开篇两段话写得很中肯。他首先引用Esther Derby的观点,“How agile you are doesn’t matter. Whether you are 50 per cent agile, 90 per cent agile or agile through and through (what ever that means), doesn’t matter. What does matter is that your company is satisfying its customers, stakeholders, and employees. (Achieving Agility: Means to an End, or End in Itself)”,而后则提出,“我们必须得面对一个事实,人们喜欢知道自己相比他人所处的位置。从很小的时候起,我们就被培养习惯要和他人进行比较,从而可以晋升至下一级——虽然压根不知道下一级是什么。”

但是,我并不认同他的模型。他的敏捷成熟度模型分为五级,分别是:团队级、部门级、业务级、项目管理级、管理级。当然,不认同不代表无效,在其所适合的环境下,这个模型是肯定有其作用的,正如同Scott Ambler在另一篇文章中所说的“provides guidance for improving your effectiveness at agile software development”。

rjp1InfoQ国际站上有一篇2006年6月15日Scott Ambler发布的短新闻,“Has Hell Frozen Over? An Agile Maturity Model?”,他提到ThoughtWorks的Ross Pettit声称市场上存在对敏捷成熟度模型的潜在需求,并且提出了自己对于这样一个模型的设想。在An “Agile Maturity Model?”文中他描述了自己的想法,认为这样的一个模型应该是演进式的,而且能够体现出演进过程中的进展,需要从多个维度进行数据收集和分析。还要能够提供一个标准可以度量其程度,例如从-1(inhibits agility)到5(greatest enabler of agility),从而可以不断地进行周期性度量,澄清诸如“我在哪里”、“我想到哪里去”的问题。tw_ara

他在自己网站上有一篇2008年6月29日的博文“Agile Made Us Better, but We Signed Up for Great”对此有比较详细的阐述。以及另外一篇文章“The Agile Maturity Model”也比较详细地描述了这一思想,认为应该从Testing、Source Code Management、Collective Code Ownership、Collaboration、Responsiveness to Business、Assurance and Governance、Story Formation、Design Simplicity、Build Process等几个维度进行分析,以Regressive、Neutral or Chaotic、Collaborative、Operating、Adaptive、Innovating来描述其位处不同层级时所具备的特点。

网上可以搜索到一份ThoughtWorks的文档,看标示其发布日期是2009年,描述了他们的敏捷预备度评估方法,其核心即在于敏捷成熟度模型。我相信这应该是之前Ross所提出设想的延续,不过文档只有两页而已,细节不多,不明白具体的做法和分级标准。不清楚这是否也是目前ThoughtWorks还在使用的东西,并未找到更新版本的文档,而且现在主推的对象应该是持续交付和DSL,似乎也存在着去敏捷化的倾向,估计敏捷成熟度模型已无人问津了。

另一篇文章“Does the Agile Community Need a Maturity Model?”(中文版新闻),《软件开发成功路线图——敏捷模式》的作者Amr Elssamadisy描述了一些敏捷成熟度模型的主张。例如微软的Nick Malik创建了一个简单生命周期敏捷成熟度模型(Simple Lifecycle Agile Maturity Model),用以帮助人们判断他们有多么敏捷。例如Ahmed Sidky和James D. Arthur提出的一个敏捷实施框架,该框架是以对团队、组织或是企业进行评分的执行能力评估作为基础的。按照执行能力等级的不同,该框架规定了一套相关的实践,用以帮助团队、组织或是公司选定哪种实践来达到下一种成熟度级别。而他在文末则提出了远比描述对象多得多的疑问,例如这些东西真的是用来满足需要的么?敏捷化是终点还是到达终点的手段?一个模型是否可以为某个问题提出放之四海而皆准的解决方案?

曾参加过敏捷之旅中国2011上海站的Chris Sims在InfoQ上连续写了两篇相关新闻(08和09年),先是在“What is the value of the Nokia Test?”中记录了雅虎邮件组ScrumDevelopment有关流程检查清单测试价值的讨论,例如Nokia TestJoel Test。Bas Vodde被广泛认可为是Jeff Sutherland所命名的Nokia Test的创建者,他提到说这个列表最开始就是在诺基亚网络(现诺基亚西门子网络通信新浪微博官方账号)内部使用的,用来帮助敏捷教练们快速判断某个产品是否真的在向敏捷前进。而后在“Scott Ambler Revisits Agile Process Maturity Models”中提到Scott Ambler开始描述一种敏捷流程成熟度模型(链接来自InfoQ文章,但不可用)。

ambler_agilecertification而Scott Ambler自己则在Dr. Dobbs网站上于2010年愚人节的时候发文,“AMM: Fool or Fact?”,以颇为讥讽性的语言描述了一种所谓的敏捷成熟度模型,共分为五个阶段,从一到五分别是Rhetorical stage、Certified stage、Plausible stage、Respectable stage、Measured stage,英文就不翻译了以免辞不达意。文章的最后则提到说本文发布于4月1日愚人节,因此信不信由读者自信判断。文末还提供了许多可以衍生阅读的文章链接,好奇想要刨根问底的朋友可以继续考证。另外,Scott Ambler的网站上还有一个挺好玩的内容章节,“Agile Certification”,颇有无厘头和恶搞的风范。doctor_agile

关于敏捷预备度评估还有两个网站可以访问看看。一个是Gerry Kirk和Michael Sahota在Agile 2010上曾组织的workshop网站“Agile Readiness Assessment”,搭建于wikispaces之上。另一个则更好玩,Dr. Agile,很吻合惠普内部Agile Mentoring Office的Agile Method Advisor理念,只是人家是开放版,有兴趣的朋友可以去玩玩看。

anderson_model另外还有David J. Anderson在2003年出版的《Agile Management for Software Engineering: Applying the Theory of Constraints for Business Results》书中,第11章也曾提出过对于一个新成熟度模型的看法,他称作“学习型组织成熟度模型”,也分作五级,分别是Analysis Ability、End-to-End Traceability、Stablize System Metrics、System Thinking and a Learning Organization、Anticipated ROI and the Failure Tolerant Organization,部分细节如下图。

2条评论

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据