Tuesday, October 03, 2006

Like XP For Your Brain

Way back in the mists of time, I wrote a GTD article called Turning "Stuff" into Action, in which I speculated that it would be really good to have a way to apply Test-Driven Development principles to my life.

And suddenly, over a year and a half later, I find myself reaching for TDD as an analogy when doing coaching with my Pathfinders group coaching clients.  On Thursday, while giving one client a bit of feedback on their initial goals (framed in terms of "not sucking") I wrote:

So, start with the assumption that all your "internal" problems are already solved and your self no longer "sucks": what do you want to do next? Taking this perspective accomplishes a couple different things: one, it sets you up to create an assumptive mental model of yourself as you want to be, and second, it puts you in a position to actually use your goals as leverage: not only to identify the real blocks, but also to use them as tests to tell whether the blocks have been fixed yet.

If you're ever done any programming, you can think of it as a kind of Test-Driven Development.  Right now, you are trying to do "big up-front design" of how your self should be, what your "code" should be.  What we want to do instead is create tests, and only modify your "self" the minimum amount necessary to make it "pass the tests". This ensures that we won't be doing lots of YAGNI's.

It seems that, somewhere along the line, I not only ended up applying this principle to my own life, I did so in such a way that I didn't even notice I was doing it until I started trying to explain it to others.  The client replied:

Ha! So we're doing extreme programming  ;-).

And at first I thought that it wasn't really XP, since we weren't doing pair programming.   But wait a minute.  Pair programming is where one person "drives" the details, while the other person helps to "steer" at the high level... so I guess this coaching thing actually qualifies as XP, in its own weird little way!

And now that I've noticed it, it keeps coming up again and again.  This evening, for example, I wrote (in response to a comment about productivity tools):

In general, I'd strongly caution people against adding new tools to their plate while working through this coaching process. The principle to be applied here is that we only make changes in response to "failing tests", and then only the minimal changes that "make the tests pass".

My personal experience has been that playing with "productivity tools" tends to lead to more introspection and tail-chasing, when what we all want here is less of that. Your focus should be on your goals, not your tools. If you need a new tool, you'll know.

For example, all of your workshop registration data is in physical file folders -- that I only created once I had a stack of papers to manage. When I first planned out the workshop, I had neither papers nor files. It's possible at some point I will need more sophisticated filing, to keep track of where everyone is on their goals, and I will probably use a PIM program at that point. But for now, I'm not there yet, so fiddling with software won't advance my goals.

So, it seems there is actually a method to my madness. "eXtreme Mental Programming"?   "Agile Self-Help"?   "Test-Driven Personal Power"?   Maybe I should go and see if any of those domains are available. ;-)

(In the meantime, if you want to find out more about how to apply this stuff to your life, be sure to check out my self-improvement blog, Live your dreams, or die trying.)