ACELERAÇÃO DE EQUIPES

  • scrumaceleradora

O que é Entrega Contínua de Software

Atualmente um dos grandes problemas enfrentados por profissionais que atuam com desenvolvimento de software é entregar ao cliente o quanto antes o sistema desenvolvido ou alterações e correções necessárias após estar em produção.


Neste contexto, foi criado o conceito de entrega contínua que segundo Fowler (2013), é uma disciplina de desenvolvimento de software na qual se constrói o software de maneira que ele possa ser liberado para produção a qualquer momento.


Segundo Fowler (2013), a entrega contínua às vezes é confundida com a implantação contínua:


A implantação contínua significa que cada mudança passa pelo pipeline e é automaticamente colocada em produção, resultando em muitas implantações em produção todos os dias. A entrega contínua significa que você pode fazer implantações frequentes, mas pode optar por não fazê-lo, geralmente devido às empresas que preferem uma taxa de implantação mais baixa. Para fazer a implantação contínua, você deve estar fazendo entrega contínua. (FOWLER, 2013).


Para o autor, a entrega contínua só é possível integrando continuamente o software:


Você consegue entrega contínua integrando continuamente o software feito pela equipe de desenvolvimento, criando executáveis e executando testes automatizados nesses executáveis para detectar problemas. Além disso, você implanta os executáveis em ambientes cada vez mais similares ao de produção para garantir que o software funcionará na produção (FOWLER, 2013).


Fowler (2013) afirma ainda que a adoção de entrega contínua reduz o risco de problemas na implantação, “uma vez que você está implantando mudanças menores, há menos para dar errado e é mais fácil corrigir se um problema aparecer”.


De acordo com Humble e Farley (2014) há diversos benefícios além da redução de erros.


Entre eles, dar autonomia às equipes, reduzir o stress, oferecer flexibilidade na implantação.

“O principal benefício é que ela cria um processo de entrega confiável, previsível e passível de repetição, que, por sua vez, gera grandes reduções no tempo de ciclo e entrega novas funcionalidades e correções aos usuários rapidamente” (HUMBLE; FARLEY, 2014).


Para implantar a entrega contínua, Fowler (2013) afirma que é necessária “uma relação de trabalho estreita e colaborativa entre todos envolvidos na entrega” e “automatização de todas as partes possíveis do processo”.


Assim, é possível verificar a eficácia da implantação de um processo de entrega contínua quando:

  • Seu software é frequentemente implantado ao longo de seu ciclo de vida;

  • Sua equipe prioriza manter o software implantável ao trabalhar em novos recursos;

  • Qualquer um pode obter feedback rápido e automatizado sobre seus sistemas sempre que alguém faz uma mudança neles;

  • Você pode executar implantações com um clique de um botão de qualquer versão do software para qualquer ambiente(FOWLER, 2013).


Desta forma, a entrega contínua fornece padrões para facilitar e melhorar a qualidade de entrega de software para o cliente.


Leandro César Silva

O principal referencial utilizado foi o livro “Entrega Contínua. Como Entregar Software de Forma Rápida e Confiável”. As demais referências utilizadas e lista de ferramentas utilizadas estão neste link: https://leandro.cloud/.


#tecnologia #entregacontínua #software #confiabilidade #scrum

4 visualizações