An Introduction to Extreme Programming
Subject:   XP in a classroom
Date:   2001-05-10 10:32:51
From:   slimick
I used XP in the Software Engineering course this
spring. Well, I tried. I did have very positive
results. Of my four groups ALL had functioning,
useful code at the end (something I've never had
before). The things that worked best:
- Defining stories;
- Picking stories for V1.0 (I had a drop dead
date of March 1 -- there was no grumbling
about too soon or an unfair target.)
- Having acceptance tests available a week before
both deadlines (V1 - 3/1; V2 - 4/17)
- In the group where all the students were at
the same level of ability, pair programming
worked well.
- By having simple stories, people could use
simple designs.
Things that didn't go right:
- The other groups consisting of an obvious
master programmer plus novices
did not use
pair programming. Apparently the novices
were overwhelmed by the master.
- I didn't do enough on having the groups write
unit tests before they started programming.
Things would have worked better if I had done
- Apart from one group there seemed to be little
sense of ownership.
- Had the semester been longer, there would have
more refactoring -- some had already started.

One factor in looking at our results is that this
is not a residential 4 year school -- one group
had a residential CS major, another residential
CS major who was on the women's basketball team,
and a third who lived 50 miles away and
depended on others for transportation, since he
has a medical disability that does not allow him
to drive.

In the past most of what I got from the Software
Engineering course were promises, excuses, and
software that barely compiled. I intend to use
XP next time (Spring 2003) when I have this
course again.

John Slimick
University of Pittsburgh at Bradford
Bradford PA 16701