Investigating Social and Human Factors in Requirements Management in Software Ecosystems - Gonçalves, Rodrigo Feitosa; Malcher, Paulo; Santos, Rodrigo Pereira dos (Anais do Simpósio Brasileiro de Qualidade de Software (SBQS), 2024)
In software ecosystems (SECO), requirements management requires cooperation and interaction between stakeholders, including keystones, end-users, and external developers. Therefore, it is essential to consider social and human factors (SHF) when conducting requirements management activities in SECO. This work aims to identify which SHF influence requirements management activities in SECO. To this end, we conducted a rapid review to identify which SHF influence requirements management activities in SECO and a field study through semi-structured interviews with professionals working in requirements management activities in SECO. The findings supported the development of an actionable framework to understand and improve SHF in requirements management activities in SECO and the instantiation of a tool with the components of the framework. In the end, an evaluation of the framework was conducted through a focus group involving five experts in requirements management, SECO, and SHF in software engineering, resulting in the final version of the framework, titled SHFiRM-SECO. Some results indicate that certain SHF may be specific or recurrent in SECO, such as coopetition, multiple actors and teams, and power relations. In addition, barriers such as the SECO openness and lack of experience with SECO may be specific to this context. To improve SHF, we identified the need for human interactions among actors, particularly through the involvement of skilled professionals, e.g., evangelists, partnership managers, and experienced SECO professionals. We argue that this work is appropriate for the software quality area, as it aims to integrate SHF during requirements management activities. This integration can improve the well-being of those involved in related activities, contribute to the identification of more precise requirements, reduce misunderstandings, and ultimately result in higher-quality software products.