I didn't have the opportunity to attend the recent Agile 2008 conference in Toronto but I attended a summary presentation a few weeks ago. These are the key points that excited me.
Celebrate your failures!
People typically feel bad when they fail at something. But if nobody knows you've failed you don't feel so bad. But if nobody knows you're hiding something and that is not good for your agile project. But what if you celebrated every failure? Then you wouldn't feel so bad about it. And a failure is really something you should celebrate because a failure revealed means you can learn from it and improve. And improvement is definitely something to celebrate.
This reminds me of a story Tobias Fors told. In order to make people understand that it is OK to throw an index card/post-it away he sometimes let everybody on the team write something on an index card. And then without revealing it to anybody they must tear it apart and throw it away. Apparently some people refuse... I guess that is related to fear of failure in some way...
BDD without BDD-framework
Dan North a.k.a. the inventor of BDD had a session where he showed how you develop behavior driven with a regular unit test framework. I think this is extremely interesting since I have always been convinced that BDD is just another name for TDD done right. Exactly how this is done will have to be a future article.
When you think about an agile project a lot of people think of an iterative process. But there are an increasing group of people who start looking at methods where the agile principles are used but without iterations. Kanban boards is one way of doing this that I mentioned earlier. I think this is a very interesting development.
I was also introduced to a new way of prioritizing items that was both fun, fast and effective even in large groups. I don't know under what name this was first described but I like the name trading game that was used during the summary. This is how it works:
- Everybody writes one different thing on five different index cards.
- All cards are collected and shuffled. Everybody is then given four cards at random.
- The remaining cards are laid out on a table.
- Now everybody may trade any of their four cards with a card from the table or from another person. The purpose of trading is to try and get four cards you find important.
- Create small groups of three persons each. Each three person group must now decide on which three cards are most important. They may only choose from the twelve cards they have in their possession.
- Each group's three cards are collected, shuffled and put on the wall. This is the starting point for further discussions.