Introdução aos Métodos Ágeis - Parte III
-
Upload
oziel-moreira-neto -
Category
Technology
-
view
54 -
download
1
Transcript of Introdução aos Métodos Ágeis - Parte III
Introdução aos métodos ágeiis – Oziel Moreira Neto – [email protected]
Introdução aos Métodos ÁgeisUma visão prática do Scrum ao Kanban™
Prof. Oziel Neto ([email protected])
Twitter: @ozielneto
Introdução aos métodos ágeiis – Oziel Moreira Neto – [email protected]
eXtreme ProgrammingAula III
Introdução aos métodos ágeiis – Oziel Moreira Neto – [email protected]
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 – [email protected]
eXtreme Programming - XP
Tem como valores principais
• Comunicação;
• Simplicidade;
• Feedback;
• Coragem;
Introdução aos métodos ágeiis – Oziel Moreira Neto – [email protected]
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 – [email protected]
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 – [email protected]
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 – [email protected]
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 – [email protected]
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 – [email protected]
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 – [email protected]
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 – [email protected]
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 – [email protected]
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 – [email protected]
eXtreme Programming - XP
Execução
Introdução aos métodos ágeiis – Oziel Moreira Neto – [email protected]
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 – [email protected]
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 – [email protected]
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 – [email protected]
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 – [email protected]
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 – [email protected]
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 – [email protected]
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 – [email protected]
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 – [email protected]
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 – [email protected]
Ferramentas e MétricasAula III
Introdução aos métodos ágeiis – Oziel Moreira Neto – [email protected]
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 – [email protected]
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 – [email protected]
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 – [email protected]
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 – [email protected]
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 – [email protected]
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 – [email protected]
Ferramentas e Métricas
Indicadores
• Tempos de trabalho;• WIP, Idle e Completion
Introdução aos métodos ágeiis – Oziel Moreira Neto – [email protected]
Ferramentas e Métricas
Indicadores
• Dispersão do trabalho
Introdução aos métodos ágeiis – Oziel Moreira Neto – [email protected]
Ferramentas e Métricas
Ferramentas
• Jira Agile
• Plone eXtremme Management
• Target Process
Introdução aos métodos ágeiis – Oziel Moreira Neto – [email protected]
Self-Test
Introdução aos métodos ágeiis – Oziel Moreira Neto – [email protected]
Introdução aos Métodos ÁgeisUma visão prática do Scrum ao Kanban™
Prof. Oziel Neto ([email protected])
Twitter: @ozielneto