Back in 2000, when Intelliware first started doing agile development, I became fascinated with the role that personality played in agile teams. Were there, I wondered, some personalities that weren’t well-suited for agile development?
To use a simple example, one of the articulated benefits of agile development is that, used well, it gives the customer better decision-making ability. We had a project where our customer “got” what we were doing so well that he was able to scope and have a good ballpark estimate of new phases to the project. For him, that was incredibly powerful because he could make trade-offs about functionality versus benefit quickly and easily.
But I know of several corporate cultures where people learn not to make decisions. In such cultures, making decisions ultimately leads to blame. So people learn not to make decisions. In such environments, people want the separation between the customer team and the programming team because then there are finger-pointing opportunities.
I also feel the whole “personality fit” problem pretty directly. Recently, we did an internal workshop on coaching, and one of the key themes of the workshop was fitting the personality of the mentor to the coachee. Each of us in the workshop filled out a “competency style” quiz. I found it interesting that, when our results were graphed, most of us in the workshop clustered in one particular quadrant, but I was one of the outlier dots. My rating was pretty extreme in the conceptual range. This was pretty consistent with other types of personality tests that I’ve done in the past. For example, my Myers-Briggs results are way out on the Intuitive side of the Intuitive/Sensing scale.
Okay, so what does that mean? The way this frequently plays out is that when I’m pairing with someone, I’m always talking about what I’m doing in high-level conceptual terms. One of the things that I took away from the coaching workshop is that if my pair isn’t oriented toward the conceptual the same way I am, my pair isn’t likely to be able to relate to what I’m saying.
The facilitator of our coaching workshop offered up the kinds of things that different personality types say when caught up in competency style disconnect. For my type, the phrase was: “I explained it all to them, and they still didn’t get it.” I recognized the phrase instantly as something that I’ve often said.
I feel the disconnect in the opposite direction as well: when my pair is describing their actions, I find myself saying things like, “I’m having trouble understanding the big picture” and “can we take a step back for a moment?”
Over time, I’ve had to learn coping strategies for these kinds of situations. I’ve had to learn to try to talk in specific examples, rather than talk about high-level concepts. Sometimes, I have to say, “just bear with me for a bit”, and I communicate using code. Code is concrete and programmers often understand it better than ideas.
There were times when effort of learning these coping strategies seemed larger than the benefit I received from pair-programming. That’s definitely not my perception now.