Inspired by this post on Stack Exchange. I’m posting it as a text because I’m much more interested in how other lobsters answer the question rather than holding up what the SE folks said.
In The Mythical Man Month Brooks shares the idea of a “surgical team”, where only a few people write the core code and everybody else does some form of support. The system seems appealing to me, but it hasn’t been adapted at all in the wild. I’m curious as to why, and what’s wrong with it from people’s experiences.
SE had a few answers I don’t find that convincing:
It assumes only one person has a computer. When everybody has a computer, the benefits go away. It seems to me the core idea is not so much “we don’t have enough computers” as much as “specialization is useful”. We might not need a program clerk anymore, but a VCS-expert would still be valuable.
In Agile, everybody should have code ownership over everything. In practice I don’t see that often; huge chunks of the system still have a bus factor of 1 or 2. Arguably, having a specialized documentation role might even increase the bus factor by reducing the amount of oral tradition.
How do we pick the surgeon? Everybody thinks they’re the top programmer. At least in the web dev world, there’s a shortage of senior programmers and a glut of juniors. I can see surgeon-style, if done right, working out with one senior as the surgeon and 2-3 juniors in lighter, specialist roles. This might also help with the catch-22 of “nobody wants juniors, but then juniors don’t become seniors”.
It’s more expensive. Probably :(
Those are my initial thoughts, and I’m interested in hearing yours.