It takes one barbarian
Monday, February 25th, 2008A few months back, the team I work in was trying to introduce agile methodologies, such as test driven development and pairing. We were all very experienced professionals but none had practiced agile methodologies in a structured manner.
It so happens that some of us were fully convinced of their benefits (and informal practitioners). Others were skeptics. And one was firmly opposed to these practices because he had been very successful doing exactly the opposite and he felt hindered. It is only after he left the team that I realized how valuable this particular member was. Not only because of his expertise but for another very strange reason.
By constantly complaining and criticizing our practices he helped us refine them and remind everyone in the team what they were. The later proved invaluable as we were constantly falling back to our old habits and slowly decaying our advertised practices. His criticism was providing every member of the team with a strong sense of what we wanted our identity to be. The team’s social pressure was very useful to keep everyone in line. More so than any manifesto or charter. I believe this is akin to the kind of effect pairing has on code quality.
When he left, we started abandoning our best practices even faster. Positive reminders did not achieve the same effect. Granted, other changes came in the way of pairing in particular. It also happens that he actually started to see valuable things in our practices which made him a less steadfast contradictor.
So there you have it, maybe it takes a barbarian for greeks to be greeks. But beware that barbarians may in turn become greeks.