Characterizing sustainable software engineering through a multi-method approach - Espírito Santo, Leila Karita dos Anjos do (2020)
The interest of the Information and Communication Technology community on sustainability has grown considerably in recent years. Although still at an early stage, the theme has become of great relevance since it forces us to think about what we have done to ensure the future generations continuity. In the Software Engineering context, when we think about sustainable software development, we face gaps, since this subject is still nebulous for software engineers and research community in Software Engineering. For software to be produced in a sustainable way, software engineers need to understand how sustainability concepts are incorporated into software development, so that they can have a clear, common and shared understanding of that knowledge. However, the development of a recent study on the state-of-the-art about software approaches that support sustainable Software Engineering showed that there is still a gap about what is sustainable software development, in fact. The lack of such an understanding can prevent the industry from building software with sustainable awareness. This research aims to characterize sustainable software engineering by highlighting the sustainable concerns present in the sustainable software development. To achieve this goal, this dissertation adopted a multi-method approach and produced a series of qualitative studies. The multi-method approach is a methodological research strategy that combines two or more qualitative research methods. We elaborated: a systematic mapping study with the intention of knowing the Sustainable Software Engineering domain; a survey to obtain the software industry perception on the adoption of sustainable practices; and a grounded theory, with the aim of to provide a common understanding of sustainable software development to readers. This dissertation concluded that the sustainable software development is characterized through the following sentences: technical, environmental and social concerns are present in all phases of sustainable software development. This means that researchers and software engineers are concerned with considering the longevity of the software produced, the environmental resources and the social welfare; the sustainable requirements identi cation must occur in the project initial phase with the support of experts engaged in sustainability, who must be part of the group of stakeholders; and the use of sustainable concerns can generate trade-offs in the project. Therefore, the results contribute to a greater understanding of sustainable software development, from the literature and software practitioners perspectives; and, consequently, with the evolution of the state-of-the-art in Sustainable Software Engineering.