投资回报率(ROI)的定义是:在一项投资活动中获得的金钱损益,与投入相关项目的总资金之比。软件开发技术的选择,对ROI 的预期会起到非常重要的决定性作用。
Roger N. Dunn 在 IBM developerWorks 网站上发表了文章,通过一些工具对敏捷进行了分析,他的分析角度包括:
- 敏捷技术提供优越的投资回报率(ROI)的潜力
- 敏捷技术压低总持有成本(TCO)的能力
- 信任在敏捷商业案例中起到的重要作用
Roger 认为,将注意力放在敏捷所能带来的优秀的 ROI 上,可以将决策过程带入新的阶段。相关讨论的内容将会从主观感受(“采用敏捷方法感觉更好”)变成客观的评论(“敏捷方法能将 ROI 提高 x%”)。
Roger 依据成本和收益这两个变量来评估 ROI。研究对比了敏捷项目和计划驱动这两种不同的途径,并对成本降低和收益提高的结果进行了评估。测试结果如下:
第一组:成本降低,收益不变;在同样的收益情况下重点放在降低成本上,敏捷方法超出计划驱动方法 141%。
第二组:成本不变,收益增加;在同样成本的情况下,敏捷方法通过对客户的关注获取更高的回报,超过计划驱动方法 63%。
第三组:成本降低,收益增加:成本和收益两个量一起变化,项目会向精益化的趋势演变,此时敏捷方法超过传统的计划驱动方法 205%。
Roger 研究了 TCO 和信任的重要性,结果显示敏捷方法优于传统的方法。
敏捷方法能够提高 ROI,这已毋庸置疑;那么有助于获得最高 ROI 的、最重要的敏捷实践是什么?
Mishkin Berteig 在 Agile Device 上的一篇帖子中提到了 XP 和 Scrum 中的三个实践,而且,采纳这三个实践的团队不必完全遵循 XP 和 Scrum。他认为采用这三个实践付出的成本并不高,但是却可以获得可观的 ROI。这三个实践是:
合适的团队房间
这会令人感到惊讶:仅仅通过这一项实践,团队的生产力就能够提升 60%!重新布置办公室消耗的成本,与因此获取的收益相比微不足道。如果要这么做的话,一定要保证做对!
就如何拥有适当的团队房间,Mishkin 在 Agile Advice 上给出了一些提示。
短迭代
软件项目的迭代通常持续两个星期,有的甚至长达一个月。我强烈建议将周期缩短到一个星期,它带来的好处同样令人难以置信:相对于较长的迭代周期或是没有迭代的情况,团队的开发周期(设计、讨论、规范、实施)会大大加快……并因此更快获得高生产率。
Mishkin 承认,短迭代会带来一定压力,但是考虑到每一次迭代都将产生有价值、可以运行的软件,这个压力就会激发士气,而不是让士气低落。
测试驱动开发
Mishkin 认为:快速、优质的开发会带来可观的收益。而 TDD 能让开发的质量提高。他补充道:
我曾目睹这样的情况:与采用测试驱动开发之前相比,团队将缺陷率降低到 5%(甚至更低!)……同时以比当初预期更快的速度交付项目。
Mishkin 认为:如果团队采纳以上三条实践,工作效率至少提升一倍。他说:
如果一个 5 人组成的团队需要完成 100 天规模的项目,采用这些实践能将项目时间缩短到 50 天(节省 20 万美元),或者在 100 天里完成双倍的工作。
正如研究中提到的:与传统方法相比,很容易看出敏捷技术能带来更高的 ROI。要获得最高的 ROI,团队不一定要完全照搬 XP 和 Scrum,不妨从选取一组实践开始,你就能看到效果。
查看英文原文: Agile Practices with the Highest Return on Investment
评论