Este artigo apresentará práticas de entrega contínua de software, que promovem a agilidade da entrega e facilitam sua manutenção. Através de um estudo de campo na startup TreezeBIT, será feito uso de ferramentas como docker, jenkins, git que permitem a disponibilidade do software através de um pipeline, subdividindo o processo de desenvolvimento em ambientes que são moldáveis às necessidades da equipe. A partir disso, é possível manter um controle e acompanhamento do software até que chegue ao destino final, seja pelo armazenamento de um artefato ou a entrega ao cliente.
Estudo empírico da metodologia do desenvolvimento ágil de software
Entrega contínua de software através de um pipeline
1. Entrega contínua de software
através de um pipeline
Fatec Zona Sul
24 a 27 de outubro de 2016
Eduardo Aparecido Gonçalves do Rozario Júnior
Talita Bernardes Pereira
Orientador(a): Denise Lemes Fernandes Neves
2. Contextualização
Software
“Entregar Software em produção é um processo que tem se
tornado cada vez mais difícil no departamento de TI de diversas
empresas. Ciclos longos de testes e divisões entre as equipes de
desenvolvimento e operações são alguns dos fatores que contribuem
para este problema. “
(Sato, 2013)
6º Congresso de Pesquisa Científica
3. Contextualização
Entrega contínua
“Entrega contínua é uma disciplina de desenvolvimento de software
na qual você constrói o software de maneira que ele possa ser liberado
para produção a qualquer momento“
(Fowler, 2013)
6º Congresso de Pesquisa Científica
4. Contextualização
Pipeline
“Em um nível abstrato, o pipeline de implantação é uma
manifestação automatizada do processo de levar software do controle
de versão até os usuários“
(Farley e Humble, 2010)
6º Congresso de Pesquisa Científica
5. Problemática
“As condições de mercado mudam rapidamente, as necessidades
dos usuários finais se alteram e novas ameaças competitivas emergem
sem aviso.”
(Pressman, 2011)
6º Congresso de Pesquisa Científica
6. Problemática
Em pesquisa qualitativa efetuada pelo grupo com pessoas que
atuam diretamente com Tecnologia da Informação em abril de 2016 foi
constatado que :
• 94% dos colaboradores consideram difícil lançar uma atualização de
software;
• Cerca de 32% dos entrevistados afirmam que o processo de
automatização ou não existe ou foi classificado como ruim.
6º Congresso de Pesquisa Científica
7. Objetivos
Pretende-se alcançar os seguintes objetivos:
• Trazer uma solução para que a entrega de software tenha
qualidade;
• Reduzir custos e tempo gasto para a produção do software;
• Promover uma pipeline de entrega e colher os resultados através da
aplicação e análise do Estudo de Campo.
6º Congresso de Pesquisa Científica
8. Metodologia
Como métodos foram utilizados:
• Pesquisas bibliográficas em diversas fontes como: livros, artigos,
sites;
• Pesquisa qualitativa com pessoas envolvidas na área;
• Um estudo de campo na startup TreezeBIT, que integrou uma
pipeline de entrega contínua e utilizou GIT, Docker, Jenkins para
auxiliar seus processos de desenvolvimento de software .
6º Congresso de Pesquisa Científica
10. Resultados | Conclusão
• Deixar explícito a todos os envolvidos;
• Gerenciar qualquer versão de software a qualquer momento;
• Feedback;
• Rastreabilidade;
• Frequência de deploys.
6º Congresso de Pesquisa Científica
11. Referências
Humble, Jez e Farley, David. Entrega Contínua: Como Entregar Software De Forma Rápida
e Confiável. Boston: Bookman, 2010.
Pressman, Roger S. Engenharia de Software: Uma abordagem profissional- 7ª Edição. São
Paulo: McGraw Hil, 2011;
Sato, Danilo. DevOps na prática: entrega de software confiável e automatizada. São
Paulo: Casa do Código, 2013.
Fowler, Martin. Continuous Delivery. Disponível em:
<http://martinfowler.com/bliki/ContinuousDelivery.html>. Acesso em: 23 Out. 2016
6º Congresso de Pesquisa Científica
12. Entrega contínua de software
através de um pipeline
Fatec Zona Sul
eduardoagrj@gmail.com
talita.bernardes7@gmail.com
Eduardo Aparecido Gonçalves do Rozario Júnior
Talita Bernardes Pereira