Agile Backlash - Personalities

Elisabeth Hendickson recently posted an article on her blog discussing some of the latest backlash against Agile Software Development. She makes very good points, and the one about introverts dealing with extroverts tweaked me to some issues that I've been poking at over the last 10 years.
I suspect that some of these folks are introverts working with a whole passel of extroverts who took to the social nature of Agile like ducks to water. Introverts need time and space to process stuff internally. If they don’t get enough time to themselves during the workday, they burn out.
The Introvert/Extrovert point is interesting, and an area that I've explored over the years as well. I would like to say, though, that it isn't as simple as just introversion vs. extroversion.

I'm a card-carrying extrovert, and my full MBTI is ENFP. The interesting thing is that my combination of type indicators leads me to indeed be an extrovert, but I also need time on my own to integrate information. I'm energized by being in (and especially working with) groups while I'm there, but I do need to recharge later. I may seem impulsive, but that's generally because I've been thinking about a decision for a while already.

What I have found interesting in my decade in the 'agile world' is the over-representation of Intuitors (the 'N' in MBTI) that I've met. I did a poll on the XP list a number of years back, simply asking people their Myers-Briggs type. Only 7% of the respondents were Sensors ('S'), while 66-74% of the general population are S's. At one Agile 2010 session, I asked the question again and of around 10 attendees who knew their MBTI all were Intuitors.

I'm a computer geek and not a psychologist or sociologist (although as a coach I sometimes wonder...). I'm not qualified to draw any conclusions from very unscientific data such as this, but I do believe that where there's smoke there's fire.

When I first read about Extreme Programming in 2000 I distinctly remember thinking, "Yeah! That just feels right!" I didn't know it at the time, but that's the 'N' and 'P' in my ENFP doing their thing. I didn't need a stack of case studies or empirical data to tell me that Pair Programming was good - I just tried it. TDD sounded kind of weird, but when I and a colleague tried it, we were hooked almost immediately. We didn't need someone else to prove it for us, our gut feel said that the practices made sense and our own experimentation proved that.

I suspect, and have for a long time, that given the large majority of people who don't work by gut feel and intuition it's inevitable that there will be a backlash against practices that seem counterintuitive.

As Agile in whatever form you like moves into the early and late majority of Moore's adoption curve, it will encounter more and more of the majority of people who are Sensors. With that will come people who question the very foundation of some things that many of us have worked with for years. That will itself create friction, but it also represents an opportunity to further improve what we do now. If we can quantify why these practices are so good, we can likely also determine how to make them better.


Mike said…
Interesting. Card-carry introvert but my INTP hits your N and P indicators.
Huh! I hadn't though about the N/S dimension, but I think you're right.

I'm an INTJ. (People who know me don't believe the "I" part, but really, I am.)

When I heard Kent Beck explain XP using a mindmap to show how the practices all supported each other, it made total sense to me. As an NT, I think in models. I could see the model was sound, especially when Kent illustrated it with relevant examples. 90 minutes and I was sold.

But I also understand that S's just don't work that way.

Thanks for the reminder!
Dave said…
Interesting you say this just now. In Orlando, I participated in a breakfast discussion with some agile coaches who were interested in finding ways to help each other and other agile coaches improve their coaching skills. Someone (don't remember who) asked how many at the table were N's. All but two raised their hands. He then asked, how many don't know their types? The remaining two raised their hands. (This was, maybe ten people, all active in agile coaching.)
Introvert said…
Introversion/Extroversion are the only dimensions of MBTI supported by science, and Agile looks like something invented by extroverts to make introverts miserable. "Hey I know, if programmers constantly have someone looking over their shoulder, they'll be more productive, yeah!"
An N doesn't mean thinking with your gut, it means abstract reasoning, which I'm sure is common among blind idealists and among programmers who have to understand abstractions. Well the 'I' in my profile means I'm never comfortable with someone looking over my shoulder, and it makes me LESS productive.
Dave Rooney said…

Pair programming is no more having someone looking over your shoulder as the navigator in a rally driving team grabs the wheel from the driver.

It sounds to me like you have had some bad experiences with pairing. Is that the case?
Introvert said…

This guy admits the "dirty secret of pair programming."
"People work harder when there is someone looking over their shoulder."

HE likes to socialize at work, maybe because he's an extrovert, and he assumes others are like him.

Backseat drivers make me nervous when I drive a car as well, but at least driving is not a creative activity. It's a lot harder to be creative or to think hard with someone looking over my shoulder.

But the problem is not just pair programming, but micromanagement and lack of privacy in general. Maybe it helps extroverts stay focused, but it only kills my focus.
Dave Rooney said…

I also say that the peer pressure aspect is part of pairing, although I don't call it dirty. My experience is also that peer pressure is only required for a realtively short time while people get used to doing it.

Again, have you had bad experiences with pairing? Have you actually paired for more than a few mintues?

BTW, you may be interested to know that the people who came up with pairing as part of XP are all introverts.
Ilja Preuß said…
One member of the last team I worked on was an extreme introvert. When he got a new assignment, he could look at a blank wall for two hours thinking, before starting to code.

When we started to try pair programming, it would happen that as a driver, he would literally just stare at the screen for minutes. When asked what he was thinking, he would just raise his hand, saying "psst".

A few months later, he had become the strongest proponent of Pair Programming in the team, always being highly disappointed when he didn't find a pairing partner. He had learned a new skill - getting feedback on his ideas from a peer - and found value in it. Pairing with him still was different than with other partners, but it worked well.
Introverts may feel more drained at the end of a day pairing. (Personally, I just want to crawl under something and hide for a few hours at the end of an intense pairing day.)

But pairing is a learned skill, just like the art of conversation. Being an introvert doesn't mean pairing will make you less effective, any more than being an introvert makes you bad at conversation. Introverts can be fine conversationalists, and pairs, but may have to put more effort into learning how, and into practicing those skills.

The benefits of learning how to pair effectively are huge. Like Dave said, pairing isn't about having someone look over your shoulder. It's about collaborating. Sharing ideas. Helping one another get unstuck. Helping one another focus on the task at hand. Learning from one another.

I find that pairing makes me much more productive. But I had to make a conscious effort to learn how to pair effectively. And I had to let go of my fears about being judged. It's also a work in progress: I'm still learning how to be a good pair.
Agileotter said…
I am an introvert. If your experience of pair programming is one person working and one criticizing, then you've not had pair programming.

One might as well declare that friendship is a scheme by extroverts to make introverts unhappy, since one shares moments that would otherwise be private.

But where friendship is social, pair programming is about two people focused on code, not on each other, and certainly not one on the code and the other judging him.

It makes the code better. Even though I'm an introvert, I program in pairs.