SlideShare a Scribd company logo
1 of 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
Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
eXtreme Programming
Aula III
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.
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;
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 )
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
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!
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
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;
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;
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;
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.
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!
Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
eXtreme Programming - XP
Execução
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
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
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
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!
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 )
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!”
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
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!
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.
Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
Ferramentas e Métricas
Aula III
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;
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.
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;
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
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!
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
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
Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
Ferramentas e Métricas
Indicadores
• Dispersão do trabalho
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
Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com
Self-Test
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

More Related Content

More from Oziel Moreira Neto

Trabalhando com Centro de Custo e Receita no FIT Business Suite (ADempiere)
Trabalhando com Centro de Custo e Receita no FIT Business Suite (ADempiere)Trabalhando com Centro de Custo e Receita no FIT Business Suite (ADempiere)
Trabalhando com Centro de Custo e Receita no FIT Business Suite (ADempiere)
Oziel Moreira Neto
 

More from Oziel Moreira Neto (11)

Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para Iniciantes
 
Usabilidade de Interfaces - Parte 3
Usabilidade de Interfaces - Parte 3Usabilidade de Interfaces - Parte 3
Usabilidade de Interfaces - Parte 3
 
Usabilidade de Interfaces - Parte 2
Usabilidade de Interfaces - Parte 2Usabilidade de Interfaces - Parte 2
Usabilidade de Interfaces - Parte 2
 
Usabilidade de Interfaces - Parte 1
Usabilidade de Interfaces - Parte 1Usabilidade de Interfaces - Parte 1
Usabilidade de Interfaces - Parte 1
 
Introdução aos Métodos Ágeis - Parte II
Introdução aos Métodos Ágeis - Parte IIIntrodução aos Métodos Ágeis - Parte II
Introdução aos Métodos Ágeis - Parte II
 
Trabalhando com Centro de Custo e Receita no FIT Business Suite (ADempiere)
Trabalhando com Centro de Custo e Receita no FIT Business Suite (ADempiere)Trabalhando com Centro de Custo e Receita no FIT Business Suite (ADempiere)
Trabalhando com Centro de Custo e Receita no FIT Business Suite (ADempiere)
 
Gestão Empresarial Integrada
Gestão Empresarial IntegradaGestão Empresarial Integrada
Gestão Empresarial Integrada
 
Boa Práticas no Desenvolvimento Java Enterprise
Boa Práticas no Desenvolvimento Java EnterpriseBoa Práticas no Desenvolvimento Java Enterprise
Boa Práticas no Desenvolvimento Java Enterprise
 
A Evolução da Arquitetura de Sistemas Corporativos
A Evolução da Arquitetura de Sistemas CorporativosA Evolução da Arquitetura de Sistemas Corporativos
A Evolução da Arquitetura de Sistemas Corporativos
 
The Evolution Of Enterprise Application Architecture
The Evolution Of Enterprise Application ArchitectureThe Evolution Of Enterprise Application Architecture
The Evolution Of Enterprise Application Architecture
 
Lpj i ads2_apresentacao_aulas
Lpj i ads2_apresentacao_aulasLpj i ads2_apresentacao_aulas
Lpj i ads2_apresentacao_aulas
 

Introdução aos Métodos Ágeis - Parte III

  • 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
  • 34. Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com Self-Test
  • 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