从Reifer的“敏捷方法定量分析”研究中学到的十个知识点

I. 敏捷方法的十个“知识点”

Reifer咨询有限责任公司发表了一份名为“敏捷方法定量分析1” 的基准报告,这份报告比较了敏捷方法软件生产率、成本、持续时间和质量与传 统的计划驱动项目的差异。这份报告分析了800个项目(其中有250个敏捷项目) 的工作数据,跨越10年,使用了由60个组织提供的完整工作数据。

读者可以在我们的敏捷研究中找到以下十个“知识点”,我们所参 考的基准报告中记录了相关研究成果。这份报告目前售价795美元,可在此订购, 点击这里可以详细了解国际软件基准组织。

1. 敏捷生产率——敏捷生产率(以产出/单元投入成本进行度量) 高于已交付产品的由计划驱动的项目的经验基准。该经验基准取自10年中在名义 值上下浮动50%的数据,采用敏捷后一年内生产率平均最多能提升10%到20%。但是 ,这些提升取决于应用的领域,并且受许多因素的影响(如劳动力构成结构、产 品复杂度、项目规模等等)。例如,有一些项目需要通过认证的形式(比如飞行 安全和安全认证等),这些项目看起来就不太适用于敏捷方法。Capers Jones的 数据2证实了我们提出的观点,此类项目使用像RUP3(统一软件开发过程)和TSP4 (团队软件过程)之类的结构化过程可以更快地通过认证。

驱动因子:改善团队工作,使用轻量级过程,重点关注产品、可执行的代码和 潜在的霍索恩效应。

问题:开发、维护或组织问题,过程僵化和教条,过于严格的管理,外包问题 ,缺少产品管理的核心。

应对措施:我们提出以下几个提升敏捷生产率的建议:

理解影响生产率的变数(架构稳定性、产品复杂度、员工技能水平和经验等) ,当你转用敏捷时要处理好这些变数。

收集生产率测量和度量结果,这些数据有助于我们做必要的调整。

改革时难免会遇到阻力,建议先运行试点项目,收集这些项目的度量和测量数 据,用这些数据说明敏捷是一种更好的商业运作方式。

在试点项目中调整过程和敏捷方法,找出达成商业目标的最佳方法。

如果条件允许的话,最好让大家在一起工作,以避免在第一个项目中就出现管 理和合同上面的问题。

使敏捷重点关注能够带来差异化的那些应用的开发。

星星之火可以燎原,敏捷的一次成功可以带来更多的成功。

2. 敏捷成本——敏捷成本(以开销/单元产出进行度量)低于以计 划驱动项目的经验基准。该经验基准范围取自10年间在名义值上下浮动100%的数 据。采用敏捷后一年内平均最多能降低20%到40%的成本。同样,这种成本变化在 很大程度上也取决于所在的应用领域,并且受许多因素(包括劳动力构成结构和 工资水平)的影响。

驱动因子:降低人工费用率、降低管理费用、简化沟通机制、更加关注产品而 不是过程。

问题:更重视开发而非规避维护成本、机构重组和角色澄清、僵化的过程、治 理过于严格、外包问题以及不重视产品的管理。

应对措施:我们提出以下几个降低敏捷成本的建议:

理解影响成本的变数(这些变数与生产率有所不同),转用敏捷时要处理好这 些变数。

基于事实做项目估算(通常所有sprints估算的交付物之和少于最终产品应有 的交付物)

监控项目成本、跟踪预算开支。

重视敏捷教育和培训的早期投入。

在工作开展之前选购适当的工具并设置适当的运作机制(战情室、任务板等) 。

转用敏捷时应该尽可能遵循节俭和简单的原则。

3. 敏捷上市时间——敏捷上市时间(度量软件从开始到最终交付 的总体有效时间)比计划驱动项目的经验基准要短10%到60%,在采用敏捷之后平 均最多能缩短20%到50%(不同项目规模会有所差异)。但需要注意的是,一味地 想要加速交付周期常常会遗漏一些需求,使交付的功能和特性无法完全满足客户 或用户需求,从而降低了客户满意度。

驱动因子:关注正在开发的工件,在sprints期内快速开发,在最终投入市场 之前增量交付演示版本。

问题:sprints期内未能完成所有工作承诺,待办任务未能清空,客户或用户 可能没有成为团队成员,管理者可能没参加到敏捷工作中来。

应对措施:我们提出以下几个缩短敏捷上市时间的建议:

理解影响上市时间的变数,转用敏捷时要处理好这些变数。

充分考虑环境因素,把项目作为整体制定务实的时间估算,然后再调整sprint 和增量计划。

在项目开发过程中监控里程碑达成情况。

让团队控制sprint时间线。

设立对增量时间线和内容的期望。

坚持在每个增量结束时演示工件,并争取让客户或用户、市场人员和管理者都 参加。

时间: 2024-11-01 22:09:58

从Reifer的“敏捷方法定量分析”研究中学到的十个知识点的相关文章

UE实践笔记:敏捷人种志研究

近期有机会展开实地调研,尝试将ethnography(人种志)方法用起来,但我远不敢称此类研究就是人种志研究了,最多能算是以下这张IDEO方法卡所谓的敏捷人种志研究--   HOW:花时间与你的用户.在他们熟悉的环境中接触,从而观察并参与他们的一些日常活动. WHY:这个方法能让你切身体会你的用户的习惯.习俗,他们所使用的语言,以及一些活动或物件对他们来说有怎样的意义. 这几次针对卖家的实地调研给我的启发不是一般大,有几个夜晚甚至兴奋得辗转难眠. 1. 大量的问题,大量的研究.设计机会与挑战 之

预示敏捷方法走偏的15个标志——第2部分

[编者按]误解和"最佳实践"可能会让你的团队原地打转,无法高效产出代码.本文的第一部分介绍了预示着敏捷方法走偏的前5个标志,下面将介绍另外10个重要标志.文章系国内 ITOM 管理平台 OneAPM 编译呈现. 6.误将 Scrum 当做敏捷 Scrum 是一种过程管理方法,而不是软件开发方法.Kanban 也一样.Scrum 和 Kanban 如果缺少强硬的敏捷原则,最终只会回到瀑布模型.很多企业开发环境中的大量待办事项(使用瀑布模型,而不是渐进发展模型)和"标准化&quo

数据库设计中的敏捷方法

引言 在过去几年中,我们将敏捷方法应用于数据库设计中.我们总结出一些技巧,使得当应用程序 发展时,数据库也能够进化,这是敏捷方法的一个重要属性.我们的方法是通过持续集成以及自动重构, 通过数据库管理人员(DBA)和应用开发人员的紧密合作.这些技巧在应用开发的各个时期都有效. 1 敏捷方法学 近年来,出现了一种新的软件开发方法学-敏捷方法学.这给数据库设计提出了一些新的.巨大的需 求.这些需求的一个中心就是进化设计.在一个敏捷项目中,需要假定我们并不能事先确定系统的需求. 因此在项目的初期有一个详

基于Hadoop的海量小文件存储方法的研究

基于Hadoop的海量小文件存储方法的研究 时倩 方睿 岳亮 彭榆峰 随着科学技术的发展,各行业及领域需要处理的数据呈爆炸式增长.Hadoop是大文件存储处理的理想平台,但Hadoop在处理海量小文件时的表现并不令人满意.本文首先对HDFS的系统架构作了简要介绍,进而分析了HDFS处理海量小文件时存在的问题,最后介绍了目前国内外对该问题提出的优化方案. 基于Hadoop的海量小文件存储方法的研究

预示敏捷方法走偏的15个标志——第1部分

[编者按]误解和"最佳实践"可能会让你的团队原地打转,无法高效产出代码.本文主要介绍预示着敏捷方法走偏的15个标志,作者为 Steven A. Lowe.文章系国内 ITOM 管理平台 OneAPM 编译呈现. 要赶时髦却掉沟里的情况很常见.这条准则在敏捷开发中表现得尤为明显.很多公司因为敏捷的好处--容易变更.周期缩短.进化构架,等等,而转投它的怀抱,结果最后公司最好的敏捷实践者纷纷离职,剩下的人员却没有能力修复开发过程中的问题. 大部分敏捷操作的问题并不在于敏捷概念,而在于敏捷方法

为什么敏捷方法能在软件开发中行之有效?

以下是为什么敏捷方法行之有效的原因: 1. 敏捷方法和传统的计划驱动方法的两个主要区别 i. 预测性计划(Predictive Planning)和自适应计划(Adaptive Planning) 计划驱动方法首先计划要做的工作(plan your work),然后着手工作以完成计划(work your plan).这是一种带有预测性质的方法,其衡量项目成功的标准则是我们是否按计划.按时.按预算完成了工作.这种方法在很多领域里是适用的.但是对于软件开发而言,如果我们的需求没有办法做到不变更的话,

艾伟也谈项目管理,克服在企业中应用敏捷方法的技术挑战

在企业中应用敏捷方法是一项具有挑战性的任务.实现敏捷不像安装软件那样能在一天内完成.而是需要适应企业环境,其中包括:文化.技术和组织方面.本文将探讨面临的一些挑战,这些挑战与建立开发环境.自动化测试.持续集成相关,并且同在企业环境中明确完成的定义(DoD)相关. 建立开发环境 每位技术负责人和开发经理都想缩减团队成员建立开发环境的时间.然而,为了在项目中获得较高的产出,开发人员要持续投入许多精力,让事情变得有条不紊.缺乏文档,是建立开发环境时间过长的关键原因.第二个关键原因是建立过程中包含多少手

[文档]云计算中数据隐私保护方法的研究

云计算中数据隐私保护方法的研究 南京邮电大学  苏弘逸 本文针对云计算的分布式特点,利用秘密共享策略来建立具备分布式特点的加密方案.同时为了便于统一管理云计算用户的多种身份,采用基于身份的公开加密算法(IBE),并将秘密共享策略结合在IBE中.该方案主要针对非可信的云计算服务提供商,因此利用相应的门限策略来降低单个非可信服务提供商带来的数据泄漏威胁,并且将由数据提供者对其身份信息等隐私数据进行授权.本文在提出方案的详细步骤之后,从正确性和安全性两个方面相应的分析,并进一步利用MIRACL密码库模

探析置换滤镜-用置换法为MM换衣方法的研究

滤镜 一直以来,用置换滤镜为MM换花衣,已经成为ps界比较公认的方法.其目的是希望衣料上的花纹图案随着褶皱发生扭曲变形.这个愿望是很好的,是一种进一步做出更好效果的追求. 但我不知道,大家是怎么做置换图的.如果是按"那个教程"上的"全选人物/去色/另存为 置换图.psd"方法来做的,我要说:那个方法是有问题的!它可以让花纹扭曲,但绝对与褶皱的明暗关系是不相吻合的! 下面是实例: 实例1: 原图: 这是衣料: 按那个方法做出的置换图: 置换结果:置换比例默认值10%