One of the characteristics of an axiom is that it’s obviously true and as such you rarely question it.
As I look around the place where I work I can see that some people produce wildly more than others.
I’ve also worked on many projects where I’ve seen people who can clear the workload at an astonishing pace, they are obviously, noticeably more productive.
I was reminded of this axiom recently while reading a couple of articles by Venkatesh Raso on Developeronomics:
At the centre of the debate being had here is the idea of the 10x engineer:
The thing is, software talent is extraordinarily nonlinear. It even has a name: the 10x engineer (the colloquial idea, originally due to Frederick Brooks, that a good programmer isn’t just marginally more productive than an average one, but an order of magnitude more productive). In software, leverage increases exponentially with expertise due to the very nature of the technology.
While other domains exhibit 10x dynamics, nowhere is it as dominant as in software. What’s more, while other industries have come up with systems to (say) systematically use mediocre chemists or accountants in highly leveraged ways, the software industry hasn’t. It’s still a kind of black magic.
One of the reactions comes from Larry O’Brien knowing.net describing the 10X engineer like this:
This is folklore, not science, and it is not the view of people who actually study the industry.
Professional talent does vary, but there is not a shred of evidence that the best professional developers are an order of magnitude more productive than median developers at any timescale, much less on a meaningful timescale such as that of a product release cycle. There is abundant evidence that this is not the case: the most obvious being that there are no companies, at any scale, that demonstrate order-of-magnitude better-than-median productivity in delivering software products. There are companies that deliver updates at a higher cadence and of a higher quality than their competitors, but not 10x median. The competitive benefits of such productivity would be overwhelming in any industry where software was important (i.e., any industry); there is virtually no chance that such an astonishing achievement would go unremarked and unexamined.
In another article from 2008 Larry O’Brien gets into the specifics of programmer productivity:
That incompetents manage to stay in the profession is a lot less fun than a secret society of magical programmers, but the (sparse) data seem consistent in saying that while individuals vary significantly, the “average above-average” programmer will be only a small multiple (perhaps around three times) faster than the “average below-average” developer (see, for instance, Lutz Prechelt’s work at citeseer.ist.psu.edu/265148.html).
So, it would appear, there seems to be some disagreement on this axiom which is precisely why I started this series – how many of my axioms are really just nice ideas?
One of the problems with axioms is working out where I first came across them, this one is proving difficult to remember. I suspect that it comes from my old friends Tom DeMarco and Timothy Lister writing in Peopleware:
Three rules of thumb seem to apply whenever you measure variations in performance over a sample of individuals:
- Count on the best people outperforming the worst by about 10:1.
- Count on the best performer being about 2.5 times better than the median performer.
- Count on the half that are better-than-median performers out-doing the other half by more than 2:1.
Peopleware: Individual Differences
But where did this come from: "[this diagram], for example, is a composite of the findings from three different sources on the extent of variations among individuals". So it comes from research undertaken around 1984 on software programmers.
You may have notice that I was vague at the beginning of the post about who the 10X people were being compared with – the median, the worst? It was deliberate, because I didn’t know, the axiom had become degraded over time and I couldn’t be specific. I was confused, and after doing some digging, I don’t think I’m the only one.
DeMarco and Lister point to and reference some real research for 10X being between worst and best which seems like a safe place to be. Everyone seems to agree that there is an order of magnitude difference between median and worst so that seems like a safe place to be too.
I feel like I’m having to constrain my curiosity a bit because there would appear to be so much more to learn but my time is limited. So I’m sticking to the safe areas.
Whatever the true axiom, we all need to understand that there is a significant difference in people’s productivity (however you might be measuring productivity) which makes it’s vitally important that we get the right people doing the right things. But it’s also important that we understand what our 10X place is and seek to optimise our time there and try to remove the constraints that are keeping us from getting there (he writes after a day of endless interruptions and chats resulting in very little personal productivity ).