`

敏捷适合什么类型项目?

阅读更多

问题
原来问题是这么写的:“一家企业既要过CMMI,又要过ISO,还要实施敏捷,应该怎样做?”

之所以改成“哪个好”,是因为如果要多头并存,就要有主次关系。

那么,到底哪个好,应该以哪个为主呢?

分析
每次说到这个问题,都会有不同的角度可以分析。

一个常见的角度是说:CMMI比较完整“大气”,可以做整个公司的管理框架,而敏捷更适合团队级别的管理。

另外一个角度是说:两个是可以共存的,可以用敏捷开发的实践来满足CMMI的要求。

那么,到底哪个角度是优先考虑的呢?

商业目标是优先考虑的角度。

这是一个经常被廉价贩卖以至于不太引起重视的角度了,大致说的是:要理解自己的现状和目标,以便决策自己的研发方法。

有时候过程改进人员或质量人员也常常研究这个目标,但常常仅限于研究个别度量数据的目标,而极少有人有足够的高度来看整体框架的目标(本人当年也是如此)。

基于这一点,下面方案中分为几个场景一一描述。

方案
方案1:军工、航空航天——生命攸关和潜在重大损失的——CMMI为主


在敏捷与CMMI系列之一http://blog.csdn.net/cheny_com/article/details/6423463 中曾经提到,CMMI的本质是美国国防部(DOD)用于筛选供应商的标准,其核心价值观是利用需求、计划的可追溯性、一致性,来达成对生命攸关和潜在重大损失项目的保障。

这一要求可以令其基本忽略我们常常引以为豪的“创新”“激励”这些因素,或至少坚定地把这些因素排在一致性、可追溯性之后。

方案2:银行、证券——潜在重大损失的——CMMI为主,辅以RUP

IBM是CMMI的重要推手之一,此外他们还是军工和制造业软件研发管理工具的提供者——Rational系列产品及后来收购的Telelogic DOORs、SA等产品,广泛应用于军工、航空航天、制造业,但IBM最喜欢的,不是瀑布模型,而是RUP。

RUP可以理解为瀑布被迭代化了,允许业务的“不断精进”,而不是最初把需求就要一次定好。

RUP也可以理解为迭代被瀑布化了,允许迭代的目标不完全是“生产可运行软件”,或者虽然如此,但比重不同;比如开始做“可运行软件”的目的,不是交付,而是用作需求沟通的原型。

RUP是IBM这个与银行业打交道由来已久的老牌供应商的工作方式,无疑是这个行业的代表方法。

方案3:一般外包——CMMI为框架,辅以敏捷

为什么以CMMI为框架?

因为CMMI除了有军工、国防部这些标签外,还有几个标签:外包,供应商,供应商筛选。甚至可以说CMMI整体就是为外包双方准备的。而敏捷开发中,就无法直接看到有直接相关的内容。

方案4:互联网,网络游戏——Scrum为主

这个行业建议一点都不要看CMMI。

不是说CMMI完全无用,而是说有比CMMI适合地多的东西值得去做,比如产品创新,用户体验。

这就有点像多数人都学点英语,但不学日语,不是学日语无用,而是对自己的职业生涯影响不很直接。

方案5:创新产品,移动互联小程序,网络游戏的初期——XP,“原始的”原型法,乃至混沌

各种神奇的创业公司在初期的时候几乎都没有任何管理体系,然而其生产率估计到后来“正规化管理”后也无法超越,难道“管理”“开发方法”这些东西起的是反作用吗?

不是。

各种管理及方法,整体上有两个大的目标:

1. 保证正在做一个正确的产品,需求符合用户的需要。

2. 保证人员在正确地做事(包括正确的技术,被激励的工作态度等),确保产品被及时完成。

在创业团队中,虽然没有“正规管理”,但却有其他的方法在保证这两件事情。换言之,如果“正规管理”没有聚焦于这两点,或没有充分做到这两点,那么就显得用处不大。

在方案5涉及的语境中,“正规管理”能起到的作用是很小的,或者说无需正规管理,1和2应该也是能做到的(否则只能说找错了人,比如“我们用严格管理进行创新”就是错误的,应该是“我们找到一群激情的人进行创新”),因此过程应该尽量轻量化,去完成真正应该完成的创新工作。

方案6:随时随地按实际情况决策

并非所有行业都是一成不变的,也不是所有行业的所有产品都符合行业特征。

为什么CMMI中开始出现了敏捷的内容?很多人会想:“敏捷开发过于热火,CMMI不得不考虑一下广大程序员的心情。”其实不然,美国国防部是不会基于程序员的心情或业界的呼声而改变自己选择供应商的标准的,除非行业自身发生了变化。随着设备小型化,原来主要用于大型航空航天载具、指挥管控系统的软件已经逐渐走向单兵或单个小型器械,如果经常看《未来武器》系列纪录片,就会意识到这一点。这些产品很多对“一致的、可追溯的”需求没有太大的追求,反而是快速响应变化变成了一个看得见的价值。

为什么IBM也开始做RTC了呢?(RTC是IBM Rational开发的敏捷开发管理工具)因为原来银行业的业务一直变化很慢,就是存取款贷款之类,但最近大家应该能感受到,银行队伍的长度,和股市、基金、理财、黄金的关系更大,这些业务的需求变化很快,敏捷开发变得势在必行。

因此应该理解自己的行业,也要理解自己正在面对的具体产品,才能决定那种方法更适合,哪种方法为主。


ref:http://blog.csdn.net/cheny_com/article/details/7496322
分享到:
评论

相关推荐

    敏捷软件开发.pdf

     5A.1.7敏捷只适合最优秀的开发人员  5A.1.8敏捷是既老又新的、失败的、没有尝试过的  5A.2敏捷方法集的演进  5A.2.1XP第2版  5A.2.2Scrum  5A.2.3实用主义和无名的  5A.2.4可预测、计划驱动和其他中心调整 ...

    Jira Software 8 敏捷项目管理(1)

    Jira是Atlassian公司出品的项目与事务跟踪工具,被广泛...项目的类型的介绍以及项目的创建 3.?????Jira敏捷方法(Scrum和Kanban) 的概念介绍和配置 4.?????Jira 问题介绍,操作以及配置 5.?????Jira 自定义字段以及配置

    敏捷软件开发生态系统(英文版)

    本书全面论述了敏捷软件开发生态系统的有关内容,阐述了变化驱动的信息时代经济的关键特征,介绍各个敏捷软件开发生态系统,提供各种类型的项目,展示了一个敏捷软件开发生态系统的实例。总之,通过本书的学习,读者...

    大话软件项目管理之软件开发模式

    常用的软件开发模型有哪些? 为什么有这么多的软件开发模型? 它们之间的区别在哪里? 它们分别适合什么类型的项目?

    Jira敏捷项目管理(1)

    针对Jira中的项目类型和模块的概念进行剖析。 3.?????对敏捷开法中常使用的scrum、kanban进行分解,并且讲解了如何在Jira中进行应用。 4.?????对Jira中的问题概念、操作、和其它相关概念进行分析和讲解。 5.?????对...

    敏捷项目进度管理-燃尽图实践案例分享

    在运用敏捷的公司中,我们通常离在几米...3、常见的燃尽图有典型类型及反映出的问题、应对措施?4、燃尽图常见问题有哪些及如何处理?5、有没有实际项目中的实例分析?以上,正是今天要跟大家分享的内容。每天都有人搬

    基于Django和Layui的敏捷开发框架设计源码

    本设计源码提供了一个基于Django和Layui的敏捷开发框架。项目包含1285个文件,主要使用JavaScript、Python、HTML和CSS编程...适合用于学习和实践Python、JavaScript、HTML和CSS技术,以及开发敏捷相关的企业级应用。

    collective.project:具有敏捷内容类型的Plone中的项目管理

    集体项目 具有敏捷内容类型的Plone中的项目管理 安装 pip install plock plock . -i collective.project bin/plone foreground

    项目管理修炼之道(带详细目录)

    理论让路,实践先行,Amazon五星畅销著作,项目经理的必备实战手册,众多实例,犹如真实...任何类型的项目经理,无论你是使用瀑布式、迭代式、还是敏捷式生命周期模型,都应该反复研读,从中得到有益的提示和帮助。

    带Django的Project-Dashboard:带有Django REST和Vue.js的敏捷项目管理仪表板

    尽管10年前在管理级别上拥有这种想法几乎可以立即被嘲笑,但是在当今的软件项目环境中,敏捷为公司提供了更大的员工参与度和生产力,从而对其进行奖励。 该项目是对工作环境的模拟,在该环境中,更传统的敏捷技术...

    论文研究-敏捷供需链中供需协作模式的研究.pdf

    基于实体之间协作的密切程度不同及供需项目特征的差异 ,将订单划分为确定型和预测型两种类型 ,为设计实体之间的供需协作模式奠定了基础 .给出了连续补给型、紧密协作型、协作型、一般型四种基本供需协作模式的概念、...

    敏捷项目的主动架构

    我仍然认为:对于某型类型的应用来说,敏捷技术还是有些问题需要解决。如果是简单的CRUD类应用,很可能这些附加的技术没有必要。本文是要针对比较重要的CRUD应用。我想我过去的错误在于:试图把灵活的用户故事理念...

    Agile processes-2.docx|Agile processes-2.docx

    本报告将通过比较敏捷心态和瀑布流程来确定敏捷心态的优势。软件的规模越来越小,为了保持竞争优势和适应市场,本报告调查了敏捷方法的情况。并基于Scrum和XP方法来描述如何根据项目选择Scrum或者是XP准则。选择后...

    基于Django4.x与Layui的敏捷开发框架源码,含模块化组件

    项目概述:这是一款采用Python语言,基于Django 4.x和Layui的前端框架,集成了MySQL等技术的企业级敏捷开发框架。该框架包含1285个文件,其中JavaScript、Python、HTML和CSS等语言编写,实现了模块化组件设计,以...

    UML和模式应用(原书第3版).pdf

    2.6 什么是敏捷方法及其观点 2.7 什么是敏捷建模 2.8 什么是敏捷UP 2.9 UP的其他关键实践 2.10 什么是UP的阶段 2.11 什么是UP科目 2.12 如何定制过程和UP开发案例 2.13 判断你是否理解迭代开发或UP 2.14 ...

    s17.person:一个包,其中包含敏捷内容类型和行为,以将人员表示为Plone站点中的内容

    s17.person 目录一个包,其中包含敏捷内容类型和行为,以将Person表示为Plone站点中的内容。举个例子,您可以在产品中使用演示配置文件。 激活此配置文件的步骤,您必须执行以下操作: 转到zmi-> portal_setup。 ...

    Android敏捷开发指南

    近几年来,我一直在尝试各种移动项目,虽然它们在应用领域、技术类型以及工作模式等方面各不相同,但我在摸索中逐渐总结出了一些比较具有共性的问题。为了实现较好的用户体验,反复的设计与验证导致产品发布时间延

    startrack:基于敏捷的跟踪器

    这是一个SaaS项目,旨在通过类似于KanBan的仪表板来帮助敏捷团队管理项目,任务和团队。 执照 根据的条款,可以免费使用此代码。 错误,问题,荣誉和猫声 欢迎发表评论。 通过的发送您的反馈 贡献者 我们有一个贡献...

Global site tag (gtag.js) - Google Analytics