An Agile Mini-Project

The Agile Mini-Project is a workshop that I presented with Vieri del Bianco at the Essap summer school.

The workshop is a miniature XP project in half a day. It starts with a brief introduction where we introduce what the exercise is about, then we split the audience in teams of no more than 6 people. Each team is then mentored by a coach.

The planning phase of the exercise is to extract user stories from the vague handout that the participants were given. The idea is to identify stories that are small enough to be coded in very little time. The coach, acting as a customer, identifies which story or stories he wants built.

After planning comes design, when we ask the participants to identify classes (in the object-oriented sense) and their responsibilities. The point is not to obtain a complete design, but to think about the problem.

After the design comes coding: we split participants in pairs. Each pair works on the same stories. This is sometimes called “swarm programming”: by having more pairs solving the same problem in parallel, we get to choose the best solution. It makes sense in the class environment, where it avoids the overhead of integration; but it makes sense in production as well, expecially when the story is difficult and will lay the foundation for much later work. It pays to choose the best design among a few, rather than sticking with the only one that a lone pair of programmer could come up with.

The last part of the exercise is a retrospective. One pair from each team shows their work to the whole class, and we discuss different solutions.

The materials for the exercise are:

In retrospective, I think that half a day is too short for this project. Three-quarters of a day would be better. The purpose of the workshop is to tie together many themes, such as user stories, planning, test-driven development, design and acceptance testing. I think it works better with participants who have some knowledge of these topics.

2 Responses to “An Agile Mini-Project”

  1. Federico Says:

    Penso che se venisse fatto mercoledì, potremmo fare tutto il giorno il progetto e poi via a Campo dei Fiori in gita.

  2. Sourcesense buzz»Blog Archive » Sourcesense trainers at European Summer School on Agile Programming Says:

    […] trainers contribution has been centered around test-driven development and acceptance testing with Fitnesse. This year’s edition was attended by 28 students, […]

Leave a Reply