Sometimes I read something and wonder if I’m living in the same universe as the author. Then I think about it some more and realize I’m not. Consider this article about How a Single Freelancer Outperforms a Whole Team. At first glance it makes sense. From the Mythical Man-Month to convoy speeds, a single person can be shown to be individually efficient than a team.
But, as I have been known to say, “What are you really trying to do here?” Are you trying to ensure that every individual is maximally busy? Rack up as many billable hours as possible? Ship something and never touch it again? Have the ability to chase after the “fad of the moment”? In that case, go ahead and lone-wolf it.
In my world, on the other hand, the goal is to add value, over time, in support of a larger goal. Those are very different goals. Which leads to two different answers. One optimized for the one wolf, one for the customer.
Yes, a single ship is (generally) faster than a convoy. A single rider is (generally) faster than a group. But consider the whole environment. In WWII convoys lost about 4% of their tonnage, while ships travelling outside convoys lost 20%. Overall there’s no question which method got more cargo safely across the Atlantic. For any given trip individual ships were less likely to be detected, but over multiple trips that changed significantly. It’s the same for developers. On any given task one experienced person is (generally) faster than a group. But over multiple projects, especially when you add in support/keeping the lights on, the overhead work will more than eliminate any gains.
The other, and more significant, way that article lives in a different universe than I do is around uncertainty. When you’re a contractor you either bid a fixed price/fixed result contract, or you go with a time and materials bid. In the first case you decide what you’re going to do up front, whether you understand the problem or not, then you do that thing. After you’re done you leave. Or get another contract to redo it based on what you learned. In the second, there’s no incentive to get it right. In fact there’s an incentive to keep going as long as possible. Either way, the lone-wolf contractor doesn’t care about the uncertainty.
I, on the other hand, care a lot about that uncertainty. In fact, dealing with that uncertainty and figuring out how to turn ambiguity into value is a big part of the job. To go with that responsibility is the autonomy to make the choices that add the most value. In conjunction with other people going through the same process.
Which leads to my biggest issue with that article. It implies/assumes that nothing anyone else does is impacted by the work the lone wolf does. That the lone wolf is a single point of failure during development and forever after as support. Even more critically, it assumes that nothing anyone else does has any impact on what the lone wolf does, or should be doing.
And that’s not the world I live in. Or want to live in.