Por que a entrega contínua é importante?

Author Photo
10:36 am - 22 de junho de 2016
Por que a entrega contínua é importante?

No bingo das buzzwords do desenvolvimento de software, um termo que se repete muito é “Entrega Contínua”. Ao contrário de alguns outros termos da arte em software, ele significa o que parece realmente. Equipes estão produzindo muitas pequenas mudanças regularmente – às vezes, várias vezes por dia. Mas esse termo simples oculta muitos comportamentos complementares que trazem benefícios reais e poderosos para os clientes.

Por que Entrega Contínua?
Em poucas palavras, a entrega contínua, ou termo mais técnico, “implantação contínua”, é a melhor maneira de criar um software. Ela oferece três principais benefícios:

•    Desenvolvimento de recursos mais rápido

•     Menos interrupções para o cliente

•     Teste automatizado que garante cobertura excelente

Em grandes sistemas complexos, você não quer que os desenvolvedores escolham as dependências de suas atualizações. Sendo assim, a desativação e a implantação automatizadas de servidor são as primeiras coisas a serem incorporadas. A entrega contínua requer uma abordagem de atualização muito refinada que coloca automaticamente o código para implantações maiores quando ele é aprovado nos testes. Os desenvolvedores criam recursos implementáveis embutidos que podem ser lançados com pouca ou nenhuma interrupção.

Cada criação é uma implantação. Centenas de implementações acontecem todos os dias para que os desenvolvedores vejam seu novo código funcionando. Assim, é importante inovar constantemente com novas funcionalidades, lançando atualizações em bancos de serviços em nuvem, sem interrupções para os clientes.

A saída é usar uma abordagem para atualizações e compartilhamento de contexto stateless (não guardam estado) e aumentar elasticamente a presença para solicitações de alto tráfego ou complexas. Isso também permite reversões simples quando necessário.

Agilidade fácil
A entrega contínua funciona muito bem com abordagens ágeis. “Ágil”, outro termo da moda, significa manter as equipes produtivas. Ela trata do mito do planejamento em cascata e baseado em dados para lançamentos, nos quais você divide as funcionalidades para fazer grandes entregas e enfrentar grandes desafios de integração no final. Isso possibilita que equipes prevejam interdependências e criem conjuntos de recursos complexos que os clientes precisam para fazer bem seus trabalhos.

Ao dividir o trabalho complexo em pequenas iterações, podemos abarcar grandes mudanças em pequenos passos, implantando cada etapa à medida que progredimos. Pequenas alterações de funcionalidades significam testes menores, e os testes menores são mais fáceis de adicionar no teste automático. O teste automatizado evita que as equipes de desenvolvimento ouçam “Pare o desenvolvimento para que possamos testá-lo manualmente.” Em vez disso, equipes tiram as pequenas tarefas do atraso, e criam-nas semana após semana. Teste e feedback contínuos ajudam equipes a avançarem.

Em termos de negócios, isso significa que você pode oferecer os mais recentes recursos mais rapidamente para os clientes, o que dá à sua empresa uma vantagem competitiva importante.

*Randolph Carter é arquiteto de conteúdo de marketing sênior da Interactive Intelligence

Newsletter de tecnologia para você

Os melhores conteúdos do IT Forum na sua caixa de entrada.