(Un)training puppies or adventures into the world of agile

As I was going through postings from our internal agile discussion forum  (yes, we do have one at Microsoft and it’s pretty vibrant too, with, on average, about a dozen of messages daily), I came across the draft of Sara Ford’s story about how she learnt to program manage an agile team after 6 years of waterfall. Sara is a colleague from Codeplex team. She was asking for feedback on it prior to posting it publicly, which she’s a got tones of. I don’t want to re-tell her story but encourage you to read the final version as I do think it’s an awesome first person account of how a convinced waterfallian ventured into the sea of agile and what kind of mindset conversions took place.

The paragraph that I thought was quite notable and also funny is when Sara talks about the spec:

“…during my first week on the team, I had asked a specification question, like how many characters do we allow for a password? And Jim says, “we’ll have to look it up in the test cases.” And I said very proudly from my Visual Studio experience, “Gotta love it when the test cases are the specs.” (yes, I said this to Jim Newkirk , my manager.) To which Jim very calmly replied, “That’s the way it is supposed to be.” And I laughed, and then after a pause, I said in slight horror, “you’re serious, aren’t you?” It was like finding out there was no Santa Claus or you really don’t vote for the President of the United States. The mind just simply can’t comprehend.”

With time Sara’s mind learnt to appreciate and make the most of test cases as requirements. This resonates with the The Equivalence Hypothesis  Bob Martin and I formulated several years ago stating that “as formality increases, acceptance tests and requirements become indistinguishable”.

When I saw Sara by the coffee machine today and commended her on posting the story, she mentioned that the actual look Jim had on his face at that moment of telling her to look up the spec in the test cases was identical to the one of a pet-owner who was ready to punish a new puppy for ruining the carpet and stopped short from smacking it while thinking to himself “Wait, it’s a puppy!”

After all, it looks like old tricks can be unlearnt.