Pastéis, Pontes e Kombis - qconsp.com · ENTREGA CONTÍNUA no dia-a-dia PASTÉIS, KOMBIS E PONTES...

Post on 17-Nov-2018

224 views 0 download

Transcript of Pastéis, Pontes e Kombis - qconsp.com · ENTREGA CONTÍNUA no dia-a-dia PASTÉIS, KOMBIS E PONTES...

E N T R E G A C O N T Í N U A n o d i a - a - d i a

PASTÉIS, KOMBIS E PONTES…e que isso tem a ver com software de qualidade

<JABÁ>Ajudando com o leitinho das crianças

2

CARLOS VILLELAcvillela@thoughtworks.com

3

MARCO VALTASmvaltas@thoughtworks.com

4

MAIS DE 20 ANOS DE LIDERANÇA DE PENSAMENTO

</JABÁ>Viu? Nem doeu :)

6

PONTEConstrução que permite interligar ao mesmo nível pontos não acessíveis separados por rios, vales, ou outros obstáculos naturais ou artificiais

7

SOFTWARE COMO ENGENHARIA

▫︎ Projeto

▫︎ Idealização

▫︎Desenvolvimento

▫︎ Implantação

▫︎Manutenção !

▫︎Custo de mudança só cresce

▫︎Depois que está “pronto”, não se mexe8

PASTELAlimento composto por massa de farinha a que se dá a forma de um envelope, recheado e frito por imersão em óleo fervente

9

SOFTWARE COMO CULINÁRIA

▫︎ Idealização e experimentação

▫︎ Processo

▫︎ Ingredientes e utensílios

▫︎Método

▫︎ Instâncias com adaptações

▫︎ ERP, CRM, SCM talvez

▫︎ Inovação restrita ao início10

KOMBIAutomóvel utilitário produzido pela Volkswagen. Fabricada ininterruptamente de 1956 a 2013. É considerada a precursora das vans de passageiros e carga

11

SOFTWARE COMO MANUFATURA

▫︎ Especialização de áreas

▫︎ Fluxo

▫︎Acompanhamento de progresso !

▫︎ Especialização de áreas

▫︎Não dá pra fixar a “linha"

▫︎ Ela tem que evoluir com o sistema

12

TRAJETOA distância (espaço) que precisa ser percorrida para se chegar de um lugar a outro; percurso ou trajetória

13

SOFTWARE COMO JORNADA

▫︎ Pontos (partida e chegadas)

▫︎ Roteamento

▫︎ Execução

▫︎ (Re)planejamento com estimativas !

▫︎Não sabemos onde chegar

▫︎Nem todos caminhos já existem

14

NADA DISSO É SOFTWAREEntão, por que continuamos nos iludindo?

15

SOFTWARE É…Não vamos cair exatamente na armadilha que estamos tentando apontar, né?

16

SOFTWARE É…Lógico que vamos!

17

SÃO PAULOA maior e melhor bagunça da América Latina!

18

SOFTWARE COMO CIDADE

▫︎ Pontes, Kombis, pastéis e trajetos !

▫︎ Estrutura:

▫︎ Inicial pouco importa

▫︎Atual importa muito

▫︎ Final… nem tanto !

▫︎Governança19

SOFTWARE COMO CIDADE

▫︎ Pequenas “obras”

▫︎Crescimento orgânico

▫︎Quanto mais frequentes, menores

▫︎Quanto mais localizadas, fáceis

▫︎ Paralelizáveis !

▫︎ Entrega contínua!

20

SOFTWARE COMO CIDADE

▫︎Algumas partes serão pastéis

▫︎ Logging, persistência

▫︎Algumas serão pontes

▫︎ Empacotamento, instalação

▫︎Algumas, Kombis

▫︎ i18n, l10n, manuais

21

SOFTWARE COMO CIDADE

▫︎Outras, trajetos

▫︎ Schemas, refactorings

▫︎Melhorias são sempre incrementais

▫︎ Tudo está sempre em uso

22

TODA METÁFORA É FURADA…mas algumas são úteis

23

SOFTWARE É SOFTWAREE se aproveitássemos as vantagens de lidar com algo totalmente diferente?

24

SOFTWARE COMO SOFTWARE

▫︎Materiais, implantação e tempo são intangíveis

▫︎ Reduzir o atrito da evolução

▫︎ Tudo pronto o tempo todo

25

!

ENTREGA CONTÍNUA

26

SOFTWARE PRONTO O TEMPO TODO

▫︎Controle de versão

▫︎Automação

▫︎ Integração contínua

▫︎Mesmo processo para implantação

▫︎ dev, homologação, produção, etc

27

SOFTWARE PRONTO O TEMPO TODO

▫︎ “Entregue” é diferente de “feito”

▫︎ “Aprendido” é diferente de “entregue”

28

MÃO NA MASSAComo então construir uma cidade?

29

DESAFIO: FAÇA UM RELEASE AGORA

30

O ser humano deveria saber trocar uma fralda, planejar

uma invasão, carnear um javali, navegar uma

embarcação, desenhar um prédio, escrever um soneto,

acertar um balanço, construir um muro, colocar um osso

no lugar, confortar os enfermos, dar e receber ordens,

cooperar, agir sozinho, resolver equações, analisar um

problema novo, adubar um campo, programar um

computador, cozinhar uma refeição, lutar de forma

eficiente, morrer de forma elegante. Especialização é para insetos.

Robert Heinlein,Time Enough for Love

31

PEGUE SISTEMAS DE CONTROLE DE VERSÃO

32

PEGUE LINGUAGENS

33

PEGUE FERRAMENTAS DE BUILD

34

Rake

BashMake

PEGUE SISTEMAS DE INTEGRAÇÃO CONTÍNUA

35

PEGUE GERENCIADORES DE CONFIGURAÇÃO

36

Ansible

PEGUE INFRAESTRUTURAS

37

38

VALIDE E REPITA

39

Tudo que é teoricamente possível será alcançado na prática, não importando as dificuldades técnicas, desde que haja

interesse suficiente. Arthur C. Clarke,

Hazards of Prophecy: The Failure of Imagination

40

OBRIGADO!