os desafios da entrega contínua - está preparado?
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.TRANSCRIPT
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