Context
Developers responsible for the [your favourite programming language] (YFPL) component in your software system have just left the project. How difficult is it to replace them by other developers from within the same project? In other words, how risky is YFPL within your project?
Cases:
- some YFPL developers are still active: no problem, just reuse some of them;
- all YFPL developers have left: hire more YFPL developers / wait for new YFPL developers to join, not applicable;
- all YFPL developers have left: use developers from within the same project, who have not worked on YFPL, and may or may not have knowledge of YFPL. Hence, how likely is it that someone who knows [your second-favourite programming language] (YSFPL) also knows YFPL?
Approach
In my current research I'm trying to answer the above question by looking at SO questions and answers, to provide me with a general view of what programming languages developers commonly master together. The approach is based on frequent itemset mining, commonly used in supermarket research (people who buy diapers also buy beer).
As result one could see, e.g., that is is common for developers that answer YSFPL to also answer YFPL (be it the same question containing both tags, or different questions alltogether), but it is very uncommon for developers that answer YTFPL (T for third) to also answer YFPL questions.
I would conclude from this that it is difficult for YTFPL developers, but easy for YSFPL developers, to take over the YFPL component.
Question
How valid are my assumptions?
- the SO community is representative;
- the tags a SO user collects as a result of asking/answering questions are representative of her knowledge (also mentioned here).