敏捷开发一千零一问系列之十五:同时实施CMMI和敏捷哪个为主?

什么样的项目最适合于敏捷开发 我最近被问到关于什么样的项目才是最适合于敏捷方法,在此关于这方面进行一个探讨。在我看来,最适合敏捷方法的项目是那些有着激进的时间期限限制,那些有着高度的复杂程度,以及那些有着高度新颖性(独特性)的项目。当我们在做一些新的事情,到少是对于开发   我最近被问到关于什么样的项目才是最适合于敏捷方法,在此关于这方面进行一个探讨。在我看来,最适合敏捷方法的项目是那些有着激进的时间期限限制,那些有着高度的复杂程度,以及那些有着高度新颖性(独特性)的项目。   当我们在做一些新的事情,到少是对于开发团队是新的事情,的时候我们会比较愿意使用敏捷方法。如果这是一件团队以前曾经重复做过很多次的事情,他们很可能就 立即下载

这是敏捷开发一千零一问系列的第十五篇。(在这里提问,之一,之二,之三,问题总目录)

也是敏捷与CMMI系列的第三篇。(总目录)

问题

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

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

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

分析

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

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

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

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

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

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

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

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

方案

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

在敏捷与CMMI系列之一http://blog.youkuaiyun.com/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开发的敏捷开发管理工具)因为原来银行业的业务一直变化很慢,就是存取款贷款之类,但最近大家应该能感受到,银行队伍的长度,和股市、基金、理财、黄金的关系更大,这些业务的需求变化很快,敏捷开发变得势在必行。

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

手把手教你用MATLAB和PSIM搞定Buck电路控制器:从传递函数到运放电路实战 本文详细介绍了如何使用MATLAB和PSIM协同设计Buck电路控制器,从传递函数推导到运放电路实现的完整流程。通过小信号建模、波特图分析和双平台仿真验证,帮助电力电子工程师解决理论到实践的转化难题,提升Buck电路控制器设计的效率和可靠性。 阅读详情

相关推荐

OnlyOffice Docker部署实战:解除20连接限制+500M文件上传配置(附中文字体解决方案)

本文详细介绍了OnlyOffice企业级Docker部署的全过程,包括解除20并发连接限制、提升文件上传大小至500MB以及解决中文字体显示问题。通过定制镜像、优化配置和字体安装,帮助技术团队快速搭建高性能的文档协作平台,适用于企业级应用场景。

weixin_26850069的博客 444

敏捷开发合适的应用场景

敏捷开发是以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。敏捷开发就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。那么什么项目适合敏捷开发呢?下面一起来了解一下相关的知识吧!   什么项目适合敏捷开发:   1、产品复杂,不断有新的需求加入。   当产品的开发受市场影响较大时,业务需求的变动就十分常见了,为了不影响项目开发进度,需求管理必不可少。有些团队会一个个排需求、做需求,而敏捷开发是通过任务分解把工作拆分为半天到几天的工作量,然后制

低代码博客 3528

RTKLIB PPP与RTK_POST精密定位实战:从实时到事后处理的完整流程解析

本文详细解析了如何使用RTKLIB进行精密单点定位(PPP)的完整流程,涵盖从实时处理到事后处理(RTK_POST)的关键步骤。文章深入探讨了数据准备、软件配置、核心参数设置(如电离层、对流层、潮汐改正)以及常见问题排查,旨在帮助用户掌握高精度GNSS定位技术,实现从入门到精通的实战应用。

weixin_29047919的博客 279

为什么敏捷项目管理只适用于IT项目

敏捷开发其实是对由于在长期的软件开发的实践中形成的一种方法论体系,现在的敏捷开发的理论体系包括了很多种方法论的。到目前为止最常用的方法有Scrum,Kanban,XP和Crystal 等等。 在很多时候,有些朋友会问敏捷的概念是不是能够用在其他类型的项目上面。我觉得敏捷理论其实是为了解决在软件开发项目项目遇到的特殊问题而产生的方法论体系。并不适合推广到更加宽泛的其他工程项目的领域,当然的确也有某...

Rocky的技术博客 1285

Shopee商品详情页反爬实战:手把手逆向x-sap-Ri和x-sap-Sec参数(附完整调试过程)

本文详细解析了Shopee商品详情页反爬机制中的x-sap-Ri和x-sap-Sec参数逆向过程。通过JS逆向技术,从环境数据采集到多层哈希运算,完整拆解了这两个关键参数的生成逻辑,并提供了实战技巧和Node.js实现方案,帮助开发者应对Shopee的动态加密挑战。

weixin_33701251的博客 1596

Vivado FFT IP核配置与实战:FPGA信号处理硬件加速指南

快速傅里叶变换(FFT)是数字信号处理(DSP)中的核心算法,用于将时域信号转换到频域进行分析。其原理基于离散傅里叶变换(DFT),通过蝶形运算的分解与复用,大幅降低了计算复杂度。在工程实践中,软件实现的FFT难以满足高速实时处理的需求,因此硬件加速方案至关重要。FPGA凭借其并行架构和可定制性,成为实现高性能FFT的理想平台。通过集成专用的FFT IP核,如Vivado中的Pipelined Streaming I/O架构,可以构建流水线化的计算引擎,实现极低延迟和高吞吐量的连续数据流处理。这种硬件方案特

weixin_42536863的博客 647

项目管理中的敏捷实践

转自:本文是51CTO专栏作者“ThoughtWorks”的原创稿件,微信公众号:思特沃克 http://zhuanlan.51cto.com/art/201708/547201.htm 作为项目经理,我们经历了不同的项目,却总是受限于相似的困局。敏捷思想和实践能够为我们提供一种可能性,帮助我们解决在项目交付过程中遇到的具体难题。 作为项目经理,我们经历了不同的项

给力VSTO 736

从虚拟机到双系统:手把手教你为Gromacs搭建最强Linux环境(含WSL2、Ubuntu22.04配置)

本文详细指导如何在Windows系统下为Gromacs分子动力学模拟搭建高性能Linux环境,涵盖WSL2和Ubuntu22.04双系统配置。通过对比虚拟机、WSL2和原生Linux的性能数据,提供GPU加速、内存优化等实用技巧,帮助科研人员提升计算效率。

weixin_30861797的博客 270

敏捷看板和Scrum区别是什么?分别适合什么项目团队?

另外 PingCode 研发管理工具还支持在 Scrum 项目中融入 Kanban,满足团队更多的敏捷研发场景:。看板工作流程可以随时更改。与 Scrum 团队会聘请敏捷教练指导团队工作不同的是,Kanban 团队不需要“看板教练”来让工作顺利进行,因为整个团队的集体责任是协作完成板上的任务。当同时管理多个项目时,团队可以根据不同项目的敏捷特性来选择不同的模式:无论是 Scrum、Kanban 还是两者兼而有之,毕竟团队的项目不是一天就能适应一种模式的,我们可以先让团队尝试哪个模式更有效再做选择。

柚橙论 2010

ilqr算法原理推导及代码实践

ilqr算法原理详解

Forwarding3的博客 1741

AB测试面试题

AB实验流程以一个实际的业务场景去描述AB实验流程,限定场景来减少和面试官的信息差,确保沟通高效可以以自己简历上某个相关项目的场景来举例,或者以面试的岗位对应的业务来举例子。不能光自己说,要让面试官参与进来,引导面试官往自己熟悉的内容提问,从被动转为主动。回答要有逻辑性,简洁、准确的表达。还是延用之前提到的项目案例,假设之前抖音拍摄页面中右下角相册功能的icon 由相册图标改为 用户相册的最新一张照片这个案例写在了我的简历中。

qq_45727498的博客 857

敏捷开发一千零一夜

《敏捷开发一千零一夜》 基本信息 作者: 王立杰 出版社:电子工业出版社 ISBN:9787121208188 上架时间:2013-7-12 出版日期:2013 年8月 开本:16开 页码:244 版次:1-1 所属分类:计算机 > 软件工程及软件方法学 > 软件方法/软件工程 更多关于 》》》《敏捷开发一千零一夜》 内容简介 计算机书籍   《敏捷开发...

weixin_30381793的博客 122

Camunda 7.x 系列【67】实战篇之撤销流程

撤销流程 即撤销当前已发起的流程实例。这是一个常见的需求,Camunda本身不提供直接的方法来撤销正在执行的流程,需要自定义处理逻辑。

记录知识、锤炼自我 1378

视频教程-项目经理俱乐部-项目实战.职场求生.敏捷.企业管理(第2辑)-敏捷开发

项目经理俱乐部-项目实战.职场求生.敏捷.企业管理(第2辑) 近二十年软件开...

weixin_34580660的博客 188

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Scrum敏捷项目管理

敏捷的背景与动机软件危机及软件工程的出现 速度是企业竞争致胜的关键因素,软件项目的最大挑战在于 一方面要应付变动中的需求 一方面要在紧缩的时程内完成项目 传统的软件工程难以满足这些要求 所以软件团队除了在技术上必须日益精进,更需要运用有效的开发流程,以确保团队能够发挥综效。这正是Agile Process (敏捷的软件开发流程)于近年来兴起的主要原因。软件项目的复杂性横轴代表需求的复杂度!

闵浮龙的博客 9074

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

14天极限复习软考-day5 软件工程 、UML

摘选自:软件设计师の备考经验帖及复习资料-Laptoy-优快云博客仅仅作为个人极限备考复习,很多概念并不全,因为本人没有那么多耐心和时间背那么多东西。

lapiii的博客 848

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

软件设计师:09-软件工程

适用于 需求明确或二次开发 的项目,否则当完工后当需求修改时需要回到需求分析阶段瀑布模型是将软件生存周期中的各个活动规定为依线性顺序连接的若干阶段的模型,包括需求分析、设计、编码、测试、运行与维护。它规定了由前至后、相互衔接的固定次序,如同瀑布流水逐级下落。瀑布模型以文档作为驱动,适合于软件需求很明确的软件项目的模型!!!原型模型比较适合于用户需求不清、需求经常变化的情况。当系统规模不是很大也不太复杂时,采用原型模型比较好。增量模型融合了瀑布模型的基本成分和原型实现的迭代特征,它假设可以将需求分段为一系列增

Laptoy的博客 2万+

【软件设计师】上午考试----10.系统开发基础学习记录

目录 一、瀑布模型 二、原型模型、演化模型、增量模型 三、螺旋模型 四、V模型 五、喷泉模型与RAD 六、构件组装模型(CBSD) 八、敏捷开发方法 九、信息系统开发方法 十、需求的分类 十一、结构化设计 十二、测试原则与类型 十三 、测试用例设计 十四、测试阶段 十五、McCabe复杂度计算 十六、系统运行与维护 十七、软件能力成熟度模型集成(CMMI) 十八、...

重邮小菜鸟的博客 479

用例之父称敏捷需要更加明智

 在上周举行的Software Education SDC大会上,Ivar Jacobson——用例、UML和RUP的作者——说道,敏捷开发需要“明智”。他提到,信息技术行业是比较容易追求时尚的,而且总想去发现银弹。他举出了下面的例子:十五年前,大家全都在谈OO 十年前,就都变成了组件、UML、统一过程 五年前是RUP和CMMI 两年前是XP 今天是Scrum

dmgactive的专栏 485

2013让敏捷落地——软件研发管理最佳实践(上海站)

软件知识原创基地(www.umlonline.org)将于2013年4月13日(周六)在上海为您奉献高端知识大餐“让敏捷落地——软件研发管理最佳实践“,诚邀您参加!   时间:2013年4月13日(周六) 上午9:00-12:00,下午13:30-17:00 地点:在上海市中心交通方便处,具体待定。   什么是软件知识原创基地(www.umlonline.org)? 互联网是知识的海洋

TingLan123的专栏 631

软件工程 - 汇总篇

本文档是一份关于“软件工程”的系统性学习资料,内容涵盖了软件工程的产生、开发方法学、测试维护、工具环境、质量保证以及项目管理等核心知识领域。

2401_83227843的博客 598

学习进度条

点滴成就 学习时间(h) 代码数(行) 博客量(篇) 学到知识点 第一周 8 0 0 1.浏览《构建之法》这本书,了解软件工程谈了什么; 2.听老师介绍软件相关知识,推荐一些学习网站和书籍; 3.注册Github和博客园账号。 第二周 9 0 1 1.发布“Github注册流程”博客; 2.明白Github的一些简...

120
上一篇: 敏捷外包工程系列之四:合理选择质量管理的等级(一)
下一篇: asp.net MVC错误:uses 'System.Web.WebPages, Version=2.0.0.0, ....which has a higher version...
火星人陈勇
博客等级 码龄18年 4899粉丝 381原创
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值