Have you ever wondered why it is so hard to achieve real change in organisations?  Have you ever wondered why organisations don’t really seem to learn?  Have you ever feared that, in spite of all the talk about change, it will really amount to nothing in the long run? There’s little-known answer to these questions,… Read More


I previously blogged about the nature of expertise, and resulting questions about the efficiency of expert-expert pairings.  Here I’d like to tidy up some loose ends with regard to the relationship between expertise and pair programming. How does expertise develop? Kahneman’s book points out that expertise develops, virtually inevitably, when a practitioner has long experience… Read More


Let’s start this post with a thought experiment.  Not in software development, but in playing chess. Imagine two novice chess players, working as a team. (We’ll assume their opponent is a computer, so it can’t overhear them talk.)  Our two novices will benefit greatly from their collaboration.  They’ll discuss all their thinking – everything from… Read More


I was talking to my Mum recently.  I mentioned that I’m becoming even more interested in people skills, and she said, “Oh, so you’re interested in management then.” Actually, no. I’m interested in people who are not managers improving their people skills. I’m interested in busting the myth that “people skills” is a topic exclusively… Read More


Imagine looking at a dog.  You instantly know that it is, indeed, a dog.  That’s an incredible feat of pattern recognition, performed almost instantly and without any conscious effort. Is it really incredible?  Yes.  It just seems easy because you’ve been doing it effortlessly since about age three.  To remind yourself how difficult it actually… Read More


I tried the Dvorak keyboard layout in late 2000.  Hated it. It’s definitely designed for mechanical typewriters not electronic keyboards, since it attempts to maximise alternating between left and right hands. That’s great with physical levers moving around in a typewriter, but is counter productive in an electronic keyboard. Back in 2000, there were very few other… Read More


Bayes’ Theorem is an important tool when analysing probabilities.  It helps us to avoid cognitive traps and make better decisions.  However, it is usually presented as something difficult, or even controversial.  The typical article on Bayes’ Theorem stresses how difficult it is, and then goes on to bemoan the fact that its not more widely… Read More


It’s over 7 years since my first post on contracts for agile projects.  During the years since I’ve worked almost exclusively on agile projects with fixed scope, learning some real-life lessons along the way. So here are some of the key points that now I keep in mind when considering estimation, pricing and contracts for… Read More


Alistair Cockburn wrote Agile development calls for a certain amount of ambiguity and flux in the project. Not everyone enjoys ambiguity and flux. I would suggest that most people don’t. A very good point.  I think this affects some agile implementations – causing them to back away from being really agile, into a no-man’s-land between… Read More