Determining the best-FIT programmers using prognostic attributes / Sorada Prathan - Sorada , Prathan (2018)
The software development industry depends significantly on human capital to maintain competitiveness through the development of quality software systems and project a company’s operational and service excellence. However, software companies find it difficult to identify and employ the best-fit computer programmers. This research is aimed at using a data mining technique to identify the best-fit programmers who fulfil the relevant eligibility criteria. The best-fit programmers were predicted using both the Bayes’ Theorem and Artificial Neural Network (ANN). The predicted best-fit programmers were compared to the good programmers who were identified based on the past annual performance appraisal results of two software companies in India. The datasets from the two companies (Company 1 and Company 2) covered the years 2010-2015. The Bayes’ Theorem was used to analyse the relevant programmer’s attributes, while, the Artificial Neural Network (ANN) was used to predict the best-fit programmers. The research established that the Bayes’ Theorem is useful in recognising the prognostic attributes of the best-fit programmers for software companies while Artificial Neural Network (ANN) classifier was effective in the predicting the best-fit programmers. Using a confusion matrix, the Artificial Neural Network (ANN) classifier performance is 97.2% and 87.3%, 95.8% and 54.5%, and 100% and 75% with regard to accuracy, precision, and recall on the two test datasets of Company 1 and Company 2, respectively. The results are satisfactory enough to introduce a new technique to identify relevant attributes for predicting the best-fit programmers. Software companies can use this technique in their recruitment and selection process to determine the best-fit employees for the programmer posts. The proposed technique can be adapted to be applied in other disciplines such as sports, education, etc, to identify and employ the most suitable person to fill a particular position.