Agile Software Development: An Industrial Case Study

Frank Maurer & Sebastien Martel
University of Calgary
Department of Computer Science
2500 University Dr NW
Calgary, Alberta, T2M 1N4
Canada
Phone: +1 (403) 220 3531
Fax: +1 (403) 284 4707
{maurer, smartel}@cpsc.ucalgary.ca

Based on industrial data from one company (Bitonic Solutions Inc. http://www.bitonic.ca/frontpage/index.html), we compare the productivity of agile methods with more conventional approaches. Bitonic was using ad-hoc OO software development practices (use cases, UML design, etc.) before adopting agile techniques, mostly XP techniques, last year. Besides switching to lightweight approaches in 2001, the company context stayed more or less stable over the timeframe providing the data for our investigation: the data was gathered from work for the same client on the same product and the team was stable over the time when agile approaches were introduced.

Bitonic deviates from the XP process described by Beck [1] in the following ways:

EMPIRICAL RESULTS

In this section, we summarize the empirical findings of the case study. A larger paper [4] that describes more details (including the exact definition of the metrics) is available upon request. Size metrics were gathered from the configuration management system for 16 monthly releases. 5 releases were developed using agile practices, 9 releases followed their original process, 2 releases were in the transition phase and were excluded when we computed the average results below. As effort we used the number of hours billed to the customer.

  NLOC/effort #methods/effort #classes/effort #features/effort
Average Pre-Agile 10.2 0.36 0.05 0.073
Average Agile 17.0 1.45 0.21 0.069
% Change 66.3 302.1 282.6 -4.96

Table 1 Productivity averages

Overall, if productivity is defined on hard size metrics (LOC, #methods, #classes), the results indicate strong productivity increases after adopting agile practices. If productivity is defined based on number of features delivered to the customer, productivity decreases are visible after adopting XP. The later results are unexpected and disappointing for agile approaches. Our paper [4] discusses this in more detail. The summary of the discussion is that Bitonic is now addressing much more complicated features than in the beginning of the project and, hence, would argue that a 4.96% decrease in the number of features delivered to the customer per hour in fact is an increase of their development productivity.

REFERENCES

[1] Kent Beck. Extreme Programming Explained: Embrace Change. Reading, Massachusetts: Addison Wesley Longman, Inc., 2000.

[2] Kent.Beck, Martin Fowler. Planning Extreme Programming. Reading, Massachusetts: Addison Wesley Longman, Inc., 2001.

[3] Ron Jeffries, Ann Anderson, Chet Hendrickson. Extreme Programming Installed. Reading, Massachusetts: Addison Wesley Longman, Inc., 2001.

[4] Frank Maurer, Sebastien Martel:  On the Productivity of Extreme Programming: An Industrial Case Study, http://sern.ucalgary.ca/~milos/Library.htm

[5] James Newkirk, Robert C. Martin: Extreme Programming in Practice, Addison-Wesley, 2001.