Managing a project course using Extreme Programming

Author(s): Wellington, C.A.
Venue: Frontiers in Education, 2005. FIE '05. Proceedings 35th Annual Conference
Date: 19-22 Oct. 2005

Type of Experiement: Case Study
Sample Size: 15




Shippensburg University offers a course entitled "Extreme Programming" as an upper-division course for students seeking a B.S. in Computer Science; Managing a Project is a case study of one year's class and the struggles and accomplishments of the two teams involved.

The class began with a two week "technique spike" in which the students were introduced to the concepts and principles of extreme programming; the technique spike emphasized pair programming, test-driven development, and planning in extreme programming. After the initial "technique spike", the class began work on the project and adopted regularly schedule iterations. The recommended iteration time-frame for extreme programming is between two to three weeks; however, iteration planning and limited time as a team led the class to adopt slightly longer iteration length of four weeks.

Task cards were assigned to individual students, and colored stickers were used to visually track the students' progress; once a task had been completed by the student, the task's completion was first verified by a "story advocate", and then the instructor of the course. The purpose of this process was to track individuals' progress and improve the quality of the code.

Metrics were taken of the finished product for both teams; the projects were measured in terms of method lengths, Cyclomatic Complexity, methods per class, and classes per packet. Based on the data provided, the code analyzed is generally very clean. The course as a whole was declared successful and students who participated in the course reported seeing value in the extreme programming process.