In this presentation made during QCon London 2007, Dave Thomas talks about expanding people's expertise in their domains of interest by not treating them uniformly as they had the same amount of knowledge and level of experience.
Software is written by people, not by tools, processes or methodologies. Dave tells how the number of bugs per 1000 lines of code has remained roughly the same over a period of 25 years despite the fact that the tools have greatly evolved. The number of bugs have remained the same because the people are the same, and we are perpetuating the same mistakes, he says. "Herding Racehorses, Racing Sheep" refers to the very common practice of treating the team's members the same, expecting enlightening answers from a novice or treating an expert like a beginner.
Dave presents the Dreyfus model which shows there are 5 levels of expertise among people, making comments along the way:
- Novice: little or no experience. They need to be told what to do, and they need short term goals.
- Advanced Beginner: they have more experience, they have started to observe patterns in their own activity, have started to put some things together on their own, but they still need to be told what to do.
- Competent: they know what to do, and they can plan their own activity. They are good in their domain.
- Proficient: they have discovered there are other domains out there, not just their own, and they start exploring them.
- Expert: they are the wizards of their teams, they can give you all sorts of answers in many domains, and they are interested in trying out different things just to see if they work. One piece of amusing advice: "Never let an expert to choose the architecture of a new project." They are just curios to see if the solution works.
Most of the people are at the Advanced-Beginner level, according to Dave. We should try to move them up to the competent level by promoting competency in our companies.
Dave's humorous presentation lasts 1 hour.