Como prezamos pela qualidade tecnológica dos nossos produtos

 | by  Fabiano Modos | Arquiteto de Software | Ambev Tech

Em uma empresa centenária como a Ambev, que começou seu processo de transformação digital há apenas 2 anos, é natural possuirmos um número considerável de sistemas legados e é por isso que precisamos estar sempre em constante atualização e preocupados com o nível de obsolescência dos mesmos. Então, como conseguimos garantir a evolução da nossa tecnologia?

 

Para termos uma ideia do tamanho do desafio que enfrentamos nessa área, precisamos falar sobre a evolução das linguagens de programação. Podemos tomar como exemplo a primeira versão da linguagem de programação Java, que foi liberada em 1995 e desde então já recebeu dezenas de novas versões.

 

Ao longo desse período, houve algumas mudanças de grandes paradigmas. Por exemplo no Java 5, em que foi disponibilizado o recurso de Generics. Ou no Java 8, que recebeu algumas funcionalidades de Programação Funcional. Essa mesma história pode ser contada para outras diferentes linguagens de programação, como por exemplo C# e Python.

 

Por aqui na Ambev Tech, assim como em qualquer outra empresa, queremos sempre evoluir as versões das linguagens de programação, mas nem sempre isso é possível por diversos fatores, como por exemplo tempo, investimento, risco, etc.

 

Mas já que a migração da versão de uma linguagem não é algo visível para o usuário ou para o stakeholder, como fazemos para promover essa evolução prezando pela qualidade tecnológica dos produtos?

 

Algo que experimentamos, e que deu muito certo, durante o ano de 2021, foi atrelar os indicadores de evolução tecnológica dos produtos à meta de bônus da companhia para todos os profissionais da diretoria de tecnologia (PO, PM, Arquitetura, Gerência, etc). A Ambev tradicionalmente entendia muito bem o modelo de bônus, mas queríamos garantir que essas metas fossem coletivas e que todos os times precisavam estar engajados em como melhorar os indicadores de maneira orgânica e genuína.

 

Nesse ano, trabalhamos com indicadores voltados para Qualidade de Código e Atualização Tecnológica. Na parte de qualidade de código, cobrimos indicadores do Sonar e vulnerabilidades das bibliotecas utilizadas pelos projetos e, para corrigir esses itens, na maioria dos casos precisamos subir a versão da biblioteca vulnerável.

 

O indicador de Tech Stack define versões mínimas de aderência de linguagens de programação, ferramenta de monitoramento e utilização de recursos PAAS.

 

No gráfico abaixo é possível conferir como foi a evolução de Code Coverage (CC), Índice Aderência Tech Stack (IAT) e Índice de Qualidade (IQ).

 

 

 

 

Sabemos que a base de versões aderentes de tecnologia é viva e por isso continuamos evoluindo a versão mínima conforme novas versões são liberadas. Por exemplo o .Net Core, que já vamos subir para versão 6. Já com relação aos riscos de vulnerabilidade das bibliotecas, analisamos constantemente utilizando a base atualizada da CVE.

 

A qualidade dos nossos produtos sempre foi e sempre será nosso foco. É por isso que continuamos crescendo com um time de especialistas dedicados, inovadores e que gostam de encarar desafios promovendo a revolução digital na maior cervejaria do planeta — do campo ao código, do código ao copo.