I also won't discount the frictional costs of changing teams. If you take two identical developers and switch their jobs, each of their teams would see a temporary hit in performance as each one gets acclimated. But they will eventually get to the point were their team is exactly as efficient as it was with the other employee.
That gave me a chuckle.
(Though, of course, some social intelligence goes a long way. No need to actually know how to code.)