Os desafios da entrega contínua - Está preparado?

Preview:

DESCRIPTION

Muito interessantemente (isso existe?) todo mundo pensa que continuous delivery tem muito de tecnologia. É verdade que até tem, mas o grande problema está em todo o resto que não pode ser automatizado e que precisa ser disciplinado na intenção de permitir a automação funcionar.

Citation preview

Os desafios da entrega contínua

@JulianoRibeiro

Quem é esse cara aí???

• Desenvolvedor de software desde 1994– Clipper, Delphi, Java, iOS, Android…

• “Agilista” desde 2009• Graduado em Sistemas para Internet• Pós-graduado em POO com Java• CSM, CSPO e CSP pela Scrum Alliance• Certified Delphi Developer pela Embarcadero• Organizador do AgileTour desde 2011

– Maringá, Curitiba e São Paulo

• Professor de Métodos Ágeis – FCV - Maringá• Agile Coach & Trainer pela Massimus C&T

Do que falaremos?

HistóriaEstórias

Mais históriasComo eu fiz Continuos Deployment

Como se deve fazer Continuos DeploymentDo que eu preciso?Questionamentos?

História

Era uma vez, uma

empresa em Maringá…

Enfim, eu era mais um horse

Programação “estruturada”

Desespero

Era hora de evoluir…

Subversion

Hudson

Entregas com mais frequencia

Testes? Ainda não

Investimento muito pesado

Timebox

A saída da empresa

E então nasceu a…

HappinessApp

O que adotamos no início?

Scrum

Entregas parciais

Necessidade de criar rede de testes

TestFlight

Era hora de evoluir…

Sprint 12

Sprint 14

Legal, ótimas histórias,

mas qual o ponto?

Uma boa estória

Backlog Refinement

Sprint Planning

Product Owner

Product Champion

Cliente

PO Fênix

Quais sao minhas ferramentas?

Então, como eu fiz?

• Tecnologia é suporte– Controle de Versão: SVN, GIT, Mercurial…– Build Contínuo: Jenkins, Hudson, Go,

CruiseControl…– Ferramentas de Teste: JUnit, OCUnit, xUnit…

• Workshop de escrita de histórias• Use as cerimônias Scrum sabiamente• Ferramentas de distribuição: TestFlight (iOS)

Segundo Martin Fowler

• Mantenha um repositório de código• Automatize o build• Faça o build auto-testável• Todos (desenvolvedores) comitam na baseline diariamente• Cada commit deve ser construído• Mantenha o build rápido• Teste seu build numa cópia do ambiente de produção• Deixe fácil pegar os últimos entregáveis• Todos podem ver os resultados do build• Automatize o deploy para produção

Sim, tem

tecnologia

mas o ponto é

FEEDBACK!

Agile Manifesto

Colaboração com o cliente

Negociação de Contratos

Software em funcionamento

Indivíduos e interações

Documentação Abrangente

Processos e Ferramentas

Responder a mudanças Seguir umplano

Obrigado

@JulianoRibeirojuliano@massimus.comwww.julianoribeiro.com

Recommended