对比其它软件方法评估敏捷和Scrum

一般来说,选择一种软件开发方法,更像是加入一个邪教组织,而不像是做出了一个技术决策。许多公司 甚至从未试图去评估这些方法,而仅仅是盲目采用最流行的方法,这就造成了如今五花八门的各种敏捷方法。 因此本文将使用包括功能点、缺陷移除率(DRE)、质量成本(COQ)以及总拥有成本(TCO)在内的一些标准 的度量指标,对现代软件开发方法的样本进行比较。

目前有约55种已命名的软件开发方法正在使用, 还有更大数量的混合方法。这些开发方法中包括传统的瀑布方法、各种花样的敏捷、Rational统一过程(RUP )、团队软件过程(TSP)、V-模型开发、微软解决方案框架、结构化分析和设计技术(SADT)、持续演进开 发(EVO)、极限编程(XP)、PRINCE2、Merise和基于模型的开发,以及更多的其它开发方法。

数据 本身是来自于对一定数量的客户的研究成果,这些客户集体使用了各式各样的开发方法。预测部分使用了作者 的专有工具Software Risk Master,这个工具可以创造所有55种软件开发方法的理论模型。

引言

目前有超过55种的软件开发方法存在,而且每一种都有其忠实的追随者,这个事实表达了一个强烈的 信息:在这55种软件开发方法中,没有任何一种有能力处理所有规模和种类的软件应用。

其中一些方 法最适用于小型应用程序和小型团队;而其它一些方法适用于大型系统和大型团队;一些适用于复杂的嵌入式 应用;一些适用于高速的Web开发;一些适用于高安全性的军事应用。是否有可能选择出一种最佳方法来适用 于各种具体项目呢?一种方法足够吗?或者企业是否应该基于他们需要开发的项目的种类,使用数种方法?

不幸的是,由于缺乏量化的数据和方法之间的比较,选择一种软件开发方法更像是加入一个邪教组织 ,而不是一个技术决策。许多公司甚至从未试图去评估那些替代方法,而仅仅是采用当时最流行的方法,无论 此方法是否适用于他们所构建的软件的类型。

当这些软件方法被评估后,其结果使我想起了古代的佛教寓言:盲人摸象。不同的开发方法分别有着最快 的速度、最高的质量和最低的总拥有成本。

(在原来的寓言中,摸到大象鼻子的盲人认为大象像一条 蛇。摸到大象侧面的盲人认为大象像一堵墙。摸到象牙的盲人认为大象像一只长矛。摸到尾巴的盲人认为大象 像一根绳子。)

影响软件项目的因素组合

理想的解决方案应是遍历各种规模和类型的软件来评 价各式各样的方法。然而由于组合的复杂性,这是很困难的。所以我们只考虑那些众所周知的会对软件项目结 果产生影响的主要因素:

由于对每一个因素都进行考量会导致 组合数量过于庞大,所以本文将做出一些简化的假设,从而让我们主要专注于软件开发方法因素,而不是所有 其它因素。

在这篇文章中的基本假设是:

时间: 2024-08-01 00:58:22

对比其它软件方法评估敏捷和Scrum的相关文章

设计软件-软件方法有哪些???

问题描述 软件方法有哪些??? 比如软件统一过程(RUP).极限编程(XP).PSP.TSP.CMM 解决方案 scrum.敏捷,这些最主流的你都没提到. 解决方案二: APK反编译软件以及方法软件开发方法杂想如何用正确的方法来写出质量好的软件的75条体会

从管理学看敏捷开发Scrum

2010-12-21 14:13 宗子城 每次我们看敏捷开发Scrum都是从技术角度,今天我们尝试从管理角度来看这个问题. Scrum Scrum近几年已经成为最有影响的软件开发过程,从Forrester 关于敏捷模式的调查报告我们可以看出一些倪端,而且微软也推出了更Scrum的模板,相信.Net平台下越来越多的团队会采用这一过程.   图1: Forrester 关于敏捷模式的调查报表 Scrum的在软件日趋复杂的环境下,其成功不是偶然的,其指导思想符合我们现代管理学的一般规律. 管理学 经过

求华为手机卸载预置软件方法????不用360的东西哈。。。。

问题描述 求华为手机卸载预置软件方法????不用360的东西哈.... 华为官方的ROM清理工具不显示预置软件如图: 解决方案 预装软件的删除需要先root手机.现在国产山寨手机基本都是硬件亏本卖,靠预装应用赚钱,当然官方不可能推出这种工具. 解决方案二: 手机root最高权限之后.就可以在 设置-应用 那里卸载想要卸载的了 解决方案三: 需要root,然后即可删除,系统应用在/system/app目录下面,把不需要的删掉,同时删除/data/data/包名,Android KK一下就是/dat

jquery插件jquery.beforeafter.js实现左右拖拽分隔条对比图片的方法_jquery

本文实例讲述了jquery插件jquery.beforeafter.js实现左右拖拽分隔条对比图片的方法.分享给大家供大家参考.具体如下: 左右拖拽切换对比图片效果,运行效果后,图片中间有个拖动条,拖动左右滑动,可看到图片不一样的效果,女模特的脸变嫩了,呵呵,其实是用了两张背景图片实现的,这就需要jquery.beforeafter.js插件了,拖动时候的小图标不见了,路径可以在jquery.beforeafter.js中设置,不多说了. 运行效果截图如下: 在线演示地址如下: http://d

《企业软件交付:敏捷与高效管理精要》——3.4 企业软件交付的软件工厂方法

3.4 企业软件交付的软件工厂方法 正如我们前面讨论的,今天的机构面对的商业环境正以前所未有的速度发生变化.与此同时,这些机构还要管理和降低整个机构的运营成本.这就直接意味着,他们不仅要最大限度地减少浪费和低效率,还要提高生产力.软件和系统行业正在从基于手工作业.侧重个人的流程,演变为成熟且可重复的流程,既能稳定获得高品质的输出,又具有灵活性,能够根据客户的个别需求差异进行调整. 为了定义企业软件的设计.开发和交付中的软件工厂方法,我们可以把工业行业的关键特点应用到这里,以便减少产品的上市时间.

[免费讲座] 成都软件技术沙龙 - 开启基于Scrum的敏捷开发全新征程讲座

成都软件技术沙龙4月28日活动议程 开启基于Scrum的敏捷开发全新征程 沙龙介绍: 成都软件技术沙龙成立于2008年,致力于发展成都地区软件事业,结交志同道合的软件界朋友,先后与微软.NET俱乐部,微软社区精英计划,天府软件园以及Scrum成都等机构合作,希望能团结成都地区软件同仁共同交流. 4月28日活动 – 开启基于Scrum的敏捷开发全新征程 时间:4月28日下午1点 – 5点 地点:成都天府软件园A区3号楼大会议室 讲座一:自下而上的敏捷实践 大纲: l 持续集成 l TDD l 自动

最近的一次敏捷项目Scrum经验总结

Team刚刚完成了一个敏捷项目,做一下项目总结,以备以后借鉴和提高. 需求 - 沟通 – 人 - 过程 - 工具 项目要成功的最关键因素是什么?软件要快速高效又高质量的提交靠的是什么?有人说最关键是项目经理,关键是沟通,有人说是技术设计,有人说是对需求的把 握- - 从我看来,都是盲人摸象,项目要成功,软件要快速高效又高质量的提交,靠的是多重因素的整合和平衡:首先要对需求的准确理解和把握,贯穿全流程的沟通,做 项目靠人,对人/士兵的管理(物质.心理),适合组织的先进的过程(开发,测试,评审,组织

《企业软件交付:敏捷与高效管理精要》——2.7 述评

2.7 述评 通过研究MyProj项目,我们看到了典型企业软件交付项目中的一些细节,包括项目的交付背景.资源配置情况以及执行的过程.在接下来的分析中,我们考虑了可以通过引入额外的软件工厂交付技术和自动化来改进的方面.这样我们就可以得到一些重要的观点.首先,我们把通过企业和项目层面的分析得到的潜在改进之处进行总结.我们可以从以下四个方面提出改进建议.每一项建议都是一个挑战,也是机遇:全球协作.全球交付的方式值得特别关注.企业软件交付中面临的许多问题都是由于相互沟通不畅引起的.开发团队分布在世界各地

《企业软件交付:敏捷与高效管理精要》——2.6 事后分析

2.6 事后分析 看到了MyProj的资源配置情况,MyCo对整个项目期的工作做了详细的事后分析.这种分析的目的是找出让交付方式更为有效的关键领域-既要提供可以衡量的改进,还要保持或提高交付结果的可预见性和质量.分析在两个层面上进行:一是企业软件交付机构的层面,二是MyProj项目的具体细节层面.2.6.1 企业软件交付机构分析第一层次的分析考虑的是整个企业软件交付机构的改进.具体而言,在某些方面,只要解决目前使用的企业软件交付方法中的系统性问题,或许就能改善效率.这些具有广泛的适用性,并且对于