38
Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

Embed Size (px)

Citation preview

Page 1: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

Uma Visão Geral Sobre Entrega Contínua

De onde vem? O que é? Considerações finais

Fábio Nogueira de LucenaInstituto de Informática (UFG)

Page 2: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

“O que observamos não é a

natureza,

mas a natureza exposta ao

nosso método de

questionamento.”Werner Heisenberg

Page 3: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

“A chave para a autonomia

humana

é o conhecimento.”Sandra Bozza

15º. Congresso Pensar11/10/2014Goiânia

Page 5: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

Top-down Programming:

“módulos são integrados

à medida que são escritos”Mills, Harlan D.,

"Top Down System Development" (1970). The Harlan D. Mills Collection.

Page 6: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

“Meu principal critério para julgar se

programação top down foi usada é a

ausência de dificuldades na integração.”

1988

Page 7: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

“... a equipe de desenvolvimento produzirá muitas

liberações internas, poucas serão passadas

adiante. Estas internas representam a integração

contínua do sistema,

e existem para forçar a qualidade.”

1994(segunda edição, página 256)

Page 8: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

1999

Construir com qualidade

12 práticas, dentre elas:

Integração contínua:

“Construa o sistema

várias vezes ao dia, toda

vez que uma tarefa é

realizada.”

“Integre e teste

mudanças tão logo sejam

introduzidas.”

Page 9: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

“Nossa maior prioridade é

satisfazer o cliente, através da

entrega adiantada e contínua

de software de valor.”Primeiro princípio do Manifesto Ágil (2001)

Page 10: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

Princípios:• ...

• Construa com qualidade

• Entregue rápido

(liberar para

produção com

frequência)• ...

2003

Page 11: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

2004

“Todo o trabalho realizado é unido e a consistênciaobtida com frequência, onde problemassão detectados e corrigidos rapidamente.”

Integração contínua

Page 12: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

“Integração Contínua: melhorar a qualidade do software e reduzir riscos”

2007

http://www.integratebutton.com/

Page 13: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

2009

• Vivemos em um mundo

de incertezas

• Informações valiosas estão constantemente surgindo

• Feedback rápido para

alimentar decisões

Não insira requisitos, obtenha mudanças do feedback.

Page 14: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

2011

“Inovação contínua paracriar negócios de sucesso.”

Page 15: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

Além de integrar continuamentetambém precisamos“validar continuamente”

2011

Page 16: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

2011

“Se alguém tem uma boa ideia, como entregá-la aos usuários o mais rápido possível?Este livro mostra como resolver este problema.”

Primeiro parágrafo:

Page 17: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

“O primeiro texto acerca deintegração contínua é o livrodo Kent Beck (XP Explained).”

Página 55:

Page 19: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

“Entrega contínua permite que

você

entregue software e

manutenções mais rápido e

com menor risco.”The Business Value of Continuous Delivery (CloudBees)

Page 20: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

“Entrega contínua é uma técnica

de desenvolvimento de software

projetada para assegurar que

código está pronto para

produção mais rápido.”Jenkins and Continuous Delivery: Handing developers more power

Sacha Labourey (CloudBees).

Page 21: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

“Entrega contínua é uma

metodologia que visa assegurar

que o software está sempre em

um estado entregável por todo

o seu ciclo de vida.”2014 State of DevOps Report

Page 22: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

“Tem o foco na redução de

custo, tempo e risco na entrega

de mudanças incrementais aos

usuários.”Adopting Continuous Delivery, Jezz Humble, 2013

Page 23: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

• Por todo ciclo de vida o software está

entregável

• Entregável tem prioridade sobre novas

funções

• Feedback rápido para qualquer mudança

• Selecione uma versão, um ambiente e

aperte um botão para implantar

Martin Fowler

Page 24: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

“Práticas que habilitam o fluxo

contínuo de funcionalidades

liberadas para produção de forma

segura e sem defeitos.”Lean Software Development: A Tutorial, Poppendieck e Cusumano, IEEE Software, 2012

Page 25: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

“Entrega contínua é uma

estratégia que busca oferecer

novos recursos aos usuários de

forma tão eficiente

quanto possível.”5 things you need to know about Continuous Delivery Software Development,

Network World, 2013

Page 26: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

Documentos formais (não fazem referência)

• ISO/IEC/IEEE 24765

System and Software Engineering Vocabulary,

2010

• SWEBOK V3

Guide to the Software Engineering Body of

Knowledge, 2014

Page 27: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

Integraçãocontínua

Entrega contínua

Implantação (deployment) contínua

Page 28: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

Relação com outros termos

Integraçãocontínua

Entrega contínua

Implantação (deployment) contínua

Equipe de desenvolvimen

to

Liberação

No ambiente de produção

Page 29: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

htt

p:/

/conti

nu

ou

sdeliv

ery

.com

Page 31: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

Continuous deliveryhttp://en.wikipedia.org/wiki/Continuous_delivery

Page 32: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

CompilaTestes de UnidadeAnálise estática

Cria instaladores

Testes de aceitação

Testes de capacidade

Testes manuais Liberação

Pipeline

Commit inicia uma“instância” do pipeline

Requisitos funcionais Requisitos não

funcionais

Page 34: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

?

Ok

Erro

Ok

Ok

Ok

Ok

Erro

Erro

Erro

Erro

Erro Erro

?

?

?

Informação sobre o que está acontecendo

Feedback, visibilidade

Page 35: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

Existem três formas de fazer as coisas: o jeito certo, o jeito errado e o meu jeito, que é igual ao jeito errado, só que mais rápido.

Homer SimpsonOs Simpsons

Page 37: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)
Page 38: Uma Visão Geral Sobre Entrega Contínua De onde vem? O que é? Considerações finais Fábio Nogueira de Lucena Instituto de Informática (UFG)

“Práticas específicas, por mais que sejam valiosas em outrassituações, raramente são a melhor solução para o problema

emquestão. Trate-as como pontos de partida”.

Lean Software Development: A TutorialMary Poppendieck e Michael CusumanoIEEE Software, 2012