From Continuous Software Engineering Reference Ontologies to the Integration of Data for Data-Driven Software Development

Detalhes bibliográficos
Ano de defesa: 2023
Autor(a) principal: Santos Junior, Paulo Sergio dos
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Tese
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal do Espírito Santo
BR
Doutorado em Ciência da Computação
Centro Tecnológico
UFES
Programa de Pós-Graduação em Informática
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: http://repositorio.ufes.br/handle/10/12760
Resumo: Context: Software organizations face several challenges, such as the need for faster deliveries, frequent changes in requirements, lower tolerance to failures, and the need to adapt to contemporary business models. Agile practices have allowed organizations to shorten development cycles and increase customer collaboration. However, this has not been enough. Organizations should evolve to continuous and data-driven development in a continuous software engineering approach. Continuous Software Engineering (CSE) consists of a set of practices and tools that support a holistic view of software development with the purpose of making it faster, iterative, integrated, continuous, and aligned with the business. Software organizations often use different applications to support CSE (e.g., project management tools, source repositories, and quality assessment tools). These applications store useful data to enable a data-driven software development process. However, data items often remain spread in different applications, each adopting different data and behavioral models, posing a barrier to integrated data usage. As a consequence, data-driven software development is uncommon, missing valuable opportunities for product and process improvement as well as new business opportunities identification. Objective: Considering the need to enable data-driven software development in the CSE context, we aim to provide an ontology-based approach that can aid in: identifying the organization’s information needs, retrieving data from applications, and providing integrated data that meets the information needs. Method: By following the Design Science paradigm and organizing experimental studies as learning iterations, we developed the Immigrant approach, which contains three components: California (a System-Thinking-based process), Zeppelin (a CSE diagnostic instrument, which helps identify the organization information needs), and The Band (an ontology-based integration solution that semantically integrates data from applications and, thus, provides integrated data to support data-driven software development). The Band is based on Continuum, an ontology (sub)network developed in this work to address CSE aspects (particularly, agile development, continuous integration, and continuous deployment) and that is used as a reference model to build software artifacts in the integration architecture. Results: Studies performed in software organizations evaluated each component separately. Results demonstrate California and Zeppelin’s usefulness and show that the integrated solution (The Band) contributed to improving estimates, provided data that helped allocate teams, manage team productivity and project performance, and allowed to identify and fix problems in the software process execution. The complete proposal Immigrant was evaluated in a case study. As a result, it was possible to identify problems related to the allocation of tasks, role overload, and code quality. Conclusion: The results obtained so far suggest that Immigrant is a useful approach to enable data-driven software development in CSE.