I was reading a great article by Jurgen Apello called Managers Are Not Game Designers! I found the article to be amusing and informative, especially considering how at the office we’ve joked around about how we could make a collectible card game for how we do our development.
The most important element of his post is about how agile environments are constantly changing. The “Rules of the Game” so to speak are different nearly every single day.
The biggest challenge I have seen is figuring out which rules should become true rules, and which should not.
We have experimented with pairing, tdd, peer quality assurance, automated GUI testing, nightly builds, one week iterations, four week iterations, and many many different agile and non agile implementations of practices.
As a developer I have a natural inclination for setting rules in stone. I like to say “OK. This is how it is done. Let it be done.” Done, however, doesn’t exist in the real world. The environment in which the game of life, or software development, changes constantly. New information becomes available, and the “Rules” by which the game was being played have changed significantly.
In fact, it is a lot like Calvinball.