Creating a Dependency Management DevBot to Improve DeveloperWorkflows
Software Development Bots (DevBots) are automated tools that handle tasks in a software development setting, often used to simplify daily routines. Research within the field evaluates the use of DevBots but most focus on hard quantitative metrics (commits and pull requests) and only a few qualitative metrics such as how satisfied the developer is with the new DevBot and what frameworks could be used to build it. In this thesis, we use design science research to find obstacles within two teams at Ericsson. We structured the thesis into two iterations. In the first iteration we collect data and construct two initial DevBots, in iteration two we single out one DevBot, improve it, and evaluate it. The interview gave us the two main obstacles that we focused on for the DevBots: the migration of ticket data between two instances, and updating dependencies within a software project. We evaluated both DevBots through small tasks embedded in surveys sent out to potential users at Ericsson. We then chose one DevBot, Pepe, and conducted a focus group for the final validation of the tool. We had six participants in the interviews and the surveys and four in the focus group. Additionally, we investigate and list frameworks we tried to build our DevBot with, along with what benefits and drawbacks each of them has. We found that the choice of framework is heavily based on requirements, which means that there is no silver bullet. We conclude that future research should focus on expanding the list of frameworks, widening the use case for the chosen DevBots, and continuing the work to simplify the construction of DevBots as well as investigating the impact they can have on developers’ lives. We argue that guidelines on building DevBots using frameworks and approaching obstacles need to be further investigated.