On a recent trip to London, I spent some time chatting to Dan North about Neuro-Linguistic Programming. As context for the discussion, Dan described the four states of the conscious competence learning model. Those states were:
- Unconscious Incompetence
- Conscious Incompetence
- Conscious Competence
- Unconscious Competence
The idea behind this is that to learn and master a new skill you will go through these stages until you achieve Unconsious Competence and therefore perform it instinctively.
In another unrelated (or at least I thought so at first) discussion whilst working on my current project, I had a chat with some colleagues about how we could improve the pairing programming skills of our team. We spent some time coming up with some patterns that we would like to see occur during pairing sessions on our project. Some come from the pair programming book by Laurie Williams, and others are things that we have come up with from our experience.
Here's a summarised list (I'm probably not doing this justice, as I'm not going to explaing what they all mean - thats fodder for another blog) of the things we came up with:
- Keyboard shuffle
- Take a break
- What's yours is mine
- Humble pie
- Partner swap
- Confident idea <--> Hear someone out
- Talk <--> Listen
- Compromise <--> Stand firm
- IDE Standard
So now that we had a bunch of stuff we wanted to teach the team, we had to figure out how we were going to do it. This was the point where I linked in the stuff that Dan had talked about, and we decided we needed to go through the conscious phases described above. In other words, a couple of us will try to coach the team by example, and we will verbalise (and therefore bring into people conscious thought) the patterns as we do them.
"I've been typing for a while now, so lets do a Keyboard shuflle so you can have a go"
Will it work? Dunno yet. We're giving it a go. Stay tuned...