I need your help on an idea that came to my mind recently.
Speaking in TFS terms, I am trying to come up with a formula that can determine the ownership index for some source-controlled file (i.e. who is the developer most responsible for that file).
That's why I'm looking for criteria I can use to calculate this ownership index. So far, the only feasible thing that comes to my mind is to sum the number of check ins, but this criterion seems fishy. Another criterion is to sum all the lines of code each developer has checked in, however 1) I am not sure if it is possible with TFS SDK 2010 and 2) Documentation lines should be skipped.
So, my question, I guess, is:
Are the above criteria (number of checkins + lines of code) sufficient to calculate an ownership index or do I need something else?
I 've participated in numerous software transfer projects, where one team handed over the sources to another. Under such circumstances it is vital to recognise who the true expert for a given source file / software component is.
So, I 've learned the hard way that the developer who is the gatekeeper, is frequently not the one with the highest churn, the commiter of the most changesets, the top bug-solver, the top feature-implementer etc.
You would have to get to know the software module, identify it's hardcore parts and then go look for the one(s) committed them. I believe those steps can't be automated - not in TFS, or any other suite.
A slight opportunity is to find out the one who constructed the module, that is inserted it in the repository. If this initial commit has flesh & bones (it's not a stub) you definitely have a candidate that knows a lot about it. This can be retrieved via TFS API.
It also helps to talk to the team about the matter.