My research falls in the area of human-computer interaction, with two main themes: improving work through software and data, and human factors in software engineering. In general I seek to facilitate the exchange of knowledge between practitioners and researchers.
Research Area I: Improving Work through Software and Data
There are three main areas of focus within this topic: using natural language processing to improve qualitative data analysis and requirements engineering, examining qualitative data analysis in software engineering research, and software engineering education.
Using natural language processing to improve qualitative data analysis and requirements engineering
Research in this area is concerned with improving the process of analyzing textual data, and with improving the quality of the results. Important work in this area has dealt with exploring natural language processing to improve the consistency of qualitative data analysis (Kaufmann, Barcomb and Riehle, 2020) and and using qualitative data analysis in requirements engineering (Kaufmann, Krause, Harutyunyan, Barcomb and Riehle, 2021). Current research in this area is supported by an NSERC Discovery grant.
Examining qualitative data analysis in software engineering research
This research area focuses on examining how researchers in software engineering area performing qualitative research, and how it might be improved. Initial work involved technical reports on using qualitative data analysis techniques to add rigor to the development of patterns (Riehle, Harutyunyan and Barcomb, 2020) and on using a distributed team for inter-rater agreement in qualitative data analysis (Kaufmann, Barcomb and Riehle, 2016).
Software engineering education
This topic concerns how to conduct and improve software engineering education. A key paper in this area concerned industry collaboration to improve the content of courses (Marasco, Barcomb, Dwomoh, Eguia, Jaffary, Johnson, Leonard and Shupe, 2022).
Research Area II: Human Factors in Software Development
This line of research focuses on the people and processes involved in the creation of software. There are three main areas of research under this theme, in addition to single papers exploring other ideas. The main areas are: open source software contributors and communities, diversity and inclusion, and component and tool selection.
Open source software contributors and communities
Much of the work in this area has focused on episodic participation, including why people participate episodically, how their episodic participation relates to their participation in other projects, and how communities or organizations can support and make use of episodic participants. The most important work in this area consists of three papers which were part of my doctoral dissertation; the papers examined the presence of episodic participation in free/libre and open source software development (Barcomb, Kaufmann, Riehle, Stol and Fitzgerald, 2018), retention of episodic participants in free/libre and open source software (Barcomb, Stol, Riehle and Fitzgerald, 2019), and practices for managing episodic participation in free/libre and open source software (Barcomb, Stol, Fitzgerald and Riehle, 2020). My work on episodic participation has also been the focus of my outreach activities. I published two practitioner articles and presented at five practitioner conferences between 2017 and 2020. Recent work in this area has also considered company participation in free/libre and open source software (Yenişen Yavuz, Barcomb and Riehle, 2022).
Diversity and inclusion
Work in this area has focused on ageism and sexism experienced by software developers.
Component and tool selection
This area of research focuses on decisions concerning developer's choices in component and tool selection.
Other work related to human factors has included examining how software developers acquire skills (Barcomb, Grottke, Stauffert, Riehle and Jahn, 2015), ordering managerial preferences for developers' skills (Barcomb, Jullien, Meyer and Olteanu, 2019) and the effect of autonomy on motivation in software development (Noll, Beecham, Razzak, Richardson, Barcomb and Richardson, 2017).