380 likes | 493 Views
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.
E N D
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)
“O que observamos não é a natureza, mas a natureza exposta ao nosso método de questionamento.”Werner Heisenberg
“A chave para a autonomia humanaé o conhecimento.”Sandra Bozza 15º. Congresso Pensar11/10/2014Goiânia
Top-downProgramming: “módulos são integrados à medida que são escritos”Mills, Harlan D., "Top Down System Development" (1970). The Harlan D. Mills Collection.
“Meu principal critério para julgar se programação top down foi usada é a ausência de dificuldades na integração.”1988
“... 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)
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.” Construir com qualidade 1999 1999
“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)
Princípios: • ... • Construa com qualidade • Entregue rápido(liberar para produção com frequência) • ... 2003
Integração contínua “Todo o trabalho realizado é unido e a consistênciaobtida com frequência, onde problemassão detectados e corrigidos rapidamente.” 2004
“Integração Contínua: melhorar a qualidade do software e reduzir riscos” 2007 http://www.integratebutton.com/
2009 Não insira requisitos, obtenha mudanças do feedback.
Além de integrar continuamentetambém precisamos“validar continuamente” 2011
Primeiro parágrafo: “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.” 2011
Página 55: “O primeiro texto acerca deintegração contínua é o livrodo Kent Beck (XP Explained).”
“Entrega contínua permite que vocêentregue software e manutenções mais rápidoe com menor risco.”The Business ValueofContinuous Delivery (CloudBees)
“Entrega contínua é uma técnica de desenvolvimento de softwareprojetada para assegurar que código está prontopara produção mais rápido.”JenkinsandContinuous Delivery: Handingdevelopers more powerSacha Labourey (CloudBees).
“Entrega contínua é uma metodologia que visa assegurar que o software está sempre em um estado entregávelpor todo o seu ciclo de vida.”2014 StateofDevOpsReport
“Tem o foco na redução de custo, tempoe riscona entrega de mudanças incrementais aos usuários.”AdoptingContinuous Delivery, JezzHumble, 2013
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 implantarMartin Fowler
“Práticas que habilitam o fluxo contínuo de funcionalidades liberadas para produção de forma segurae sem defeitos.”Lean Software Development: A Tutorial, Poppendieck e Cusumano, IEEE Software, 2012
“Entrega contínua é uma estratégia que busca oferecer novos recursos aos usuários de forma tão eficientequanto possível.”5 thingsyouneedtoknowaboutContinuous Delivery Software Development,Network World, 2013
Documentos formais (não fazem referência) ISO/IEC/IEEE 24765System and Software EngineeringVocabulary, 2010 SWEBOK V3Guidetothe Software EngineeringBodyofKnowledge, 2014
Relação com outros termos No ambiente de produção Liberação Equipe de desenvolvimento
Continuous deliveryhttp://en.wikipedia.org/wiki/Continuous_delivery
Pipeline Requisitos funcionais Requisitos nãofuncionais Commit inicia uma“instância” do pipeline
Informação sobre o que está acontecendo Erro Erro Erro Ok Ok Ok ? Ok ? Erro Ok Erro ? ? Erro Erro Feedback, visibilidade
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 Simpson Os Simpsons
“Práticas específicas, por mais que sejam valiosas em outras situações, raramente são a melhor solução para o problema em questão. Trate-as como pontos de partida”. Lean Software Development: A Tutorial Mary Poppendieck e Michael Cusumano IEEE Software, 2012