introdução aos métodos Ágeis - parte iii

Post on 25-Jul-2015

54 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Introdução aos métodos ágeiis – Oziel Moreira Neto – oziel.neto@gmail.com

Introdução aos Métodos ÁgeisUma 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 ProgrammingAula 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étricasAula 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 ÁgeisUma visão prática do Scrum ao Kanban™

Prof. Oziel Neto (oziel.neto@gmail.com)

Twitter: @ozielneto

top related