CMM/CMMI与敏捷的比较

CMM体系分析 与 华为技术IPD-CMM研发管理模式探索 如何理解IPD+CMMI+Scrum一体化研发管理解决方案之CMMI? 如何快速响应市场的变化,如何推出更有竞争力的产品,如何在竞争中脱颖而出,是国内研发企业普遍面临的核心问题,为了解决这些问题,越来越多的企业开始重视创新与研发管理,加强研发过程的规范化,同时开始接触、学习、尝试推行业界最佳的研发管理模式,华为通过成功实施IPD、CMMI,最终达到研发效率提升、产品开发周期缩短、研发浪费减少的效 阅读详情

原文:

http://tech.chinaunix.net/a2008/0718/197/000000197890.shtml

 

多年来网络上存在一些对 CMM、敏捷似是而非的观点,这里纠正一下,望读者朋友和 CMM/CMMI 专家们指正。

    CMM 基本上是 15 年之前比较传统、陈旧的东西,现在我们更多地应该拿 CMMI-SW 与 Agile 进行比较。目前有关 CMM/CMMI 与 Agile 比较的最权威的一本名著是:Barry Boehm 与 Richard Turner 大师的 Balancing Agility and Discipline: A Guide for the Perplexed(BAND)。CMMI 到底与 Agile 有何不同?我向国内每一位软件项目经理、架构师和过程改进相关负责、研究人员推荐这本必读之作。

    cmm/cmmi 与 agile 的区别主要有:

    1、CMM更注重质量,Agile更注重生产率

    错。

    Agile 至少与 CMM 一样注重质量,只不过它采取了更为轻便的、成本更低的方式来保证质量。生产率并不是 Agile 追求的主要目标,只是一个迭代轻量过程的副产品。

    正确的说法是:

    Agile 与 CMM/CMMI 都非常注重质量,差别在于一种是轻量方法,另一种是重量方法,分别有各自适用的项目开发环境。

    2、CMM强调过程的可观测性,Agile强调可观测的结果(可运行软件)
    
    大致对。

    3、CMM注重管理和过程,Agile注重技术和效率

    错。

    Agile 不但包含敏捷工程技术,也包含敏捷管理和敏捷过程。Agile 至少与 CMM 一样注重管理和过程,区别在于 Agile 采用的是一种更为轻便、灵活、高效的方式。

    难道一定要采用重型方法,制定大量的细节行为规范,编写大量的文档,采集大量的数据,才叫管理和过程?轻型方法就不能做好软件研发的管理和过程?显然,这没有道理。

    在 Agile 支持者眼中,对于他们所从事的项目开发环境,Agile 是远比 CMM 更为有效、先进和成熟的方式方法。

    认为只有 CMM 注重管理、过程和质量,而 Agile 不注重管理、过程和质量,显然是一种错误的偏见。

    正确的说法是:

    CMM/CMMI 与 Agile 是两种不同的软件研发管理和过程体系,区别在于前者重量,后者轻量;Agile 包含了更多具体、实用的软件工程技术方法,而 CMM/CMMI 提供了更多以数学统计为基础的过程管理和质量控制技术方法。在适用条件下,轻量过程通常会带来了更高的开发效率。

    4、CMM注重组织,Agile注重个人

    错。

    Agile 不但注重个人,也注重团队和组织。敏捷可以分为三个层次:敏捷个人、敏捷团队、敏捷企业。

    正确的说法是:

    CMM/CMMI 与 Agile 都注重组织、团队,Agile 更强调发挥个人的主观能动性。由于价值观、出发点和适用条件不同,导致两者的具体做法和关注面有所不同。

    5、CMM无所不包(Universal),Agile有明确的适用范围

    错。

    我不知道有什么理由说 CMM/CMMI 无所不包?通常一个号称无所不包的东西,同时也意味着它是一件无用的东西。

    事实上,仅管 CMM/CMMI 体系庞大、内容繁杂,但它的目标依然只是作为一个成熟的过程改进和评价模型,必然缺少了软件工程领域的其他许多内容。张恂认为,CMM/CMMI 体系对于国内大多数软件企业、研发机构而言,可能过度成熟了,有点过犹不及。CMM/CMMI 中不包括如何写好需求,如何做好设计,如何写好测试等许多方面的软件工程技术、技能方面的指导,而这些恰好是敏捷的强项。敏捷方法整合了一套轻量的管理、过程和工程技术方法,这是它作为 21 世纪的先进方法体系优于 CMM 的地方。

    正确的说法是:

    CMM/CMMI 与 Agile 都有各自明确的适用范围。在一些价值观、原则和实践做法上,它们既存在着明显的区别或对立,同时又存在着一定的互补关系。

    6、它们都包含了一些软件工程的好的实践(Practices)

    对。

    CMM/CMMI 作为一个复杂的过程体系,有着大量的参考实践做法。Agile 的实践做法数量要少得多,也更容易操作。两套实践做法集在各自的适用环境下,可能都是最优的。

    为什么 CMMI 与敏捷的许多最佳实践看上去差异较大?张恂认为,这是因为它们是两套分别归纳自工作在不同软件工程行业、领域的科学家、工程师群体的成熟经验,而两者的价值观、目的和用途也有着较大的差异。

    科学的结论

    那么,CMM/CMMI 与 Agile 方法或体系到底有哪些异同,什么是更为科学和准确的说法?CMMI 与 Agile 到底是完全对立,还是可以彼此借鉴,扬长避短、互补融合?...

    为解答这一连串有趣而有益的问题,我建议您首先认真地研读 BAND 这本名著,了解国际上前沿的研究成果和结论,并独立思考,大胆地进行实践和尝试。期待您的反馈意见。

 

4、 探索软件CMM集成方法:从CMM到CMMI的演变 本文深入探讨了CMM/CMMI模型的历史、演变及其在现代软件开发中的应用,包括其关键特点、实施步骤及多行业应用案例。同时,文章还分析了CMMI与其他模型的对比,并展望了其未来发展趋势,为组织提供全面的过程改进指导。 阅读详情

相关推荐

CMMI与敏捷的比较

CMMI与敏捷开发的对比,两者之间的优缺点

CMM/CMMI 与敏捷的比较(转)

多年来网络上存在一些对 CMM、敏捷似是而非的观点,这里纠正一下,望读者朋友和 CMM/CMMI 专家们指正。 张恂认为,CMM 基本上是 15 年之前比较传统、陈旧的东西,现在我们更多地应该拿 CMMI-SW 与 Agile 进行比较。目前有关 CMM/CMMI 与 Agile 比较的最权威的一本名著是:Barry Boehm 与 Richard Turner 大师的 Bala...

weixin_30455365的博客 348

Keil调试技巧:3种方法查看Cortex-M4的SCB寄存器(含CPUID内存映射解析)

本文详细介绍了在Keil MDK中查看Cortex-M4内核SCB寄存器的三种实战方法:使用Watch窗口进行符号化观察、通过Memory窗口直接查看物理内存映射,以及利用SFR寄存器浏览器解析位域信息。文章重点解析了CPUID寄存器的内存映射地址(0xE000ED00)及其位域含义,帮助开发者深入理解处理器身份识别与底层调试技巧,提升嵌入式系统调试效率。

h6i7j8的博客 568

敏捷与CMMI的同与不同

CMM我是从1998年开始接触的,到现在大概20年了,自己亲自实施过CMMI,也辅导了很多企业做基于CMMI的过程改进。2013年我成为了CMMI的评估师,后来成为高成熟度的评估师,去年又成为了教员。 敏捷我是2005年接触的,到现在14个年头了,2008年左右也成了认证的Scrum Master, 去年成为认证的大规模敏捷顾问,2018年成为敏捷性能合弄模型的评估师。10多年来...

麦哲思科技 7505

测试丢包_电信IPRAN承载LTE业务丢包故障处理案例

银川 景旭阳电信IPRAN承载LTE业务丢包故障处理案例一.故障现象某地市IPRAN网络承载LTE基站业务,客户反馈近期丢包严重,基站侧ping侧核心网EPC丢包达到10%左右;且基站数量在10个左右,并分布在同一地区,需要IPRAN网络协助排查;随后查看了IPRAN网络;发现这些业务所在基站的PW-BFD历史告警存在频繁的UP/DOWN告警;综上信息展开故障处理,初步判断由于BFD频繁...

weixin_29740921的博客 1910

一文详解脉搏血氧测量原理与方法

本文摘要:血氧饱和度(SpO2)是评估人体氧合功能的重要指标,反映血红蛋白携氧能力。其测量基于光电容积描记法(PPG),利用红光(660nm)和红外光(940nm)通过组织时的吸收差异计算。脉搏波特征与心血管状态相关,动脉硬化会影响波形特征。Masimo公司的信号提取技术(SET)通过并行算法有效解决了传统血氧仪在运动、弱灌注情况下的测量误差问题,显著提升了临床监测的准确性和可靠性。该技术已成为血氧监测的金标准,在降低误报率、缩短响应时间方面具有显著优势。

m0_50146396的博客 2011

"Balancing Agility and Discipline" 中文版——《平衡敏捷与规范》终于要出版了

ais摆脱过程改进“黑暗面”的诱惑 邓 辉 本书已经有了三位软件方法学方面的世界级大师所做的序言,作为译者,实在是没有必要在此班门弄斧。但是作为中国软件从业者中的一员,当我看到国内软件企业在过程改进方面的一些所作所为时,我无法保持沉默。 国内软件企业在过程改进方面采用得最多的方法是 CMM( 能力成熟度模型 ) ,正如 Arthur Pyster 为本书写的序所说,基于 CMM 的过程改进方法如果

hoping的专栏 3610

Orange Pi 3B+刷入EmuELEC全过程:手把手教程

手把手教你如何在Orange Pi 3B+上成功刷入emuelec系统,涵盖烧录工具、镜像下载到启动设置的完整流程,让复古游戏体验轻松实现。

weixin_35732273的博客 1090

CMMI与Agile,XP的比较

一位同志的心得: CMMI是重量型的开发方法,内容繁多,覆盖软件开发的方方面面。培训并不能让我对CMMI整体有一个很清晰的认识,但对CMMI强调的一些思想和方法,我觉得还是有收获。 这里谈几点: 1. CMMI强调过程标准化及最佳实践,认为最佳实践就是经验教训的积累,而我们经常想当然不加实践的认为某个最佳实践不适合我们,就随意修改,显示是违背了CMMI思想的。 ...

weixin_34301132的博客 294

AutoSAR系列讲解(入门篇)2.4-Runnables可运行实体

讲解一下Runnable和其工程的实际映射

雪云飞星的博客 3万+

Python在Genesis2000 CAM软件中的编程应用

Genesis2000是一款功能强大的计算机辅助制造(CAM)软件,它提供了广泛的功能和工具,用于帮助制造商进行CAD(计算机辅助设计)到CAM的转换。在Genesis2000中,我们可以利用Python的灵活性和功能来扩展软件的自定义能力,并通过编写脚本来自动化各种制造任务。例如,假设我们需要在Genesis2000中添加一个新的操作,用于自动计算零部件的重量。我们可以编写一个Python脚本,通过遍历模型的几何数据并应用相关的计算公式,来实现这个功能。

PixelEnigma的博客 2423

问题:敏捷软件开发精彩问答

问题:敏捷软件开发精彩问答问:敏捷开发如何融入到现在在推行的CMMI中? 答:首先,我想说一下为什么会在CMM的基础上提出CMMI。BarryBoehm在其新作《BalancingAgilityandDiscipline:AGuideforthePerplexed》一书中对此进行了比较深入的阐述。从总体上来说,有两个主要原因:1、对CMM中那些容易导致官僚的部分进行了大幅度的更改;2、把风险驱动作...

insertyou 218

高性能优化的本质

在很早之前,处理器性能的提升一般是通过减小元器件的尺寸,增加元器件的数量,提高主频来实现,这也是摩尔定律所说的,但是由于功耗的影响,主频不能一直增加。后来,由于英伟达的GPU的并行计算的出现,逐渐打破摩尔定律,人们利用多核,SIMD,SIMT来处理大量相同计算的数据,这极大的提高了效率。计算机的算力得到了巨大的提升,但是并行是困难的,对于有数据依赖的程序来说,处理并行是一件及其困难的事,但对于一些简单的数学库的计算,并行的实现相对简单。

发狂的小花的博客 273

【转】CMM/CMMI 与敏捷的比较

http://www.51testing.com/?uid-417295-action-viewspace-itemid-807280 多年来网络上存在一些对 CMM、敏捷似是而非的观点,这里纠正一下,望读者朋友和 CMM/CMMI 专家们指正。  张恂认 为,CMM 基本上是 15 年之前比较传统、陈旧的东西,现在我们更多地应该拿 CMMI-SW 与 Agile 进行比较。目前有关 ...

dieduo4596的博客 248

【UG\NX二次开发】使用内部函数展开和折叠工序导航器

NX二次开发-群精选」专栏收录了那些曾散落在聊天对话框里的精彩的知识分享,这都是被遗落的宝贵财富。让我们一起向大佬学习,充满激情地进步,不断超越自己。底部联系方式,欢迎您加入一起交流。​下次一定。

王牌飞行员_里海的博客 818

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

作者:张恂 CMM/CMMI 与敏捷的比较

<br />CMM/CMMI 与敏捷的比较[1]<br /> 作者:张恂2008年9月10日  <br /> 多年来网络上存在一些对CMM、敏捷似是而非的观点,这里纠正一下,望读者朋友和 CMM/CMMI 专家们指正。<br />  张恂认为,CMM 基本上是 15 年之前比较传统、陈旧的东西,现在我们更多地应该拿 CMMI-SW 与 Agile 进行比较。目前有关 CMM/CMMI 与 Agile 比较的最权威的一本名著是:Barry Boehm 与 Richard Turner 大师的 Balancin

SPIChina的专栏 930

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

CMM/CMMI 与敏捷的比较

多年来网络上存在一些对 CMM、敏捷似是而非的观点,这里纠正一下,望读者朋友和 CMM/CMMI 专家们指正。 张恂认为,CMM 基本上是 15 年之前比较传统、陈旧的东西,现在我们更多地应该拿 CMMI-SW 与 Agile...

cuizha4587的博客 305

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

(转)PMBOK/CMM/CMMI/OPM3

1968年为了解决大型软件项目的软件危机,北大西洋公约组织(NATO)提出了“软件工程”这一术语,以改进软件开发设计过程。  1969年美国项目管理协会(PMI)组织成立,从1981年起经过30年的努力形成了目前看到的项目管理知识体系(PMBOK),即五大过程和九个知识域,通过评估项目管理人员的知识技能资格以提高项目实施成功率。  1987年起, 卡内基·梅隆软件工程研究所(SEI)先后发布了...

千月星跡 1768

CMMI 与敏捷 DevOps

前几天一位杭州总监级朋友说,最近Devops很火,给我发了一篇《CMMI 和 DevOps新旧时代的图腾辨识》微信文章。 我从事CMMI的评估、培训已经10多年,过去5年也开始学习敏捷—— PMI的 Agile Certified Practitioner (ACP), 也教过两三年的ACP课。 我看完这篇微信文章的第一感觉是: 从事CMMI的人真要自我反省,在市场的宣传、培训方面...

u011250455的专栏 2397

[转载]敏捷和CMM

关于敏捷和CMM,以及怎样在CMMI的框架下有效的引入敏捷的开发,是我所一直关注的话题,最近在网上闲逛,看到ThoughtWorks总经理郭晓在软博会上的演讲,觉得讲得不错,现转载如下(转载于网易科技):实际上我们软件产业要发展就要创新,在当前这种形势下,具体讲我们怎么样创新和融合,我觉得胡主任的报告做了一个非常好的报告和研究。我觉得是值得大家借鉴的。下面大家都知道,我们对于软件产业的发展过程中,

developerly的专栏 2294

CMM和CMMI

虽然CMM和CMMI模型在过去对于推动软件工程行业的标准化和规范化发挥了重要作用,但是现在的软件开发环境已经发生了很大变化,需要更加灵活和适应性强的方法和流程来满足不断变化的需求和挑战。5. 优化级(Level 5):优化级是指软件开发过程已经达到了最高水平,并且可以不断改进和优化,以适应不断变化的需求和环境。4. 管理级(Level 4):管理级是指软件开发过程已经成为一个量化和可控的过程,并且可以进行定量的度量和分析。5. 优化级(Level 5):与CMM模型的优化级相同。

m0_62410106的博客 1717

《试论CMM/CMMI不适合在当前软件开发当中应用》

实施CMM/CMMI评估可以帮助软件组织认识和提高软件质量,增强开发与改进能力。但是在当前市场竞争激烈、技术迭代更新快的软件开发的环境下,CMM/CMMI评估是否还继续需要进行值得深入思考。本文从三点论证了CMM/CMMI不适合在当前软件开发当中应用这一观点。 1 CMM/CMMI 众所周知,软件开发的风险大,是由于软件开发过程能力低,软件开发组织不能很好地管理其软件过程,导致软件开发组织手握优秀的开发方法和技术而无法发挥其预期作用。一些项目的成功也仅仅不能保证以后的开发会进展顺利。而且软件的质量是一.

随笔 928

CMMI与敏捷

     在公司顺利通过CMMI level 3的评估之后,我负责组织的稽核工作并帮助进行流程改善,但在公司推行实践的过程中,总感到有些压力和力不从心,不过毕竟,改变原有习惯,强调Process Control,CMMI究竟是轻量级还是重量级的使用等等,都是需要一个持续改进的过程的。我们既不能不论公司的实际情况,将CMMI仅当成了一种实施手册和准则,好像削足适履那样,也不能评估过后,连CMMI的思想概念精髓也随之抛弃脑后。CMMI并没有错,CMMI要求写一大堆文档的初衷很好目的也很明确,具体到项目中自然有执

AXDC_QA_Team的专栏 1840

Scrum 与CMM/CMMI 与ISO9001冲突吗

公司去年下半年刚刚通过CMM5 认证,对于国内企业来说,通过这个认证需要相当的实力和软件管理水平。当然,从软件管理上来讲,我们采用的是传统的瀑布模式,但是目前我们也想在公司的一些部门推广使用敏捷的办法,尤其是Scrum。公司现有的规章制度不能改变,还是要严格遵守CMM/CMMI 的一些要求,我不是特别清楚Scrum 与CMM/CMMI 的关系,另外还有ISO9001的这样的质量标准,他们之...

黑白猪的世界 634

CMM/CMMI的20年和敏捷十年

近来在InfoQ上陆续翻译了纪念回顾敏捷十年的文章,在CMM/CMMI/Agile都有兴趣的我不由得想到从1991年CMM1.0发布之时算起,今年正好也是CMM/CMMI的20年。 对比看下两者的历史,也许会有些意思。 SEI1986年在美国国防部资助下开始研究能力成熟度模型

高效软件开发 5509
上一篇: 自动化测试项目可行性评估(免费咨询)
下一篇: 解释传统与敏捷方法最贴切的故事:大象与猴子
TIB
TIB
博客等级 码龄19年 2879粉丝 957原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值