Case Study: Extreme Programming in a University Environment

Author(s): M. Muller and W. Tichy
Venue: Proc. 23th Int’l Conf. on Software Eng. (ICSE)
Date: May 2001


Current reports of Extreme Programming (XP) have been positive, although it breaks many traditional software development practices, such as documentation. Muller and Tichy wanted to gather unbiased experience with XP in a university course setting. They conducted a case study to gather a few conclusions about XP in academia.

The case study was held during the summer of 2000, at the University of Karlsruhe. All of the students involved in the study were graduate students, suggesting they have prior knowledge of programming approaches, and software development processes. They may or may not have had prior experience working with XP. The study consisted of eleven (11) students over a time period of eight (8) weeks. They were split into two teams of six pairs each (the professor had to be one of the pairs to get even numbers). Each team used Java and JUnit to develop a traffic simulation project. This traffic simulation had cars, traffic lights, and trains. Only 25% of the graduate students had done test-driven development (a practice within XP) before.

Surveys were distributed to see what the graduate students thought of using XP and the practices within it. 87% stated that the execution of automatic test cases strengthened their confidence in the code. Furthermore, they saw JUnit as an appropriate test framework for test-driven development. This is most likely because writing tests force engineers to distinguish between the functionality to implement and the base condition under which the implementation has to work.

Regression testing was uniformly seen as positive. Students commented on the fact that there are situations where testing is difficult to automate (such as graphics) or is wasted effort (during prototyping). Overall, students found automatic regression testing useful, but had problems following it and being accustomed to it.