I've been thinking about why people should ever change projects. The longer they're on the project, the more familiar they are with it, and the more effective they are. We might draw this on a graph, with productivity increasing over time:
However it's likely that for a brand new project, there might be some initial work to do before they really get going: studying the problem, building some models, designing a solution, etc. So let's draw this in this way:
I'd also guess that for many projects, things are prioritized so that the parts with the best benefit/cost ratio are done first. That means as time goes on, the things the team is working on are less beneficial, or higher cost. We could draw it in this way, with cheap wins coming first:
What's the combination of these three? On one hand, people are becoming more effective over time. On the other hand, the things that being worked on are less important over time, because the most important things were done earlier. I multiplied the above three graphs to get this:
In this model, it takes some time to get going, but once the team is going, they're getting a lot of good stuff done. But eventually they end up working on less important or more difficult things. When should the management start moving people to new projects? I don't think you want to switch as soon as you pass the maximum effectiveness, because there's plenty more to do that's valuable. But eventually the things they're working on are just not that important compared to the contributions they could be making on another team, and I think that effect will overtake the effect of people becoming more knowledgeable about their current project. I just don't know how to identify that point in time.