and
> Team stability is vital for software development. Each team needs to be composed of a majority of first-generation developers.
How does this interact with individual or career growth? I don't want to work for the manager who insists I stay on the first few projects I worked on at the company forever...
To take this seriously, internal churn (even if just someone being promoted into management, or specializing on expertise in a small part of the original project, or switching projects when they get bored) is almost as costly as external churn. Five, ten years later how much is their domain knowledge still that relevant to the people working on the code day to day today? It could be harmful if they've been out of the loop and make outdated suggestions, even!
Assuming and desiring your employees will stay in the exact same role indefinitely seems like a huge cause of churn.