【翻译】敏捷开发,敏捷实践如何带来最高投资回报

投资回报率(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,不妨从选取一组实践开始,你就能看到效果。

原文如下:

Return on Investment (ROI) is defined as the amount of money gained or lost on an investment relative to the amount of money invested. ROI expected is a very important deciding factor in adopting a particular technique of software development.

In an article on IBM developerWorks,Roger N. Dunn, examines Agility in terms of tools which help in making the decision of adopting Agile. He examined,

  • Agile's potential to deliver superior Return on Investment (ROI)
  • Agile's ability to drive down Total Cost of Ownership (TCO)
  • The importance of trust in making the business case for Agile

According to Roger, focusing on superior ROI delivered by Agile gives an opportunity to take the decision making to the next level. Discussion can move from the subjective ("things are better with Agile") to the objective ("Agile increases ROI by x%").

Roger evaluated the ROI on the basis of two variables namely Cost and Return. The study evaluates the results of cost reduction and increase in returns with Agile projects versus plan-drive approaches. It provided the following results,

ROI variation 1: Cost reduction, constant return: For the same return and just focusing on reducing the cost, Agile boosts efficiency and has an advantage of 141% over plan driven approach.

ROI variation 2: Constant cost, increased return: With the same cost Agile provides higher returns with its customer focus. Agile has an advantage of 63% over plan driven approach.

ROI variation 3: Cost reduction, increased return: Taking the advantages of both the above variations. Lower costs and higher returns lead to forward leaning projects and here Agile has an advantage of 205% over traditional plan driven approaches.

Roger also studies the TCO and importance of trust with the findings favoring Agile over traditional approaches.

So given that Agile results in favorable ROI what are the most important Agile practices which would result in highest ROI?

In a post on Agile Advice, Mishkin Berteig, mentioned three practices which are a part of XP and Scrum, however, for following these practices a team does not need to be following XP or Scrum. Mishkin mentions them as inexpensive practices with a high ROI. The practices mentioned are

A proper team room

This is astonishing: you can expect a 60% boost in team productivity from this single practice! The cost of re-stacking your cubes or office spaces is trivial compared to the benefits. If you are going to do this, do it right!

Mishkin mentioned some tips on having a proper team room on Agile Advice.

Short Iterations

Any software development projects use iterations that are two weeks long or even a month long. I strongly recommend iterations that are only one week long. Again, the benefits are incredible: your team will move through the stages of team development (forming, storming, norming and performing) much more quickly than with longer iterations or no iterations… thus leading to high productivity much sooner.

Mishkin acknowledged that short iterations lead to some kind of pressure but given that every iteration is leading to valuable, working software the pressure is not demoralizing but it in fact motivates.

Test Driven Development

Mishkin mentioned that the gains can be substantial when high speed of development is done with high quality development. TDD results in doing higher quality development. He added,

I have seen teams doing this that reduce defect rates to 5% (or less!) of what they once were prior to test driven development… while at the same time delivering projects faster than expected.

Mishkin suggested that a team who follows the above 3 practices can easily double their productivity if not more. According to him,

For a team of 5 people working on a 100 day project this amounts to shortening the project to 50 days (save $200,000) or get twice as much work done.

As suggested in the study, it is easy to see that Agile delivers a higher ROI as compared to traditional approaches. For getting the highest ROI a team might not need to follow XP and Scrum to the core, they could start with a select set of practices and see the benefits.

Tags:  敏捷开发 投资回报 短迭代 TDD 团队

延伸阅读

最新评论

发表评论