Last week I attended Alistair Cockburn's "Advanced Agile Master Class" here in Salt Lake. I've made no secrets about the fact that I am one of Alistair's minions, but to have me as a minion comes with a price - you have to keep me interested by challenging me to learn and grow whether I like it or not.
Alistair's class didn't disappoint. I will have more to say about the class in subsequent postings, but for now I wanted to focus on a key piece of knowledge that I walked away from the class with. At the outset of the class Alistair had asked all of us to identify what we wanted out of the class. My goal was to come up with two different ideas that I could immediately put to use in my own organization. Two may not seem like a lot, but if you're around Alistair and the Salt Lake Agile Roundtable group for any length of time, you'd be amazed at how many great ideas just loiter around making a nuisance of themselves until you give in and try them and I was looking for something fresh and new.
I'll save you the cliff-hanger. I had my two before the first day was out. What was interesting is how the realization of one of these two (Distributed Cognition) came about in the context of Alistair's class.
Distributed Cognition (Wikipedia Entry) implies that the common thinking about a specific domain isn't limited to an individual but is rather shared across a group interacting within that domain. Consider the defensive unit of a professional football team. In order for the defense to do their job they have to instantly react to their observations of what the offense is doing, all without relying on explicit communication between team members.
When you discuss defensive units you frequently hear terms like "on the same page" or "the unit is meshing well". These terms are useful in giving some indication of how far along the team is in creating a shared cognition of their domain.
Fortunately for us, business does not move at quite the same pace as professional football. But there is no doubt that business does move fast. Fast enough that "being on the same page" becomes increasingly important as the business grows beyond a few guys in a room.
The reminder of the theory of Distributed Cognition was timely for me. Entering into the class one of the key challenges I had been facing (and not necessarily succeeding at) at my company was the increasingly complex challenge of keeping everyone in the company on the same page as our company grew. The tricks we used to keep everyone on the same page three years ago were failing to get the job done as we added more people, projects and responsibilities.
For those of you paying attention, Distributed Cognition isn't a specific practice, like unit testing or stand-ups. It is a theory. As with any theory, there are a number of practices that are derived from it that can be applied to different situations. This is important because I wasn't looking for a specific practice - I was looking for a theory.
One of the key points that Alistair kept hammering home in the class is that Advanced Agile class isn't about practices. It was about theory and self-awareness. This is all part of his Shu-Ha-Ri pattern of mastership for our software craft. For those of you too lazy to click the link, the short version is: Shu - specific practices, Ha - theory behind practices, Ri - self awareness to recognize the right theory and pick the appropriate practice.
Had the class focused only on practices, we *might* have been able to learn 4-5 well enough to take away and implement elsewhere. Since we instead focused on theory and self-awareness, I now have a name for a whole set of practices that I can discover and try out to see which best suits the needs of my company. Prior to the class I was aware of the theory, but it was the environment of the class itself that fostered the moment of self-awareness that indicated the applicability of Distributed Cognition to my organizational challenges.
Did everyone who was in the class get this level of understanding from the training? Good question. In some of the sidebar discussions I had with Dennis Stevens (Dennis's Blog) it was clear that our experiences in the class were similar in regards to the understanding derived from the class, but it would be interesting to hear from others that have been in the class. If you have, please take a moment to post a comment here about your experience with Alistair's "Advanced Agile" class.