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.
3. 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
38. 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)
39. 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
41. 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 um
plano
Carreira: programador.
Revista, gorila banana.
Naquele tempo, boas práticas, código
"das antigas". Code like a horse.
Não me preocupava com a qualidade do que eu produzia, simplesmente produzia.
E com esse background iniciei carreira.
Aprendizado.
Ambiente zuado e me identifiquei. Shame on ME.
Melhor prática: controle de versionamento dos arquivos, lock durante o mês liberados e reintegrados só no build.
Nem preciso falar dos problemas e do tempo que se tomava do momento do início da liberação até ela finalmente ser entregue ao cliente.
Temos o processo estabelecido
Temos a arquitetura estabelecida
Free VCS, falar dos locks, da integração complexa, propriedade coletiva do código.
E então começamos a fazer integração contínua. E só, não pudemos avançar mais.
Haviam muitos bugs, a empresa queria
Timebox gera pressão. As vezes gera pressão demais. Além disso times podem se sentir desmotivados quando falham sucessivos sprints.
Uma nova esperança, uma nova carreira
A proposta era que pudéssemos fazer as coisas que acreditávamos, sem barreiras. Só aceitaríamos projetos que coincidissem com nossas crenças.
Foco
Vantagens
Desvantagens
Então nós começamos a enviar os apps para o TF. E nesse momento, começamos a ter beta tester funcionando.
Reuniões, overhead e demora no feedback.
Sai twitter e facebook
Entra e-mail
Vídeo demonstrativo
Uma boa história de usuário é aonde as coisas começam. Se você vai começar a entregar histórias uma a uma essas histórias devem estar na granularidade adequada para tanto.
Scrum tem uma cerimônia perfeita para isso, o Backlog Refinement. Nessa cerimonia, o Product Owner tem a oportunidade de revisar junto ao time as historias futuras, debatendo-as com quem realmente ira faze-las. Isso pode ocorrerem qualquer momento, sempre que o PO precisar e o time estiver disponível. Para esse momento devem estar presentes o PO, o Scrum Master e o time. O Scrum Master sempre está presente, pois é de sua responsabilidade facilitar as cerimonias.
Ou seja, mesmo havendo valor os itens à direita, valorizamos mais os itens à esquerda.
Entendam cada uma dessas etapas como um nível de maturidade.
A cada etapa dessa aprendida, a empresa se torna mais madura.