By the late 80s, empirical research in various areas of Software Engineering has demonstrated the crucial roles of expert developers in engineering productivity. With recent advances in data digitization, computational power, and automated engineering processes, experts have unprecedented opportunities to leverage their expertise and amplify their impact on the outcomes of software projects. Recent research efforts are determined to identify, categorize and measure these critical human resources to make software engineering processes more efficient while also improving practitioners’ well-being simultaneously.
This dissertation advances our knowledge about the productivity factors relating to workflows of expert developer groups mainly in Open Source Software (OSS) and proposes a novel management framework to address major usability, customizability, and extensibility issues in applying small-scale automation. Through three main studies, this dissertation employed multiple methods to ensure its research resilience, including reviewing the literature, mining software repositories, testing statistical hypotheses, interviewing prospective users, and prototyping. In the first empirical study, I coherently grouped atomic platform event logs into sensible developer effort trends and associated elite developers’ activities with the outcomes of OSS projects and mainstream ecosystems. Its results suggested that as contributor communities evolve, increasing responsibility for non-coding tasks had a negative association with the technical outcomes of OSS projects. The second study investigated how practitioners automated the accumulating non-coding and repetitive tasks with small-scale automation, SE bots. Through a tiered and mixed-method approach, this study systematically identified and categorized the state-of-the-art SE bots that are prevalent in OSS practice from the top 1,000 popular repositories. Further, I leveraged semi-structured interviews with elite developers to confirm and refine their usability issues and expectations of SE bots. The final study summarizes design guidelines and provides a prototype for a Bot Management Console, which intends to address main usability issues when deploying and applying SE bots from daily practice. The practical effectiveness of this console has been validated by simulated deployments in real-world scenarios.
The main contributions of this dissertation include theoretical development on OSS literature, actionable recommendations for software practitioners, and practical implications on bot design and implementations. The reported results also provide future research directions for improving expert developers’ well-being, engineering productivity, and ultimately the sustainability of OSS communities.