by DAN CALLOWAY
Published 7 March 2010

WEAVERVILLE, NC – Dean Sanders, the Computer Science and Information Systems chair at Northwest Missouri State University in Maryville, Missouri asked the students to evaluate the use of Extreme Programming for a project that was to be conducted in the undergraduate computer science curriculum and to write opinion papers on the subject (Sanders, 2002). The majority of the students were opposed to the use of XP as the preferred life-cycle model for the project, but did support the introduction of some of the practices of XP for selected courses. Among these acceptable practices were unit testing and coding standards for introductory classes. The students, however, felt that other practices should be deferred to project-specific courses.

As a means of corroborating the opinions of the students, Sanders (2002) conducted two pilot studies: one on pair programming and one on Extreme Programming. The reasons for these pilot studies were to develop substantiative experience to support the opinions of the students and to evaluate the literature on pair programming and agile methods to see where they fit into a typical undergraduate computer science curriculum.

The Pair Programming pilot study (Sanders, 2002) was conducted in the Summer semester of 2001. The course selected for the study was a Data and File Structures course consisting of a small group of individuals with mixed ethnicity and diversity among family obligations, gender, age, job schedules, and grade point averages who were felt to be ideal for the study. In general, the results of this pilot study revealed that most of the students were enthusiastic about the concept of pair programming and felt that they had learned quite a bit about working in pairs, communicating with one another on the project, and felt that this experience had been a rewarding one. One surprising result of the study, however, was that early on in the course, the majority of the students felt that the introduction of pair programming in the Data and File Structures course was very useful, but by the end of the course, most students had changed their minds as a result of the stronger students constantly having to explain concepts to the weaker ones, and felt that this practice should be delayed to a later course rather than being an introductory one.

The Extreme Programming pilot study (Sanders, 2002) was conducted in the Fall semester of 2001 where one project was selected as an XP pilot project to develop a teaching/learning environment for students in an introductory programming course. This particular project was selected for three reasons: (1) the instructor would be playing the role of the client, (2) the project was large enough to instill interest among students, and (3) the project could tolerate a lack of progress. The project, codenamed Jeroo, when completed, would allow students to control the movements of an animated character by writing programs in a Java-like language. The completed project would include a GUI, an animation plane, a source-code editor, a graphical environment editor, a lexical analyzer, a parser, a compiler, an interpretor, and a run-time module. A team consisting of six students all of whom had a demonstrated history of producing excellent work, were asked to conduct further research into XP practices and were asked how they would adapt those practices to the Jeroo project. Releases of the software client were developed about every three weeks. The team reported they attempted to follow the principles of simple design but time constraints made refactoring extremely difficult. Testing during the project did occur, but did not follow the prescribed practice of Extreme Programming. Students reported the most successful aspects regarding the use of pair programming and XP were the stand-up meetings, the variation on pair programming, and the use of CVS. The majority of the students felt that XP kept their morale high, but they did not deem XP suitable for all teams or projects, recommending that a subset of XP be used in future projects.

As a result of the student evaluations and pilot studies, Sanders (2002) made six recommendations for the use of pair programming and XP in an undergraduate curriculum: (1) ensure the introduction of XP does not conflict with broader educational objectives; (2) teach XP or agile methods in an introductory computer science course but be cautious about using either in introductory course projects; (3) an appropriately modified version of XP practices can be used on some projects and some teams; (4) a topics course is the most appropriate place to practice agile methods; (5) some of the practices of XP can be distributed among selected courses as enhancements or revisions of current practices; and (6) pair programming is most effective when students have developed individual skills, when members of team pairs have equitable skill levels, and the course includes regularly scheduled lab sessions.

The results of Sanders (2002) are consistent with the findings of (Kobayashi, Kawabata, Sakai, & Parkinson, 2006) in the use of the whole team concept in which all the players involved in XP projects are gathered together to work as a team, the planning game and short releases concept in which developers and customers make plans for short releases and iterations of software development, clearly identifying the role each plays, and the pair programming concept where teams work in pairs at a single computer when developing the software. Kobayashi, et al., recommends the introduction of selected practices of XP in projects, which is also consistent with the findings and recommendations of Sanders (2002) in the XP pilot study.

—————–

References
Kobayashi, O., Kawabata, M., Sakai, M., & Parkinson, E. (2006). Analysis of the interaction between practices for introducing XP effectively. In Proceedings of the 28th international conference on software engineering (pp. 544-550). Presented at the Far eas experience papers: development technique, Shanghai, China: ACM. Retrieved March 3, 2010, from http://portal.acm.org.library.capella.edu/citation.cfm?doid=1134285.1134361.

Sanders, D. (2002). Extreme Programming: The student view. Computer Science Education, 12(3), 235-250.

Get Adobe Flash player

SEO Powered by Platinum SEO from Techblissonline