I want to talk about a couple of talks I attended at Agile 2009. Both relate to experts, expertise, and how one develops the latter to become the former.

The first was given by Jon Dahl, on “Aristotle and the Art of Software Development”. You can see video and slides of an earlier delivery of the talk. (I don’t think it changed much between deliveries; I also don’t know how much sense the slides will make out of context.) He viewed this subject through a lens of ethics: a Kantian view focusing on actions (and, in particular, universal principles motivating them); a Millsian view focusing on outcomes; and an Aristotelian view focusing on actors.

As you might suspect from the title of the talk, Dahl was most taken with the third point of view. (Which begins about 15 minutes into the video or 70 slides into the deck.) He presented Aristotle as linking ethics with happiness and a life well lived, and with virtue (in the sense of performing your function well). Honestly, it may be the case that many of these words had significantly different meanings for Aristotle than they would for us; in particular, Dahl glossed the Greek term that he translates as “happiness” as coming from “good” plus “spirit”; depending on how one takes the compound, I could imagine that as meaning “one whose spirit is good”, which makes the idea that ethical people are happy potentially more of a tautology than an an interesting statement.

Leaving these glosses aside: the point is that being good (virtuous) at something is inherent in the people who are good, rather than being rule-based. Which raises the question: how do you become a virtuous person? In the talk at Agile 2009, it sounded like at least some of Aristotle’s answer to that is fatalist: virtuous people are born, not made. (And—stop me if you’ve heard this before—virtuous people always turn out to be rich non-barbarian males. Sigh.) Watching the video of the RubyConf version, though, there’s a less fatalistic point of view: you gain virtue through practice and through modeling. So, to become an expert, you should hang out with experts, and practice; as you gain expertise, use your improved understanding to improve both your expert detection and your practice.

In contrast, if you’re a Kantian, instead of looking for good people, you look out for good principles, and follow them rigorously. In an Aristotelian point of view (again, with the caveat that it’s been decades since I’ve read any Aristotle myself, I’m just going by the talk), it would be possible to have virtues without formalizing the principles at all; furthermore, Aristotle’s virtues are means between excesses and defects (see slide 95; this gives me a Buddhist vibe, too), so following rules too strictly may actually be a sign that you’re straying from virtue.

The other talk was one by Mary Poppendieck on “Deliberate Practice in Software Development”. It discussed the nature versus nurture question of becoming an expert. My memory of the talk is that she strongly came down on the nurture side of that; rereading the slides, I’m not sure my memory is correct, but what is correct is that she claimed that nature alone is not enough: the way you get to Carnegie Hall is, indeed, to practice. Specifically: people need to practice their field for about 10,000 hours before becoming experts; and those who do eventually become experts practice longer and harder than those who don’t.

This last sentence, of course, doesn’t settle the nature or nurture debate: it may be that those who aren’t naturally gifted won’t become expert violinists no matter how long they practice. On a more meta level, it may also be the case that, without the appropriate nature, you’ll find practicing violin for 10,000 hours so offputting that you’ll give it up long before then. So it’s not clear (at least to me) to what extent nature is necessary; it does seem to be the case, however, that nurture (in the form of practicing) is necessary to become an expert, and in fact quite a bit of nurture is.

It’s not the case, however, that any old 10,000 hours of practice will do. As the title of the talk says, it should be “deliberate practice”, and Poppendieck listed four key factors in making the practice successful: a mentor, a challenge, feedback, and dedication. You want somebody else to guide you; you don’t want to be complacent; you want to know how your work is turning out; and, even with that, you need to put in the sweat. And she gave examples of how you might structure your work to support this. (Looking at it through a lean viewpoint; the slides don’t mention them, though the talk may well have, but I’ll bring up A3 reports.)

I was planning to turn this post into some sort of grand overarching pulling together of the above with some other articles that had come across my twitter feed. But, after listening to Dahl’s talk again, I’m having a hard time finding any nice symmetries. So, I’ll conclude with talking off the top of my head (as if I ever do anything else!):

Poppendieck’s recommendations don’t contradict the Aristotelian point of view: in particular, it sounds like Aristotle would wholeheartedly support having a mentor. Can we make other links: maybe Mill’s utilitarian point of view resonates with feedback, for example? Actually, I’m surprised at how hard it is to find explicit Kantian resonances with the deliberate practice model; is that a sign of something deep, or is that just a sign that the idea of having principles to guide us is to obvious as to not need stating? (As a side note, right now I’m finding the idea of following quite detailed Kantian principles in software development to be strangely appealing.)

The nature versus practice question is one that I’m interested in for both personal reasons and parental reasons. Take the question of how nature affects our practice habits: I’m a decent musician, but I was never one who was drawn to spend hour after hour after hour in practice rooms honing my art. I’m sure I could have become a better musician than I actually am, though I don’t know where my ceiling would be (if that concept even makes sense), but I do know that doing so would have required quite a bit more desire out of me. And I certainly support Poppendieck’s claim that not all practice is created equal: I’ve seen more than enough of people doing “practice” in ways that strike me as noticeably suboptimal.

As for nature and raw talent: I’ve seen enough exceptional people that I don’t believe that nature is irrelevant to becoming a world-class expert, from an outside point of view. But, from an internal point of view, it’s probably best to pretend that it is irrelevant: Poppendieck’s deliberate practice recommendations sound pretty solid to me, and I’m fairly sure that anybody following them and putting in the time would improve anybody’s skills. They also suggest a meta-approach: improve your skills at deliberate practice. Though, of course, you can’t just do that in isolation: you want to deliberately practice deliberate practice, which (among other things) means actually learning stuff.

Looking at holes in my own practice: of Poppendieck’s four recommendations, the area where I probably do worst is in finding mentors. (Indeed, in retrospect I probably should have spent rather more time acting as a mentor while managing the last few years. Sorry!) I imagine I shy away from feedback (both giving and receiving), too.

Important stuff; I hope we can all figure this out.

Post Revisions:

This post has not been revised since publication.