Data Analytics for Optimized Matching in Software Development
Matching Decision Problems
MetadataShow full item record
AbstractDecision-making in various forms of software development is challenging, as the environment and context where decisions are made is complex, uncertain and/or dynamic. Because of the associated complexity, decision making based on prior experience and gut feelings often lead to sub-optimal decisions. Among the various decision-making activities, stakeholders often need to match one entity (e.g. software artifact, human resource) with another (e.g. human resource, software artifact). Data analytics has the potential to generate insights, extract patterns and trends from data to guide the decision makers to make better and informed decisions under various complex decision scenarios involving matching. To prove the benefits of data analytics in matching, we have used five matching decision problems from open source, closed-source and crowdsourced software development context. First, with the use of predictive analytics, we have shown how the success and failure of crowd workers in a new task can be predicted by learning patterns from their and their competitors’ past behaviors. Based on the predicted success chance, we have also designed a task recommendation system to prescribe best suited tasks to crowd workers (task-worker matching). Second, by integrating crowd workers’ learning preference with predictive analytics, we have demonstrated how task recommendations can be generated from historical data taking workers personal learning and earning goals into account. The conducted user evaluation shows very positive feedback about the usefulness of the recommendations. Third, we have designed a theme (semantic cohesiveness) based approach for feature-release matching to prescribe features for the next release of iterative and incremental software development, considering multiple objectives, constraints and stakeholders preference data. Fourth, we have presented a multi-objective developer-bug matching technique that can prescribe developers for a batch of bugs balancing bug fix time and bug fix cost utilizing data mined from version control repository. Finally, using textual data extracted from issue tracking systems, we have proposed a collaborative filtering and bi-term topic modeling based recommendation system for tagging issues (tag-issue matching). The conducted quantitative and qualitative evaluation shows that data from various sources can be utilized for effective matching in various forms of software development.
CitationKarim, M. (2017). Data Analytics for Optimized Matching in Software Development (Unpublished doctoral thesis). University of Calgary, Calgary, AB. doi:10.11575/PRISM/25515
University of Calgary graduate students retain copyright ownership and moral rights for their thesis. You may use this material in any way that is permitted by the Copyright Act or through licensing that has been assigned to the document. For uses that are not allowable under copyright legislation or licensing, you are required to seek permission.