Extreme Programming: First Results from a Controlled Case Study

Author(s): Abrahamsson, P.
Venue: VTT Tech. Res. Centre of Finland, Oulu, Finland. Euromicro Conference, 2003. Proceedings. 29th
Date: 2003

Type of Experiement: Case Study
Sample Size: 4


Extreme Programming: First Results from a Controlled Case Study describes and analyzes the results from two weeks worth of software development using extreme programming on a small eight-week project. Four developers were given the task to implement a web-based “virtual filing cabinet” system to hold a large number of organized, rich (annotated) links to physical or web-based resources for a Finnish research institute. The level of the author’s involvement differed from mere observation, post-mortem analysis sessions were attended, as were daily meetings with the project team. The study aims at advancing scientific knowledge to understand the process of extreme programming in the context of developing information systems.

The paper provides collected data from the first two iterations of the project, showing that while the first release is a learning effort for all stakeholders, the second release shows improvements in estimation accuracy (26% improvement) and productivity (12 locs/hour improvement), while maintaining a low post-release defect rate of 2.1 defects/KLoc. The paper concentrates on analyzing the differences between the concrete data obtained over the two releases to assess benefits of extreme programming adoption.

Extreme programming literature has argued that the first release for a novice extreme programming team is a significant learning effort due to a high steep learning curve. This claim is corroborated with the data presented in this paper. As a general conclusion, the author proposes that, at least in the beginning of an extreme programming project, no more than 50-60% of work effort should be allocated directly to tasks.

An important finding that was identified through data analysis was that at the early stages of development, there is little need customer involvement in the project. This finding is not in line with the XP literature. Even so, the presence of a customer was appreciated by the development team, and the customer’s presence is proposed to have had a positive effect on team morale.

Findings also indicated that novice extreme programming teams are very careful about making time estimates too optimistic, but because of the rapid development methods of extreme programming, the team was able to convince the customer organization that the system could be delivered on time.