Η ανάγκη για την παραγωγή νέου λογισμικού αυξάνεται διαρκώς, τόσο λόγω της ψηφιοποίησης των διαδικασιών στη βιομηχανία, όσο και λόγω των αυξανόμενων απαιτήσεων των καταναλωτών για νέες ψηφιακές εμπειρίες. Η διαδικασία παραγωγής λογισμικού παραμένει, όμως, δύσκολη και πολύπλοκη, με πολλά έργα να μην φτάνουν στο τελικό στάδιο και να παραμένουν ανολοκλήρωτα. Για την αντιμετώπιση των προβλημάτων της διαδικασίας παραγωγής λογισμικού, οι εταιρίες ωθούνται να εφαρμόσουν νέες διαδικασίες και μεθόδους παραγωγής, όπως το Ευέλικτο μοντέλο. Είναι αναγκαίο, οπότε, να προσλάβουν τους κατάλληλους προγραμματιστές για τις θέσεις, που θα κατέχουν όχι μόνο τις απαραίτητες τεχνικές γνώσεις, αλλά και τις επικοινωνιακές δεξιότητες. Τα ανοιχτά αποθετήρια κώδικα μπορούν να προσφέρουν λύση στο πρόβλημα αυτό, καθώς παρέχουν πληροφορίες για τις τεχνικές ικανότητες και τις γλώσσες προγραμματισμού που χρησιμοποιούν οι προγραμματιστές. Επιπλέον, μέσω της αλληλεπίδρασης των προγραμματιστών, με σχόλια σε Issues και Pull Requests, μπορεί να αντληθεί πληροφορία για τις δεξιότητες επικοινωνίας τους. Στο πλαίσιο αυτό, η παρούσα διπλωματική εργασία προτείνει ένα σύστημα άντλησης και ανάλυσης των συνεισφορών των προγραμματιστών από τη πλατφόρμα GitHub, για τη παραγωγή χρήσιμων μετρικών, και ένα μοντέλο μη-εποπτευόμενης μάθησης για τον διαχωρισμό των προγραμματιστών σε ομάδες ανάλογα με τις δεξιότητές τους.