Engenharia de Software, Atividades de Teste, Tempo de Correção de Bugs, Colaboração, Reuniões Presenciais, Reuniões remotas, Métodos Mistos, Métodos Quantitativos, Métodos Qualitativos, Regressão Linear.
Contexto: Comunicação remota é uma atividade crítica em qualquer projeto de desenvolvimento de software distribuído. Apesar de estudos anteriores, ainda é necessário identificar, entender e caracterizar os fatores que podem afetar a comunicação remota e seus impactos em projetos de desenvolvimento distribuído de software. Objetivos: Assim, nesta tese, busca-se um avanço para melhor entendimento sobre a dinâmica de práticas de colaboração entre membros de projetos distribuídos, e como métricas corriqueiras de projetos, especialmente métricas relacionadas às viagens e reuniões remotas, estão correlacionadas ao processo de teste de software. Método: Começamos esta pesquisa por um estudo quantitativo utilizando dados históricos de uma base de gerenciamento de um projeto distribuído, onde investigamos a correlação de viagens para reuniões presenciais e reuniões remotas no tempo de tarefas de correção de bugs. Adicionalmente, na etapa qualitativa foram entrevistados desenvolvedores de software trabalhando em projetos distribuídos e coletada a percepção de suas práticas de trabalhos e o impacto da distância em seus projetos. Resultados: Baseado nos resultados da etapa quantitativa, encontramos que viagens estão associadas com três mil porcento mais horas do time corrigindo bugs (de 1 para 31.1 horas) em um release se comparado a outros releases onde não tiveram viagens, o que significa que as viagens estão correlacionadas com maior tempo total no mesmo release corrigindo bugs. Buscamos uma explanação mais contextualizada para estes resultados através de um estudo com diferentes empresas, onde entrevistamos dez engenheiros de software de sete empresas que sugeriram que as viagens para realizarem reuniões presenciais auxiliam seus times a melhorar a comunicação em etapas críticas dos seus projetos. Eles também explicaram como ferramentas podem prover comunicação contínua e em diferentes formas entre os membros do projeto para ajudar na segmentação da comunicação, a encontrar as pessoas certas para responder dúvidas ou ainda ajudar a resolver problemas em ambientes de testes ou produção. Conclusões: Nosso estudo quantitativo mostra a correlação de viagens para encontros presenciais e do tempo com reuniões remotas com o tempo empregado na correção de bugs durante um mesmo release de projeto. Os resultados qualitativos apontam para a importância de viagens e de suporte de ferramentas para se comunicar com outros membros remotos do mesmo projeto. Adicionalmente, foi observado que a diferença de fuzo horário em projetos do tipo innersourcing tem diferente correlação com o tempo empregado na correção de bugs dependendo da localização geográfica dos times envolvidos.