I work for a company where 99% of our products are coded in our India office. We have many teams with different areas of expertise.
We have great developers, and the ones that aren't great often leave of their own accord because they don't have the necessary skill/aptitude to grasp our business and code base.
That being said, we have a difficult time measuring productivity. Jim Collins says we need to get the right people on the bus and the wrong people off (Good to Great). I feel like we've got the right people on the bus for the most part, but each coding task that we give is so different that we're struggling to use metrics to assess productivity.
We've discussed having project managers assign arbitrary point values to each task, but we worry some developers might just game that system. How have you overcome this (we have 70 developers and will probably have 100 by the end of the year).
First, are you working out of that office as well? If not, how can you accurately be assigned the task of figuring out which of these people are great and which suck? You wouldn't know them from Adam.
Second, define "productivity".