Transformação Digital

O que é entrega contínua e por que sua empresa deve adotá-la

02/02/2021

Tempo estimado de leitura: 4 minutos

Especialistas ouvidos pelo InformationWeek dão dicas de como a entrega contínua permite a TI desenvolver novos recursos e corrigir defeitos com mais rapidez e consistência.

Você sabe o que é Entrega Contínua ou Continuous Delivery (CD)? Essa abordagem de desenvolvimento de software tem se tornado cada vez mais frequentes na empresa, pois possibilita o lançamento de uma aplicação com frequência, com previsibilidade e automação.

Por sinal, a automação e uma maior necessidade de atualizar softwares com frequência têm impulsionado essa abordagem. Para alguns especialistas, a entrega contínua deve se tornar uma metodologia de desenvolvimento de aplicação convencional.

Em um cenário que muitas organizações lançam rapidamente suas aplicações no mercado, o diferencial competitivo é entregar novos recursos nas aplicações com agilidade. Ao mesmo tempo, é imperativo garantir que esses serviços sejam seguros a quem os usa.

Como cita Tracy Miranda, diretora executiva da Continuous Delivery Foundation, em entrevista ao InformationWeek, “a entrega contínua é crítica para como as equipes entregam valor e como as organizações mantêm a agilidade dos negócios”

Além de Tracy Miranda, o InformationWeek ouviu outros especialistas para explicar a importância da entrega contínua na empresa, quais os benefícios e como iniciar essa jornada. Confira um resumo.

Os benefícios da entrega contínua

Fornecedores de software corporativo têm um comportamento padrão: concentrar grandes entregas em lançamentos trimestrais. Porém, com a velocidade que as aplicações chegam ao mercado há um problema nessa abordagem.

“Este sistema é lento, pois caso haja bug em uma versão tão grande, será preciso verificar toda a atualização implantada para encontrar o problema a corrigir”, disse Eric Johnson, vice-presidente executivo de engenharia para código aberto da GitLab.

Já as empresas que adotam a entrega contínua lançam softwares de forma granular. “Dessa forma, se houver algum bug em uma nova versão individual, ele será resolvido de forma fácil e rápida pelas equipes de desenvolvedores”, comentou o executivo.

Muitos desenvolvedores defendem a CD, porque a metodologia os ajuda a entregar um trabalho de alta qualidade, ao mesmo tempo que limita o risco de introduzir mudanças indesejadas nos ambientes de produção.

Brent Austin, diretor de engenharia da Liberty Mutual Insurance, explicou que a CD “garante que todo o ciclo de vida da entrega do software, desde o controle da fonte, a construção e teste, a liberação e, finalmente, a implantação em ambientes reais, seja automatizado e consistente”.

Tanto que a metodologia exige altos níveis de automação de teste. Assim, os desenvolvedores conseguem introduzir alterações com segurança e rapidez. “Também os ajuda a pensar em lotes pequenos, o que permite cenários de reversão mais fáceis e eficazes”, complementou Austin.

Por fim, o diretor de engenharia observou que “os desenvolvedores ficam mais capacitados e felizes quando sabem que podem atender às demandas dos negócios sem serem impedidos por processos e procedimentos de entrega de software ineficientes e inconsistentes”, observou ele.

Usuários finais também são beneficiados

A entrega contínua vale também aos usuários finais por fornecer novos recursos mais rapidamente e, na maioria das vezes, a um custo menor. O resultado são produtos que agregam mais valor.

“Quando os lançamentos de software são feitos de forma consistente e automatizada, o tempo de ciclo de ir da ideia à fonte e à produção é reduzido significativamente”, disse Austin. Para ele, isso elimina grande parte do custo fixo de entrega incremental, reduzindo custos com o tempo.

Vale destacar que essa experiência do usuário reflete também na do desenvolvedor. A metodologia ajuda a diminuir o esgotamento do profissional, porque cria uma cultura de alta confiança, em que os desenvolvedores se identificam mais com suas empresas.

Considerações antes do lançamento

Uma transição de CD bem-sucedida precisa começar pela identificação de gargalos e outros problemas que dificultam os pipelines de entrega de softwares existentes (algo como acelerar a disponibilidade da aplicação a partir da automação).

“As empresas podem encontrar facilmente os problemas em pipelines ineficientes, verificando indicadores como os tempos de execução dos trabalhos, estágios e o tempo de execução total do próprio pipeline”, observou Johnson, da GitLab.

Enquanto isso, os fornecedores de software precisam projetar o cronograma ideal de lançamento de CD para suas equipes. Johnson aconselhou visando uma taxa de lançamento consistente, incluindo correções de bugs facilmente identificáveis.

O GitLab, por exemplo, fornece lançamentos mensais. “Isso dá aos clientes algo pelo qual esperar, nos permite desenvolver constantemente nosso produto e dá às equipes de desenvolvimento um objetivo comum para trabalhar”, disse Johnson.

É preciso considerar também, na etapa inicial, uma ferramenta de orquestração de entrega contínua. Ela será essencial para construir e estabelecer um fluxo de trabalho eficiente e confiável a todo o time de desenvolvedores.

“Em seguida, crie ambientes semelhantes aos de produção e implemente testes contínuos”, recomendou Venky Chennapragada, arquiteto de DevOps na Capgemini. Isso será necessário para entender como automatizar os fluxos de trabalho, destacou o especialista.

Outro conselho, desta vez dado por Austin, da Liberty Mutual Insurance, é o uso de integração contínua. Essa abordagem vai ajudar a automatizar a integração das mudanças de códigos sugeridas por vários desenvolvedores participantes de um único projeto de software.

Atingindo o sucesso

Os custos de integração e manutenção de softwares podem ser uma barreira na adoção da entrega contínua. No entanto, Johnson, da GitLab afirmou que as empresas não podem subestimar quanto do orçamento de TI será destinado aos desenvolvedores.

Para o executivo, é preciso ter uma visão do que é necessário para apoiar as equipes na integração e na manutenção do conjunto de ferramentas necessárias para o projeto. Não fornecer o suporte necessário, ressaltou, impede a empresa ver benefícios antes mesmo de começar a metodologia.

Outro erro crítico é não ouvir as equipes, principalmente as de DevOps, caso existam na empresa. “É fundamental ouvi-las para avaliar qualquer pilha de software que você está usando à medida que passa a adotar a metodologia”, disse Will Blew, gerente de engenharia de software da Linode.

Por fim, uma iniciativa de entrega contínua de sucesso precisa destacar a segurança em todo o ciclo de vida da entrega do software.

“Pensar na segurança como uma função separada continuará a impactar a capacidade dos desenvolvedores de aumentar a velocidade de entrega, especialmente em indústrias com alta conformidade”, disse Austin.

A sugestão do executivo é automatizar os testes de segurança e integrá-los ao processo de entrega. Essa mentalidade vai garantir que os desenvolvedores recebam feedback sobre questões de segurança de maneira rápida e eficiente.

“Isso os capacitará a resolver os problemas com antecedência e, em última instância, fornecer um produto de maior qualidade para o negócio”, observou ele.

Principais destaques desta matéria

  • Entrega contínua é uma metodologia de desenvolvimento de software com agilidade e automação.
  • Benefício é entregar aplicações em menor tempo, mas sem abrir mão da segurança e da qualidade do projeto.
  • Confira dicas de especialista sobre esta prática e os benefícios que ela fornece às empresas.

Compartilhe:

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *