InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Agile Practices with the Highest Return on Investment

Posted by Vikas Hazrati on Jun 19, 2008

Sections
Process & Practices,
Architecture & Design,
Enterprise Architecture
Topics
Agile ,
Business ,
Delivering Value ,
Agile Techniques
Tags
ROI ,
Value & Metrics ,
Statistics

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.

Related Sponsor

In today’s hyper-competitive world, later may be too late to adopt Agile development and this Roadmap for Success will help you get started. Download "Agile Development: A Manager's Roadmap for Success" now!

Show me the data by J. B. Rainsberger Posted
Re: Show me the data by Greg Reynolds Posted
  1. Back to top

    Show me the data

    by J. B. Rainsberger

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


    I find it pretty irresponsible to make this claim without substantiating it at all. I happen to believe in the claim, but I wouldn't make the claim in public without something to point to. Mishkin? Show us the data.

  2. Back to top

    Re: Show me the data

    by Greg Reynolds

    I echo J.B.s sentiment. I am trying to follow up these statements that a team room adds 60% productivity and combined with TDD and short iterations you get 200% productivity increases. I would very much like to present empirical evidence or case studies documeting any results that substantiate increased productivity through Agile adoption. Again, could you please post or reference supporting evidence.

Educational Content

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.

Beauty Is in the Eye of the Beholder

Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.

Architecting Visa for Massive Scale and Continuous Innovation

John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.