Métodos Ágeis para Desenvolvimento de Software Livre - PDF
Download "Métodos Ágeis para Desenvolvimento de Software Livre"
Ruth Melgaço Almada
1 Métodos Ágeis para Desenvolvimento de Software Livre Dionatan Moura Jamile Alves Porto Alegre, 09 de julho de 2015
2 Quem somos? Dionatan Moura Jamile Alves
3 Ágil e Software Livre?
4 Métodos Ágeis Manifesto Ágil Lean Software Development Kanban Scrum extreme Programming
5 Manifesto Ágil Valores Indivíduos e interações mais que processos e ferramentas Software em funcionamento mais que documentação abrangente Colaboração com o cliente mais que negociação de contratos Responder a mudanças mais que seguir um plano
6 Manifesto Ágil Princípios Nossa maior prioridade é satisfazer o cliente através da entrega contínua e adiantada de software com valor agregado. Mudanças nos requisitos são bem-vindas, mesmo tardiamente no desenvolvimento. Processos ágeis tiram vantagem das mudanças visando vantagem competitiva para o cliente. Entregar frequentemente software funcionando, de poucas semanas a poucos meses, com preferência à menor escala de tempo.
7 Manifesto Ágil Princípios Pessoas de negócio e desenvolvedores devem trabalhar diariamente em conjunto por todo o projeto. Construa projetos em torno de indivíduos motivados. Dê a eles o ambiente e o suporte necessário e confie neles para fazer o trabalho. O método mais eficiente e eficaz de transmitir informações para e entre uma equipe de desenvolvimento é através de conversa face a face. Software funcionando é a medida primária de progresso.
8 Manifesto Ágil Princípios Os processos ágeis promovem desenvolvimento sustentável. Os patrocinadores, desenvolvedores e usuários devem ser capazes de manter um ritmo constante indefinidamente. Contínua atenção à excelência técnica e bom design aumenta a agilidade. Simplicidade--a arte de maximizar a quantidade de trabalho não realizado--é essencial.
9 Manifesto Ágil Princípios As melhores arquiteturas, requisitos e designs emergem de equipes auto-organizáveis. Em intervalos regulares, a equipe reflete sobre como se tornar mais eficaz e então refina e ajusta seu comportamento de acordo.
10 Usar Ágil VS Ser Ágil
11 Lean Software Development
12 Lean Software Development O que é valor?
13 Lean Software Development Mas o que é valor em software livre?
14 Trabalho x Valor Trabalho com valor agregado Trabalho com desperdício oculto Trabalho com desperdício evidente
15 Lean Software Development Sete Princípios Eliminar desperdícios Incluir a qualidade no processo Amplificar aprendizado Decidir tão tarde quanto possível Entregar rápido Empoderar o time Ver o todo
16 Lean Software Development Desperdícios Trabalho incompleto (estoque) Funcionalidades extras (superprodução) Reaprendizado Processos extras (superprocessamento) Troca de Tarefas Espera Defeito
17 Kanban Visualiza o fluxo de trabalho WIP: Work In Progress Sistema Puxado (Pull)
18 Scrum Reunião Diária 24 horas Backlog do Produto Backlog Entrega da Sprint 1-4 semanas
19 Extreme Programming
20 Extreme Programming Propriedade coletiva
21 Extreme Programming Modelo de Histórias de Usuário
22 Extreme Programming Histórias de Usuário <Título> Como um Eu quero Para que <papel de usuário> <objetivo> <razão de negócio>
23 Extreme Programming Critérios de Aceitação Critério de Aceitação X Dado que <pré-condição A> E <pré-condição B> Quando Então <ação> <resultado>
24 Extreme Programming Pequenas Entregas
25 Extreme Programming Projeto Simples
26 Extreme Programming Padrões de Codificação Código consistente Encoraja a propriedade coletiva
27 Extreme Programming Trabalho em Pares
28 Extreme Programming Refatoração
29 Extreme Programming TDD Desenvolvimento Guiado por Testes Regras I. Escrever novo código somente se já existir um teste automatizado falhando II. Eliminar duplicação
30 Extreme Programming TDD Desenvolvimento Guiado por Testes 3 Passos Escreva um teste para o próximo pedaço da funcionalidade. Refatore o código Escreva código novo (e antigo) teste passar. estruturado. funcional até o até ficar bem
31 Extreme Programming TDD Desenvolvimento Guiado por Testes Mantra do TDD
32 Extreme Programming Automatização de Testes UI Serviços Unidade
33 Extreme Programming Integração Contínua Integração contínua Stakeholders Ambiente de homologação Monitoramento contínuo Ambiente de produção Time de desenvolvimento Ferramenta de gerência de configuração
35 MVP e MMP MMP (Minimum Marketable Product Produto Mínimo Comercializável) MVP (Minimum Value Product Produto Viável Mínimo)
36 Dívidas Técnicas (Technical Debt) Negócio Técnico (Visível) (Invisível) Valor + Valor -
37 Clean Code
38 E sim, é possível!
39 Case do Modus
40 E o Segredo:
41 Feedback Constante!
42 Métodos Ágeis para Desenvolvimento de Software Livre Dionatan Moura Jamile Slides Dionatan Moura Jamile Alves Porto Alegre, 09 de julho de 2015