A tecnologia é fator essencial à produtividade e ao crescimento das empresas, e neste caminho estão os responsáveis pelas áreas de TI que sofrem uma permanente pressão por inovação e entregas por parte dos gestores, pressão que tradicionalmente estava reservada às vendas, à área comercial, com as suas metas e planilhas.
Nestes últimos meses o debate entre especialistas – e mesmo para o público em geral – tem se concentrado na Inteligência Artificial Regenerativa e suas aplicações no dia a dia das pessoas comuns, e a sua acelerada adoção por empresas de todos os segmentos da economia mostra a propriedade desta tecnologia.
Mas, IA ou GenIA não cai magicamente nas linhas de produção, é necessário a preparação das empresas para o seu êxito. Práticas mandatórias nas melhores organizações têm sido a Integração Contínua (CI) e a Entrega Contínua (CD), consideradas como bases sólidas para garantir eficiência e qualidade, e por este motivo mesmo, adotadas por inúmeras empresas. Mas, estes conceitos, muitas vezes considerados em conjunto como uma única prática, na verdade representam diferentes estágios do desenvolvimento e embarque de tecnologia.
A Integração refere-se a soluções que permitam a combinação/absorção das alterações feitas pelos desenvolvedores ao longo do tempo. Ao utilizar uma ferramenta de controle de versão, procura-se garantir a integração do código-fonte de uma solução a cada etapa. "Entrega" refere-se à implantação dessa solução. Quando se adiciona o termo "contínuo", então trata-se da automação dessas atividades, incluindo a parte de teste. Nada de novo para quem atua na área, mas algo que pode ser de mais difícil absorção por gestores de outras áreas.
Na prática, a Integração Contínua (CI) e a Entrega Contínua (CD) são aplicações essenciais ao desenvolvimento de software e que melhoram a qualidade do código, a eficiência do processo de desenvolvimento e a capacidade de implantação de software.
A implementação de CI/CD pode variar de acordo com a tecnologia, as necessidades do projeto e a infraestrutura do time e de sua integração com equipes externas. Mas, de forma geral, existem algumas etapas que podem ser consideradas padrão na implementação de um fluxo de CI/CD.
Entre os mais relevantes menciono: A) o Versionamento de Código, o processo de criar novas versões de um código a cada mudança significativa nele. Considerando que projetos são implementados por etapas, é preciso versões que possam ser retomadas sempre que necessário; e B) adoção de Testes Automatizados que verifiquem a funcionalidade e a integridade do código. Os testes devem ser executados automaticamente no ambiente de integração.
Outras práticas são a adoção de pipelines de integração que incluem a construção do código e a execução dos testes e a verificação de qualidade de código, e os pipelines de entrega, incluindo build e deploy do código nos ambientes de homologação e produção.
Os passos seguintes seriam a configuração de um ambiente de entrega contínua (CD) que automatize a construção, teste e implantação em um ambiente de produção, o desenvolvimento de ferramentas de monitoramento e registro para acompanhar a saúde do aplicativo após a implantação e, finalmente, processos de feedback para permitir também a melhoria contínua.
Iniciamos essa conversa falando sobre a essencialidade da tecnologia e a responsabilidade dos profissionais de TI para colocar tudo em prática com eficiência muitas vezes debaixo de pressão, contudo mesmo em organizações com bastante tecnologia já embarcada em seus processos produtivos é possível ter problemas na implantação destas ferramentas, que claramente são necessárias, mas também bastante complexas.
Nesse contexto, o modelo em questão revela-se profundamente dependente da colaboração com equipes externas. A integração com parceiros torna-se essencial para o sucesso desse processo. Afinal, a seleção criteriosa de quem está nas trincheiras com você é o que amplia a estratégia e fortalece a eficácia do modelo.
Maurício Matsuda, Diretor de Operações e Customer Success na CBYK.