A Deep Dive into Continuous Integration Monitoring Practices
Práticas de CI, Monitoramento de CI, Maturidade de CI
Uma das principais atividades no desenvolvimento de software é o monitoramento, que desempenha um papel vital na verificação da implementação adequada de processos, identificação de erros e descoberta de oportunidades de melhoria. A Integração Contínua (CI) abrange um conjunto de práticas amplamente adotadas que aprimoram o desenvolvimento de software. No entanto, há indicações de que os desenvolvedores podem não monitorar adequadamente todas as práticas de CI. Nesta tese, mergulhamos profundamente no oceano do monitoramento das práticas de CI. Nosso objetivo é descobrir como esse monitoramento é conduzido, demonstrar as vantagens do monitoramento das práticas de CI e destacar os desafios que precisam ser superados.
Em nosso primeiro estudo, analisamos o impacto de práticas específicas de CI no volume de Pull Requests e Issues relacionadas a bugs. Nossos resultados revelaram uma correlação positiva entre as práticas de CI e o aumento no número de merged pull requests. Nós também identificamos uma correlação significativa com o número de Issues relacionadas a bugs. Adicionalmente, nossos resultados sugerem que valores mais elevados de práticas de CI podem indicar uma melhor qualidade no processo de desenvolvimento.
Posteriormente, em nosso segundo estudo, investigamos a importância atribuída a essas práticas pelos desenvolvedores e o suporte ao monitoramento fornecido pelas ferramentas de CI mais populares. Descobrimos que geralmente os desenvolvedores monitoram apenas a cobertura e os metadados básicos da build (por exemplo, duração e status da build). Os desenvolvedores expressaram interesse em monitorar práticas de CI se tivessem oportunidade. Além disso, identificamos que vários dos serviços líderes de CI ainda possuem um suporte inicial para monitorar as práticas de CI.
Por fim, avaliamos o monitoramento em cenários reais, realizando um estudo de caso em três projetos de três organizações diferentes, no qual podemos verificar mais profundamente o interesse dos desenvolvedores pelo monitoramento de práticas de CI, seus benefícios, desafios e a evolução das práticas de CI durante um período de dois meses. O estudo de caso revelou que o monitoramento das práticas de CI oferece vários benefícios ao projeto e é pouco custoso de ser aplicado. Os participantes demonstraram um forte desejo de integrar dashboards de monitoramento de CI nos serviços de CI mais populares.