Setor: Logística
Produtos da JetBrains usados: Qodana, IntelliJ IDEA
Tamanho da organização: 16.000 funcionários
Tamanho da equipe: 800 desenvolvedores, 1.600 projetos no GitLab
Pilha de tecnologia: Java, PHP, Swift, Typescript, Jenkins
A Evri é a maior empresa do Reino Unido dedicada à entrega de encomendas, entregando mais de 720 milhões de unidades por ano. A empresa tem a missão de ser a maneira mais conveniente de enviar, receber e devolver encomendas, sem custar caro. A Evri trabalha com a maioria dos principais varejistas, mercados e sites de produtos de segunda mão da Europa. As raízes da Evri remontam a Yorkshire, em 1974, mas a empresa cresceu ao longo das décadas e agora conta com uma equipe de mais de 8.000 funcionários, mais de 26.000 entregadores, mais de 14.000 locais fora de casa e uma rede crescente de centros e depósitos de última geração.
Como um importante provedor de logística, a Evri gerencia um grande volume de encomendas em todo o Reino Unido e as distribui aos clientes finais. Seu software abrange sites de comércio eletrônico para reserva de encomendas, APIs que permitem que clientes internacionais e de varejo gerenciem dados de encomendas e ferramentas internas para operações de infraestrutura física.
Para garantir que a implementação e a manutenção dessa ampla gama de softwares seja a mais tranquila e eficiente possível, a Evri estabeleceu uma equipe dedicada à Experiência do Desenvolvedor (DevEx), focada em aprimorar os fluxos de trabalho de desenvolvimento e melhorar o desempenho e a satisfação dos desenvolvedores.
A equipe de DevEx buscou automatizar a verificação da qualidade do código para manter padrões consistentes, promover a colaboração, acelerar o lançamento de produtos e resolver problemas com antecedência.
Anteriormente, a Evri usava o SonarQube para análises de qualidade, mas começou a procurar alternativas. Eles questionaram sua eficiência de custo e estavam preocupados com o excesso de problemas preexistentes em sua configuração. Como Luke Morton, arquiteto técnico sênior da Evri, mencionou, ”... as pessoas podiam criar suas próprias regras de análise para fazer com que seu código passasse por critérios de qualidade. Tínhamos um controle de qualidade limitado sobre nossos padrões de código."
Eles decidiram migrar para o Qodana por vários motivos:
“Obter o feedback diretamente diante dos desenvolvedores como parte de um comentário numa solicitação de merge é fundamental para que eles sejam priorizados para ação.”
— Luke Morton, arquiteto técnico sênior da Evri
“Algo novo foi a decisão certa. E nos permitiu estabelecer expectativas desde o início.”
— James Hattersley-Dykes, engenheiro principal da Evri
A principal vantagem do Qodana para a Evri foi o fato de que, uma vez configurado em seu pipeline, eles puderam contar com ela sem a necessidade de supervisão constante.
No pipeline da Evri, o processo começa com a compilação do código e a execução de testes de unidade e integração. Em seguida, vários gates de qualidade, incluindo o Qodana e o Snyk, são executados em paralelo. Cada ferramenta fornece feedback sobre a solicitação de merge. Se algum gate de qualidade falhar, a build é interrompida, impedindo que a solicitação de merge seja integrada ao branch principal. No entanto, o código ainda pode ser implantado em um ambiente de recursos para testes adicionais.
O Qodana contribuiu significativamente para reduzir o tempo de lançamento na Evri. A integração da ferramenta em seus pipelines possibilitou lançamentos mais frequentes e rápidos. Especificamente, o Qodana fornece “feedback rápido” dentro das solicitações de merge, permitindo que os desenvolvedores resolvam rapidamente os problemas, acelerando assim o processo de lançamento.
“O Qodana reduziu drasticamente os tempos de lançamento na Evri ao fornecer feedback rápido sobre as solicitações de merge, permitindo uma resolução mais rápida dos problemas. Seus tempos de análise rápidos, de três a cinco minutos, substituíram as incômodas durações de 20 minutos.“
— Luke Morton, arquiteto técnico sênior da Evri
O Qodana opera com o mínimo de ruído e exige menos gerenciamento contínuo, o que o torna mais fácil de usar.
“Não usamos o Qodana no dia a dia do DevEx; apenas o administramos. O fato de não precisarmos pensar nele significa que ele está funcionando bem. Não penso no Qodana há semanas, o que mostra que ele está fazendo seu trabalho.”
— Louis Jones, engenheiro-chefe de experiência de desenvolvedor da Evri
O Qodana serve como uma fonte adicional de aprendizado para os desenvolvedores.
“O Qodana ofereceu uma oportunidade de microaprendizagem para nossos desenvolvedores porque, se o Qodana colocasse um comentário em uma solicitação de merge, eles poderiam clicar nele, ver o problema e entender como resolvê-lo.”
— Luke Morton, arquiteto técnico sênior da Evri
Amit Weinblum, líder da equipe de infraestrutura da Moovit
O Qodana estabilizou nosso sistema de produção e permitiu que os desenvolvedores evitassem deixar a correção de problemas para etapas tardias do pipeline. Estamos vendo a mudança de paradigma, em que as equipes de desenvolvimento seguem as políticas e economizam algumas noites sem dormir com o Qodana.
Daniel Larson, arquiteto de software, Zynex Monitoring Solutions.
Acreditamos que o Qodana ajuda todos os nossos desenvolvedores a escrever o melhor código possível, independentemente do nível de experiência. O Qodana ajuda nossos desenvolvedores juniores a escrever código de nível sênior e também ajuda nossos desenvolvedores seniores a manter a qualidade do código esperada. Considerando os vários tipos de inspeções que ele oferece, esperamos que o Qodana possa atuar como um orientador de desenvolvedores, além de ajudar a manter os padrões de qualidade de código em nossos produtos.