Upload
lyliem
View
217
Download
0
Embed Size (px)
Citation preview
- 31
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- 45 Programação Extrema – Prof. Mauro Lopes
Prof. Mauro Lopes
Programação Extrema
1
Manifesto Ágil e as Metodologias Ágeis (XP e SCRUM)
Programação Extrema – Prof. Mauro Lopes
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes
Agenda
• Manifesto Ágil
– Formação da Aliança Ágil
– Manifesto Ágil: Propósito
– Manifesto Ágil: Princípios
• Metodologias Ágeis
– XP
– Scrum
2 Programação Extrema – Prof. Mauro Lopes
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes
Manifesto Ágil
• Facilitar mudanças é mais efetivo do que tentar
preveni-las. Aprender a confiar nas suas
habilidades para responder a eventos imprevisíveis
é mais importante do que confiar nas suas
habilidades de planejamento contra desastres.
3 Programação Extrema – Prof. Mauro Lopes
Celebrating 10 Years of the Agile Manifesto! http://www.tinypm.com/blog/?p=295
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes
Manifesto Ágil – Formação da Aliança Ágil
• Reunião ocorrida de 11 a 13 de Fevereiro de 2001;
• Presença de 17 “anarquistas organizacionais”;
• O Encontro fez surgir a Aliança do Desenvolvimento
Ágil de Software;
• O fruto desta reunião foi o Manifesto do
Desenvolvimento Ágil de Software;
4 Programação Extrema – Prof. Mauro Lopes
Manifesto para Desenvolvimento Ágil de Software http://agilemanifesto.org/iso/ptbr/
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes
Metodologias Ágeis
5 Programação Extrema – Prof. Mauro Lopes
FDD – Feature Driven Development
XP – Extreme Programming
Scrum
ASD – Adaptive Software Development TDD – Test-Driven Development
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes
• Programação Extrema: Voce esta fazendo isto errado !!!
6 Programação Extrema – Prof. Mauro Lopes
Metodologias Ágeis - XP
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes
• Valores
– Comunicação;
– Simplicidade;
– FeedBack;
– Coragem;
• Princípios
– Feedback rápido
– Simplicidade
– Mudanças incrementais
– Abraçar mudanças
– Trabalho de qualidade
7 Programação Extrema – Prof. Mauro Lopes
Metodologias Ágeis - XP
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes
• Práticas
– Jogo de Planejamento
– Pequenas Versões
– Metáfora
– Projeto Simples
– Time Coeso
– Testes de Aceitação
– Ritmo Sustentável
– Reuniões em pé
– Posse Coletiva
– Programação em Pares
– Padrões de Codificação
– Desenvolvimento Orientado a Testes
– Refatoração
– Integração Contínua;
8 Programação Extrema – Prof. Mauro Lopes
Metodologias Ágeis - XP
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes
XP - Equipe
• Em uma equipe de XP existem papéis a serem
desempenhados por um ou mais desenvolvedores.
Estes papéis serão listados a seguir:
– Gerente de projeto
– Coach
– Analista de teste
– Redator técnico
– Desenvolvedor
9 Programação Extrema – Prof. Mauro Lopes
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes
XP – Ciclo de Vida
10 Programação Extrema – Prof. Mauro Lopes
Etapa: Estórias do Usuário
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes
Metodologias Ágeis - Scrum
• Scrum é uma metodologia ágil de Gerenciamento
de Projetos;
• O nome Scrum vem do jogo de rugby. No rugby, o
scrum é utilizado para reposição da bola, após
faltas ou penalidades. A ação demonstra que o
grupo deve trabalhar em conjunto, como se fosse
uma unidade;
11 Programação Extrema – Prof. Mauro Lopes
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes
Metodologias Ágeis - Scrum
• A utilização da palavra scrum associada ao desenvolvimento
de produtos foi feita primeira vez por Takeuchi e Nonaka,
no livro The New Product Development Game, onde os
autores defendem a idéia de que no desenvolvimento toda
a equipe deve trabalhar como uma unidade para atingir um
objetivo;
• Seu uso no desenvolvimento de software ocorreu em 1995,
após a formalização de sua definição, feita por Ken
Schwaber;
• o Scrum é uma metodologia empírica:
– "problemas fundamentalmente empíricos não podem ser resolvidos com sucesso utilizando uma abordagem tradicional de controle“ [ WikiPedia]
12 Programação Extrema – Prof. Mauro Lopes
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes
Scrum - Princípios
• Os envolvidos trabalham em equipe com:
– Responsabilidade;
– Transparência
– Honestidade
– Auto-organização
• Fornecer software funcionando:
– De forma incremental;
– Potencialmente entregável;
13 Programação Extrema – Prof. Mauro Lopes
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes
Scrum – Papéis
• Em uma equipe Scrum, os papéis existentes são os
listados abaixo:
– Product Owner (Dono do Produto)
– ScrumMaster
– Team (Equipe)
14 Programação Extrema – Prof. Mauro Lopes
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes
Scrum – Equipe (Papéis)
15 Programação Extrema – Prof. Mauro Lopes
• Product Owner (Dono do Produto) :
– Define as funcionalidades do produto;
– Decide datas de lançamento e conteúdo;
– Responsável pela rentabilidade (ROI – Return of Investment);
– Prioriza funcionalidades de acordo com o valor de mercado;
– Ajusta funcionalidades e prioridades;
– Aceita ou rejeita o resultado dos trabalhos;
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes
Scrum – Equipe (Papéis)
16 Programação Extrema – Prof. Mauro Lopes
• ScrumMaster:
– Representa a gerência para o projeto;
– Responsável pela aplicação dos valores e práticas do Scrum;
– Remove obstáculos;
– Garante a plena funcionalidade e produtividade da equipe;
– Garante a colaboração entre os diversos papéis e funções;
– Escudo para interferências externas;
– Auxilia o Product Owner a maximizar o retorno do investimento;
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes
Scrum – Equipe (Papéis)
17 Programação Extrema – Prof. Mauro Lopes
• Team (Equipe):
– Responsável pela entrega do produto;
– Multi-funcional (Desenvolvedores, Arquitetos, Testers, etc);
– Auto-organizada e auto-gerenciada;
– Todos os membros igualmente comprometidos com um objetivo comum;
– Geralmente equipes pequenas (até 10)
• Equipes grandes geralmente se comportam como várias equipes pequenas;
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes
Scrum – Ciclo de Vida
18 Programação Extrema – Prof. Mauro Lopes
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes 19
• Backlog do Produto
• Backlog Selecionado
– Não muda durante o Sprint
• Backlog do Sprint
– Tarefas priorizadas
• Backlog de Impedimentos
Scrum – Artefatos
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes 20
Scrum – Visão do Processo
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes 21
Scrum – Visão do Processo
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes 22
• Lista de todas as funcionalidades desejadas
• Formado por itens com valor de negócios
– Casos de Uso
– Histórias a la XP
• É gerado incrementalmente
– Começa pelo básico e cresce com o tempo
• Priorizado pelo Product Owner
Scrum – Visão do Processo – Backlog do Produto
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes 23
Scrum – Visão do Processo
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes 24
• Reunião de Estimativa
– Entrada: Backlog do Produto priorizado
– Saída: Itens relevantes do Backlog do Produto estimados
– Participantes: Equipe e ScrumMaster
• Sprint Planning I
– Entrada: Backlog priorizado e estimado
– Saída:
• Objetivo do Sprint
• Backlog Selecionado
– Participantes: Todos
Scrum – Visão do Processo – Planejamento
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes 25
Scrum – Visão do Processo
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes 26
• Sprint Planning II
– Entrada: Backlog Selecionado
– Saída:
• Comprometimento com o objetivo do Sprint
• Itens quebrados em tarefas
– Participantes:
• Equipe e ScrumMaster
Scrum – Visão do Processo – Planejamento Tático
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes 27
Scrum – Visão do Processo
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes 28
• Sprint = Iteração do XP
• Tamanho fixo
– Recomendação:
• Antigamente: 30 dias
• Atualmente: 2 semanas
• Durante o Sprint:
– Daily Scrum (Stand-Up Meeting)
Scrum – Visão do Processo – Sprint
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes 29
• Pequenos encontros diários da equipe – geralmente pela manhã
– galinhas e porcos (só os porcos falam)
– todos os porcos devem participar
• Questões que aparecem devem ser resolvidas após a reunião
• Tempo fixo: 15 minutos
Scrum – Visão do Processo – Daily Scrum 1/2
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes 30
• Galinhas e Porcos
Scrum – Visão do Processo – Daily Scrum 1/2
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes 31
• Explicando – Porcos são todos aqueles que estão comprometidos com
os objetivos da iteração e do projeto como um todo. Eles são o Product Owner, o Scrum Master e a equipe. São eles quem definem o sucesso da implantação e continuidade do Scrum em uma empresa.
– Já as galinhas são aqueles envolvidos, que não estão necessariamente dispostos a “entregar sua vida” pelo projeto. Ok, um pouco de exagero, mas foi só pra explicar a grande diferença entre os papéis. São todas as demais pessoas que não estão no dia-a-dia do projeto, incluindo usuários, gerentes, etc.
Scrum – Visão do Processo – Daily Scrum 1/2
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes 32
• Questões que devem ser respondidas por cada porco: 1) O quê você fez ontem?
2) O quê você vai fazer hoje?
3) Quais os problemas encontrados?
• Evita: Como um projeto atrasa um ano? – Um dia por vez ...
– Qualquer deslize pode ser corrigido de imediato
• ScrumMaster cuida dos impedimentos identificados
Scrum – Visão do Processo – Daily Scrum 2/2
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes 33
• Sempre o mesmo local e hora
• Pode ser o local de desenvolvimento
• Sala bem equipada,
quadro branco, etc.
• A sala já deve estar arrumada antes
• Todos devem participar
• Galinhas ficam na
periferia
• Ficar em pé ajuda a
terminar rápido
• Punições (atrasos/faltas)
Scrum – Visão do Processo – Daily Scrum Local de
Encontro
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes 34
• ScrumMaster atualiza o Burn-Down Chart
– O Gráfico Burn-Down é utilizado como uma ferramenta de apoio para a equipe por representar a quantidade restante de esforço necessário para o término o Backlog do Produto (Quanto Falta ???). A unidade de esforço utilizada é qualquer uma decidida pelo time (SCHWABER, 2009). Além disso, segundo Paulk e Davis (2009), é a partir do Gráfico Burn-down que é possível calcular velocidade ou produtividade do time.
Scrum – Visão do Processo – Acompanhamento
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes 35
Scrum – Visão do Processo – Acompanhamento
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes 36
Scrum – Visão do Processo
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes 37
• Reunião onde o Product Owner:
– Valida os itens entregues
– Verifica se o objetivo do Sprint foi atingido
• Na forma de demonstração ou apresentação
• Momento para celebrar o sucesso
Scrum – Visão do Processo – Sprint Review
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes 38
Scrum – Visão do Processo
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes 39
• Momento para reflexão e aprendizado
• Gera discussões para alimentar o próximo Sprint
• Quem está no controle?
– Equipe: Backlog
– Instituição: Backlog de Impedimentos
Scrum – Visão do Processo – Retrospectiva
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes 40
Scrum – Visão do Processo
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes 41
• Não faz parte do Scrum padrão, mas é bem
usado na prática
• Um último Sprint para “fechar” o produto
• O objetivo é:
– Preparar a versão de produção
– O foco é a eliminação de erros
Scrum – Visão do Processo – Sprint de Entrega
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes 42 Programação Extrema – Prof. Mauro Lopes
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes
Perguntas
43
Página do Professor Mauro: http://www.dai.ifma.edu.br/~mlcsilva
Programação Extrema – Prof. Mauro Lopes
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes
Próxima Aula...
44 Programação Extrema – Prof. Mauro Lopes
• Extreme Programming: Valores e Práticas.
45
INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA
- Programação Extrema – Prof. Mauro Lopes
Referências • Materiais avulsos da Internet e o Livro Extreme
Programming, Vinicius Manhães Teles, 1ª Edição - Editora Novatec, 316 páginas.
• Comparação entre Metodologias Ágeis e Tradicionais para o Desenvolvimento de Software, Michel dos Santos Soares
• MÉTODO ÁGIL XP (EXTREME PROGRAMMING), Luciano Malaquias de Souza
• O Manifesto Ágil, obtido em:(acessado em 20.03.2011) http://hp.br.inter.net/jrotta/docs/omanifestoagil.pdf
45 Programação Extrema – Prof. Mauro Lopes