Understanding User Understanding: What do Developers Expect from a Cognitive Assistant?
Glaucia Melo, Edith Law, Paulo Carvalho de Alencar, Donald D. Cowan · 2020
Software development is a complex endeavor that depends on a wide variety of contextual factors involving a large amount of distributed information such as technology-related tasks, software operating environments and stakeholder requirements. Most of this context is implicit and captured in the developers' minds (tacit) or distributed through volumes of documentation. Developers have to maintain mental models of this variety of tasks and information as they produce the software. As a result, context can be easily lost or forgotten and developers often use adhoc approaches while finishing the project. We present in this paper the preliminary results of a study that aims at analyzing qualitatively whether supporting software developers with a chatbot during task execution can improve the overall development experience. The chatbot can assist the developers in executing different tasks based on implicit contextual information. We propose an implementation to explore the viability of using textual chatbots to assist developers automatically and proactively with software development project activities that recur. We believe that understanding the interaction of developers with the systems supported by chatbots is key to improving the developer experience and advancing software engineering practices by providing needed timely support for developers.