This post originated from an RSS feed registered with Agile Buzz
by Greg Vaughn.
Original Post: Distinctions of an Agile Developer
Feed Title: Potential Differences
Feed URL: http://gigavolt.net/blog/development/index.rss
Feed Description: Greg Vaughn on Agile methodologies, Java, OS X, whatever piques my interest!
Warning: risk of stereotypes and psychobabble ahead
I’ve been experiencing resistance to Agile methods lately and I’m trying
to figure out why. A few other bloggers have begun discussing this and I
hope I can add something useful to the conversation. Brian Marick touches on
several issues relating personality type/thinking style to testers and
Agile methods in general. He references Bret Pettichord’s “Testers
and Developers Think Differently” which initially made me wonder if
I’d fit better as a tester than as a developer. Brian also ties it in with
Alistair Cockburn’s
investigation of what sort of personality a business coach needs.
Now, I’ve long been fascinated with the Myers-Briggs style of personality
assessments since first being exposed in college (interestingly, it was a
Physics class, not Psychology). I’m INTJ with INTP leanings (now you
can all pigeonhole me :-) This personality type (or really the more
general ‘NT’ — the middle two initials) is a small percentage of the
general community, but a large percentage of the software development
community, so I believe that the differences between Agile and un-Agile
(for lack of a better, non-perjorative term) developers must be a second
order effect.
These ‘NT’ (Rational)
types learn to trust in their intelligence, often basing their own
self-image around it, which is usually compounded by their awkwardness in
social situations and the corresponding belittling during adolescence.
Though we don’t like to admit it, we ‘rationals’ do carry emotional
baggage as Chrisitan Sepulveda explores.
As a friend, Paul Holser, put it “we all want to be Spock, but are really
McCoy underneath all that.”
Agile development requires a large amount of humility. We have to trust
that practices such as TDD (Test Driven Development) might lead to better
software than what we could develop purely via our own creative processes.
And if it doesn’t then the problem might be us rather than the method. To
someone who’s self-image is largely centered on their own intelligence,
this hits mighty close to home and evokes emotional defenses. Ironic in
such rationally centered people. My working model is that it takes
maturity to reach humility, but I’m not particularly satisfied with that
because I can envision the argument “you don’t agree with me because
you’re immature and I’m not, so nyah.” I also wonder if there’s a faith
aspect too because it can cause one to re-center their self image on
something beyond themself thereby avoiding that emotional threat, but that’s not
something we ‘rationals’ talk about much, so it’s tough to tell.
One of the keys of the Agile
Manifesto is valuing “individuals and interactions over processes and
tools”. It’s people oriented. That’s what has been leading me down this
path of trying to understand people and their resistance. The manifesto
makes it sound so common-sensical, so adaptable, and so applicable in all
circumstances, but I’m starting to discover that valuing individuals
includes knowing when to stop pushing. So at what point to I stop trying
to convince people that Agile development would improve their situation
and simply look for a new situation for myself? Is Agile Methodology just
a “birds of a feather flock together” sort of mindset? Anybody know of some healthy flocks?