Force the others to do less and less. I’ve seen this a million times, you have one dev going absolutely buck wild building a cathedral of abstractions that only they can understand. The rest of the devs struggle to implement basic features because, and I can’t overstate this enough because it’s true every time the code is a horribly written tightly coupled shoddily architected ball of chewing gum of twine spooky action at a distance with no isolation between components (usually because “DRY”) which is impossible to reason about unless you wrote it.
That dev becomes insanely productive in that codebase, the hero of to all managers, and everyone grinds to a halt gets demotivated because they can’t tackle anything ambitious.
"Please, joe, let's connect and you can follow along with what I'm doing". Silence.
"Hey, dave, I see the PR is only a few days late. We still have some time left, can you write a test for it?"
I can get stuff done or I can 'corral and build up' the others, but I can't do both. If you want stuff done by a deadline, and you will not discipline the non-contributors (discipline doesn't mean fire, but it might mean "you have to come to these meetings and pair and follow along and document and write tests")... what's left?
FWIW, I know the difference between decent teams and non-decent teams. The non-decent ones were poorly managed, largely because management could not determine who was skilled and who wasn't. The decent teams I've been on were situations where I still generally had more overall experience (function of age) but the other less-experienced people will still good, engaged, and already contributing, and were measurably improving month to month.
Often, if the work horse leaves, no one is able to keep the project going or rewrite the project from scratch. They should be able to do the latter if their suggestions are so great and they have been kept back. But they cannot.
People still believe in 10x. People also believe in agile. It's amazing. If you're doing code reviews, proper unit tests, Jira micromanagement bullshit, it's an impossibility to get a 10x dev. We have WIP limits for fucks sake! WIP!! You literally cannot merge enough code to be a 10x without management favoritism.
I'm not sure it's the same people who 'believe' in both, or... there's more nuance.
I 'believe' in the '10x' thing, because... at times, I've been the 10x person, by many metrics (bugs closed, docs written, tests written, lines of code, tickets addressed, etc). And yes, I'm aware that metrics like that can be gamed in some fashion. I never did, mostly because it's not really apparent at the time there's an output imbalance, but looking back at some numbers like those, I was the '10x' person on a team. It said as much or more about the rest of the team than it did me personally. I've been on other teams where I was decidedly not a 10x, and do have memories of being the -2x person a few times.
I 'believe' in agile, but only to the extent that it supports and enhances an already functioning team. I've seen it played out in a team from a few years ago, and it was as much of a 'well-oiled machine' as you could get while being a growing startup expanding and hiring a lot. That said, the skills and people together would have worked decently and productively together absent any formal process. Obviously just 'imo', but after decades in software, you sort of get a sense of skill levels and ability. We/they were a decent team, and would have been without 'agile' - that was some extra layers of process and ceremony which no doubt helped some people with visibility. That benefit was largely ancillary to the delivery of working software. One could argue the 'repeatability' and 'onboarding' benefits of 'agile', but I've not seen it be a huge boon in most teams I've seen adopt 'agile'.