: Coupal, C.; Boechler, K.Venue
: 2005 Agile ConferenceDate
: 24-29 July 2005
Introducing agile... is an experience report of a final-year software engineering course at Saskatchewan Institute of Applied Science and Technology. The course had previously employed traditional waterfall methodologies, but had experienced increasing difficulties meeting customer requirements as the years progressed. The final year the course was conducted with a waterfall approach, less than 50% of the functional requirements were implemented in the final system; this was due to increasing complex systems and requirements made by the customers. The authors decided to adopt extreme programming after attending the Agile Universe 2004 Conference.
Task cards were used to track iteration progress; a bulletin board was set up in the lab to hold the incomplete task cards left in a release. UML and other modeling techniques were used and saved to document design. Each work period began with a short stand-up meeting; while initially viewed as a waste of time by some participants, the stand-up meetings were soon viewed as a valuable way to gain understanding of what each member of the team was working on. Collective code ownership and pair programming were used to encourage knowledge-sharing amongst the team members. An on-site customer was not available for all teams, so email and phone communication were used to elicit the requirements and receive feedback from the customers.
Both customers and students saw an improved quality in the product developed using extreme programming; the students themselves became more interested in the course because they were more quickly able to design and implement features. The authors noted that the lack of an on-site customer caused difficulties in obtaining quick feedback, which led to idle time while waiting for answers and clarifications; the authors hope to correct this by encouraging better task identification and organization next year.