Alistair started the day with a talk summarizing some of the most important ideas (in my opinion) from his book Agile Software Development, such as
- Three stages of learning a skill (Shu-ha-ri), one of my favourites
- The cooperative game, swamp game example
- Programming as theory building – great paper by Peter Naur (1986), reprinted in the Agile Software Development book
- The role of the project manager
- Agility and discipline
This part of the day was a nice, relaxed refresh of what I had already learned from the book. Nothing really new so far, but still the ideas are very good and the book is my strong recommendation.
The rest of the day was made up of group assignments. We did the “draw a drawing” communication game (one group has to draw a drawing based on textual instructions from the other group) in an agile version, meaning that there were three drawing rounds with reflection sessions after each round on how to do better next time. Alistair put a special emphasis on “cheating legally”, which means breaking assumed rules (as opposed to real rules) to improve project success. In fact, most of the improvement between the drawing sessions resulted from breaking assumed rules. Also the reflection workshops proved to be an important technique for success, which inspired us to do more of them in upcoming projects. In fact, reflection workshops are a technique we already used at webfactory for past projects, but not as regularly and often as we could have.
There were two more group assignments related to project management (Information Radiators, tracking project process) and concurrent development in the mid afternoon, and a “goldfish bowl” discussion at the end. Goldfish bowl meant there were a maximum of 5 persons discussing at a time, and the rest of the participants listening. Everyone wanting to join the discussion could take the place of one of the people discussing. The goldfish bowl discussion was there on special request of the workshop organizer, as Alistair stressed, and in fact neither he nor the participants had a good idea of what to use this discussion for. So we tried our best finding topics to discuss, but nonetheless the discussion was at no time really vivid. It ended with Alistair and two of webfactory, Per and Matthias, sitting on the discussion chairs, my colleagues trying to get Alistair to talk about agility topics.
To summarize the day: The morning was quite interesting and energetic. Maybe because of the lenghty three-course lunch, the workshop somehow lost drive in the afternoon. Especially after the drawing sessions, one game/group assignment seemed to follow the other and the workshop speeded up noticeably due to the fact that weekend was approaching.
After all, what did we get out of this workshop? Most importantly, the reassuring feeling that we’re on the right track with our approaches to agile software development here at webfactory. It was particularly great to learn that agile development and fixed-price contracts are not only compatible with each other, but that Alistair is even convinced that fixed-price contracts are the only reasonable contract model for software development and – the other way round – that agile development is the best way to cope with fixed-price contracts with tight budgets. This is the opposite of what most speakers on the OOP 2007 conference in January argued for. To us, it seems to be a more realistic view of project reality and encourages us to continue working the way we have always worked.