On the Support for Designing a Conversational Software API: An Action Research Study: An Action Research Study - Bastos, Joao; Mello, Rafael; Garcia, Alessandro (Anais do Simpósio Brasileiro de Engenharia de Software (SBES), 2023)
Application Programming Interfaces (APIs) are everyday tools for every software professional. When creating an API, a designer typically abstracts the tasks the API intends to perform. The API user, on the other hand, will use the API to perform specific-propose tasks. During the development of an API, the designer needs to write dialogues with which the user will interact with the API, performing a conversation between them. In this way, an API capable of offering effective dialogues to its users is called a conversational API. In this paper, we report the action research that we conducted to identify effective strategies for designing conversational APIs. For six months, we followed the redesign of an existing API developed at an R&D laboratory of a large IT company. The action research required three complete cycles, exploring different techniques for supporting the API redesign. Based on this experience, we present in this paper a set of lessons learned and actionable solutions to support the design of conversational APIs.