1. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
Introdução aos
Métodos Ágeis
Uma visão prática do Scrum ao Kanban™
Prof. Oziel Neto (oziel.neto@gmail.com)
Twitter: @ozielneto
2. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
eXtreme Programming
Aula III
3. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
eXtreme Programming - XP
é um método ágil para construir software em
ambientes COMPLEXOS, onde os requisitos
não são claros ou MUDAM com muita
frequência.
é um processo conveniente para fábrica de
software pois trás práticas de distribuição de
conhecimento e melhoria contínua de
processos.
4. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
eXtreme Programming - XP
Tem como valores principais
• Comunicação;
• Simplicidade;
• Feedback;
• Coragem;
5. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
eXtreme Programming - XP
Comunicação
• Sincronizar os envolvidos em torno do
mesmo objetivo;
• Programação em Par, testes unitários e
estimativas em conjunto ( cliente, gerente
e desenvolvedor )
6. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
eXtreme Programming - XP
Simplicidade
• Releases curtos, incrementais e
cadenciados, diminuem a complexidade
e o custo de mudança
7. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
eXtreme Programming - XP
Feedback
• Estimativa imediata do time para o cliente
• Leitura do código (pergunte ao sistema)
• Testes unitários / Test Driven Development
• Testes funcionais
• Integração Contínua
• Entrega Contínua
Quanto antes você tiver feedback sobre uma
situação, mais rápido você pode agir!
8. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
eXtreme Programming - XP
Coragem
• Define uma Atitude Positiva do Time em
enfrentar os problemas de forma prática e
ousada, dentro dos valores do cliente!
“Coragem é resistência ao medo, domínio
do medo, e não ausência do medo.”
Mark Twain
9. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
eXtreme Programming - XP
Papéis
• Gerente de Projetos
• cuida da parte burocrática, trata detalhes de contratos e
recursos, gerencia as entregas e a cadeia de valor com o
cliente;
• “Coach” ( Treinador )
• distribui o conhecimento técnico, define padrões de
soluções, e procura manter os valores do xP;
• Analista de Testes
• define em conjunto com o Cliente os parâmetros de
aceitação das entregas e executa os testes integrados;
10. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
eXtreme Programming - XP
Papéis
• Redator Técnico
• cria e mantém a documentação do software e do
usuário, traduz os ‘desejos’ do cliente em ‘User
History’, serve de ponte entre o cliente e os
desenvolvedores;
• Desenvolvedor
• analisa, projeta, codifica, testa unitariamente, sem
hierarquia e com formação multidisciplinar;
11. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
eXtreme Programming - XP
Papéis
• Cliente
• determina o que o software deve fazer e a cadeia
de valor;
12. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
eXtreme Programming - XP
Releases Curtos
Melhor fazer unidades de trabalho menores
de cada vez, validá-los e só então seguir
adiante.
Quando os erros são descobertos
rapidamente e abrangem um escopo
pequeno, solucionar torna-se mais fácil.
13. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
eXtreme Programming - XP
Planejamento
• O que fazer na próxima semana?
• ‘User History’ (cliente escreve)!
• Estimativa em conjunto!
• Seleção de cartões e distribuição das
atividades!
• Aguarde e confie (Programação em
par)
• Reunião diária e feedback!
14. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
eXtreme Programming - XP
Execução
15. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
eXtreme Programming - XP
Programação em Par
• Une várias técnicas em uma só:
• Revisão de código
• Correções imediatas
• Evita acumulo de pequenos erros.
• Melhor Modelagem da Solução
16. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
eXtreme Programming - XP
Programação em Par
• Todo desenvolvimento feito em pares.
• Um computador, dois programadores.
• Um piloto, um copiloto
• Papéis são alternados frequentemente
• Pares são trocados periodicamente
• Manter o foco e evitar distrações
17. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
eXtreme Programming - XP
Programação em Par
• Revezamento
• Disseminação do Conhecimento
• Comunicação ágil e contínua
• Facilita entrada de novos membros
• Mantém níveis altos de qualificação
18. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
eXtreme Programming - XP
Desafios
• Exige que os envolvidos sejam receptivas,
compreensivas umas com as outras,
engajadas e, sobretudo, humildes.
• Organização física do escritório propício ao
método, como quadro, baias, mesas, etc;
• Visão Gerencial: eliminar a visão que
desenvolvedores são operários, mas que fazem
parte da cadeia de valor!
19. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
eXtreme Programming - XP
TDD (Test Driven Development)
• Testar é a parte do desenvolvimento de software
que todo mundo sabe que precisa ser feita, mas
ninguém quer fazer.
• Software é complexo, erros são inevitáveis
(natureza lógica, atenção, interpretação de
requisitos).
• Diminui o tempo entre um feedback e uma
mudança ( menor curso de mudança )
20. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
eXtreme Programming - XP
Refactoring (Refatoração)
“Alteração de um sistema de software de modo
que o comportamento externo do código não
mude, mas que sua estrutura interna seja
melhorada!”
21. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
eXtreme Programming - XP
Por que refatorar?
Mudança contínua de Requisitos
Melhorar o projeto do software
Tornar o software mais fácil de entender
Ajuda a encontrar falhas
Ajuda a programar mais rapidamente
Quando refatorar?
Regra de três
Quando acrescentar funções
Quando existe duplicação
Quando precisar consertar uma falha
Enquanto revisa o código
22. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
eXtreme Programming - XP
Integração Contínua
• Integrar e testar o sistema inteiro diversas vezes
por dia.
Ferramentas: CVS, SVN, GIT, TFS, VSF, etc.
• O build rápido é uma prioridade.
• Código coletivo.
• Build noturno, build integrado, build do cliente!
23. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
eXtreme Programming - XP
Documentação
• ‘User History’.
• Guia de Testes e Validação.
• Javadoc
• Diagramas de classe.
• Modelos de dados.
• Manual do usuário.
• UML.
• Fotos.
24. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
Ferramentas e Métricas
Aula III
25. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
Ferramentas e Métricas
Pilares para ferramentas
• Suporte a fluxo de trabalho e processos;
• Acesso facilitado para o cliente e integrado
ao desenvolvimento;
• Registro das ‘User Histories’ e padrões de
solução;
• Registro da estimativa e do trabalho
executado;
• Task Board (Cards) digitais ( não substitui o
físico );
• Acompanhamento das atividades;
26. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
Ferramentas e Métricas
Pilares para métricas
• Estimativa inicial;
• Ajuste de estimativa;
• Registro exato do inicio, fim da
atividade e do trabalho executado;
• Separação por tipo: Nova
funcionalidade, defeito, melhoria,
refatoração, publicação, teste, etc.
27. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
Ferramentas e Métricas
Pilares para gerenciamento
• Acelere o feedback;
• Aumente as competências e
habilidades;
• Alinhe as restrições;
• Motive as pessoas;
• Melhore a estrutura;
• Defina as responsabilidades;
28. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
Ferramentas e Métricas
Indicadores
• Velocidade da equipe;
• Gráfico de Burn Down
• Tempos de Trabalho;
• WIP ( Work in Progress )
• Idle
• Completion
• Dispersão do Trabalho
• Horas / tipo de atividade
29. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
Ferramentas e Métricas
Indicadores
• Permite analisar o desempenho dos
projetos;
• Permite projetar tendências e
antecipar problemas;
• Garante que nada foi esquecido!
30. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
Ferramentas e Métricas
Indicadores
• Velocidade da equipe;
• Gráfico de Burn Down: horas restantes x
funcionalidades
31. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
Ferramentas e Métricas
Indicadores
• Tempos de trabalho;
• WIP, Idle e Completion
32. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
Ferramentas e Métricas
Indicadores
• Dispersão do trabalho
33. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
Ferramentas e Métricas
Ferramentas
• Jira Agile
• Plone eXtremme Management
• Target Process
35. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
Introdução aos
Métodos Ágeis
Uma visão prática do Scrum ao Kanban™
Prof. Oziel Neto (oziel.neto@gmail.com)
Twitter: @ozielneto