Você está na página 1de 61

[Agile] Scrum + XP

Agilidade eXtrema

Wagner Roberto dos Santos


Arquiteto Java EE / Scrum Master wrsconsulting@gmail.com

Globalcode open4education

Apresentao
Arquiteto Java EE / Scrum Master Lead Editor da Queue Arquitetura do Portal InfoQ Brasil (http://infoq.com/br). Participao nos projetos de traduo e teste do NetBeans. Palestrante de eventos como Just Java, Sun Tech Days, Campus Party. Premiaes em competies de tecnologia . Autor de vrios artigos para a revista Mundo Java Participao em diversos projetos Open Source. Certificaes: SCJA, SCJP, SCSNI, SCJWSD, SCBCD, SCEA(I), CSM. Mantm o blog http://netfeijao.blogspot.com
2 Globalcode open4education

Agenda

Globalcode open4education

O Ministrio da Sade Adverte


A APRESENTAO A SEGUIR PODE IR CONTRA SEUS CONCEITOS DE GERENCIAMENTO DE SOFTWARE E PODE CAUSAR MALES A SUA SADE.

Globalcode open4education

Introduo: Evoluo

VS

Mtodos Tradicionais

Mtodos Iterativos

Globalcode open4education

Mtodos Tradicionais

Ser que precisamos de tanta documentao?

Globalcode open4education

Mtodos Tradicionais

64% nunca ou raramente utilizado...


7 Globalcode open4education

Mtodos Tradicionais
Custo de Mudanas

Globalcode open4education

Mtodos Tradicionais
E a luta continua ... ndice de sucesso nos projetos

2009 Standish Chaos Report


9 Globalcode open4education

Mtodos Tradicionais
Dinheiro jogado fora ....

10

Globalcode open4education

Mtodos Tradicionais
Mas por que os projetos ainda falham?

11

Globalcode open4education

Sucesso nos projetos geis

12

Globalcode open4education

Manifesto gil
Indivduos e interao entre eles mais que
processos e ferramentas.

Software em funcionamento mais que documentao


abrangente.

Colaborao com o cliente mais que negociao de


contratos.

Responder a mudanas mais que seguir um plano.


13 Globalcode open4education

Agile Development - SCRUM


O que SCRUM ?
SCRUM uma metodologia (ou Framework de acordo com o criador Ken Schwaber) onde a espinha dorsal que chamamos de Sprint. Que nada mais do uma lista de objetivos ou requisitos bem definidos cujo time de desenvolvimento ir trabalhar focado em um perodo de 30 dias.

14

Globalcode open4education

Metodologias geis - SCRUM


SCRUM

15

Globalcode open4education

Agile Development - SCRUM


Papis no SCRUM
No Scrum existem 3 papis que devem estar bem definidos, que so:

Product Owner

o cliente focal, responsvel por reunir todas as mudanas planejadas para o produto e priorizar as funcionalidades possveis. Administra o Backlog do Produto e assegura que o Scrum Team esta trabalhando com as tarefas certas na perspectiva do negcio.
Globalcode open4education

16

Agile Development - SCRUM


Papis no SCRUM
No Scrum existem 3 papis que devem estar bem definidos, que so:

Scrum Master

O Scrum Master lidera o time de desenvolvimento, resolve possveis impedimentos e trabalha para assegurar que o time possui a ferramentas e condies necessrias para alcanar os objetivos estabelecidos pelo Sprint. Realiza reunies dirias Daily Scrum com o Scrum Team para o acompanhamento das atividades.
Globalcode open4education

17

Agile Development - SCRUM


Papis no SCRUM
No Scrum existem 3 papis que devem estar bem definidos, que so:

Scrum Team

So os membros que formam o time de desenvolvedores, designers, consiste de 5 a 9 pessoas. Interagem com o Product Owner para determinar o objetivo do Sprint e priorizar as funcionalidades, e quebrar o Sprint em tarefas detalhadas. O time auto organizvel e tem a responsabilidade conjunta pelos resultados.
Globalcode open4education

18

Comprometimento

19

Globalcode open4education

Agile Development - SCRUM


Em um perodo de 30 dias, feito uma reunio que ser definido o Sprint Backlog, ou seja, de acordo com os itens de maior prioridade criado o Sprint Backlog que a equipe ter a responsabilidade de terminar at o prximo Sprint.

O Product Owner responsvel por compilar todas as requisies e especificaes no documento chamado Product Backlog, essas mudanas so referentes ao produto, como novas funes e correes de bugs. As prioridades devem ser feitas durante a criao de cada tarefa.

Product Backlog A B C D E F

Sprint Backlog A C D E

O Scrum Master faz diariamente o Daily Scrum que uma reunio com o Scrum Team cujo propsito eliminar qualquer impedimento. Cada integrante deve responder a 3 perguntas:

1 O que voc fez desde a ultima reunio ? 2 O que voc vai fazer entre esse e a prxima reunio ? Daily Scrum 20 3 Tem algo impedindo voc de efetuar a sua tarefa ? Globalcode open4education

Planejamento gil
Mltiplos nveis de planejamento

21

Globalcode open4education

Planejamento gil
Viso Geral do Planejamento

22

Globalcode open4education

Planejamento gil
Release, Iterao e Velocidade
Uma release comprime mltiplas iteraes. Cada iterao pode ter o mesmo tamanho. Estrias so includas em cada box at que esteja completa. O tamanho do box dado pela velocidade planejada
23

Globalcode open4education

Planejamento gil
Tamanho da estimativa / Durao

Tamanho

Clculo

Durao

300 pontos de estria

Velocidade = 20

300 / 20 = 15 Iteraes.

24

Globalcode open4education

Planejamento gil
Qual o critrio para decidir a histria que ser includa no Sprint ?
Resp: Clculo de Velocidade
Clculo de Velocidade uma medida em cima do total do trabalho feito, onde cada item recebe um peso de acordo com a sua estimativa inicial.

Ex:

Inicio do Sprint A=6 B=4 C=8 D=4 E=2 F=2

Aps de 30 dias
Peso Feito ! Feito ! Velocidade Estimada = 26 Feito !

Final do Sprint A=6 B=4 C=8 D=4 E=2 F=2


Velocidade atual = 18

Feito Parcialmente! Feito Parcialmente! No iniciado !

25

Globalcode open4education

Planejamento gil
Como estimar a velocidade ?
Resp: A maneira mais simples de estimar a velocidade verificar o histrico do time. Qual foi a velocidade do time nos ltimos Sprints ? Ento assumir que a velocidade ser a mesma para o ltimo Sprint, mas isso s funciona se o time j tive feito alguns Sprints antes. Outra maneira de calcular atravs de clculo de recurso. Por exemplo, vamos assumir que estamos planejando um Sprint de 3 semanas (15 dias) com um time de 4 pessoas. Eliel ficar dois dias de folga, Zanatto apenas 50%, colocando tudo isso no papel ficar: Recurso Marcelo Wagner Eliel Trainee Disponibilidade em dias 7 15 13 15 Esta no ainda nossa estimativa de velocidade, a nossa unidade de estimativa so os pontos de estria, que no nosso caso corresponde ao dias de recurso ideal.

50 Dias de recurso disponvel para o Sprint.

26

Globalcode open4education

Planejamento gil
Estimamos que a velocidade estimada ser menor que 50. Mas quanto menos ? Utilizamos o termo Fator Foco para isso:

Frmula para velocidade estimada do Sprint: (Dias de Recurso Disponvel) * (Fator Foco) = (Velocidade Estimada)
Fator Foco uma estimativa de como o time esta focado no Projeto. Um fator foco baixo Resultado Inicio do significa que o time espera encontrar vrios inconvenientes. A melhor maneira de determinar Sprint um Fator Foco concreto analisando o ultimo Sprint, ou melhor, a mdia dos ltimos Sprints.

Fator Foco do ltimo Sprint:

(Fator=Foco) = (Velocidade Atual)______ A 6 (Dias de Recurso Disponvel) B = de Velocidade atual a soma da estimativa inicial 4 todas as estrias que foram finalizadas no

Sprint anterior. Por exemplo, no ultimo Sprint complemos 18 pontos em um time de 3 pessoas, C = Dias de Recurso. Vamos calcular o novo Sprint trabalhando por 3 semanas para um total de 45 8 20 Pontos de estria baseado nestes dados, para complicar imagine que chegou mais um recurso (Trainee), que includos no Sprint totalizando d 50 Dias de Recurso com treinamentos, feriados, etc... D=4 No entram no Sprint seno E=2 Fator Foco do ltimo Sprint Velocidade Estimada do Sprint estoura os pontos Desta maneira a velocidade estimada para o prximo Sprint de 20 pontos de estria. Isso significa que o time deve adicionar estrias para o Sprint at o mesmo chegar perto de 20 pontos.
27 Globalcode open4education

(40%) = (18 Pontos de estria)______ = 2 de Recurso) * (40%) = (20 Pontos estria) (50 F Dias (45 Dias de Recurso)

Agile Development - SCRUM

Index Cards: O que so ?


Scrum prope uma maneira muito mais gil de expor os problemas que sero discutidos que so os Index Cards. Na verdade para cada item do backlog criado um carto e estes cartes so expostos em um mural. Os cartes devero conter as seguintes EX:
informaes **: ID: Identificador nico Nome: Descrio curta da estria. Importncia: Grau de importncia da estria. Ex: 1050. Alto: Mais importante. Estimativa inicial: Estimativa do time de quanto trabalho preciso, a medida feita por pontos de estria que corresponde a Dias de Recurso . Demonstrao:Uma descrio de alto nvel de como ser feito a demo do Sprint. ** Estas informaes sero as mesmas do Product Observao: Outras informaes... Backlog que podem ser armazenadas em arquivo Excel.
28 Globalcode open4education

Agile Development - SCRUM


Quebrando estrias em tarefas:
A diferena entre estrias e tarefas, que estrias so as funes que o Product Owner solicitou e que espera que elas sejam entregues. Desmembramos as estrias em tarefas unitrias de modo a distribuir as atividades do desenvolvimento da estria para toda a equipe. Ex: Ou poderiamos quebrar a estria em estrias menores

Consulta de Clientes
Escrever Detalhar Desenhar caso de Requisito tela teste Integrar testes, refactoring, debug Implantar DAO de clientes

Consulta de Clientes

Adicionar / Editar Clientes

Consulta de Clientes

29

Globalcode open4education

Agile Development - SCRUM


Grfico Burndown de acompanhamento dirio.
Na linha vertical, colocamos a quantidade de pontos de estria, que a quantidade de trabalho que deve ser feito para este Sprint atravs do clculo de velocidade por atividade, a velocidade estimada de todo o Sprint. Na linha horizontal, marcamos o primeiro dia do Sprint, nor exemplo 1 de Augusto, e esperamos terminar este Sprint no dia 19 de Junho, a linha tracejada indica a estimativa de trabalho. A linha azul indica o trabalho realizado, no exemplo o grfico nos mostra que no dia 16 ainda temos aproximadamente 15 pontos de estria de trabalho para fazer. O grfico atualizado diariamente durante o Daily Scrum.

30

Globalcode open4education

Agile Development - SCRUM


Indicadores
Cuidado ! preciso remover alguns itens de backlog do Sprint, seno teremos atrasos. Ateno ! Aqui eu posso incluir alguns itens de backlog no Sprint.

31

Globalcode open4education

Agile Development - SCRUM


Quadro de Acompanhamento
Atividades que ningum est trabalhando.
Itens de maior prioridade

Atividades que esto sendo trabalhadas.

Atividades finalizadas.

Objetivo do Sprint. Grfico Burndown atualizado diariamente aps o Daily Scrum.

Primeiro as atividades amarelas devem ser finalizadas. Para depois o item de backlog branco ir para Done. Itens de menor prioridade 32

Estrias que entraro em prximos Sprints, ou como novos itens no Sprint se couber no tempo.

Itens fora de escopo devem ser includos aqui.

Globalcode open4education

Retrospectiva

Retrospectiva
1O que foi bom durante o Sprint: Se tivssemos que fazer outra Sprint, faramos da mesma maneira. 2Poderamos fazer melhor : Se tivssemos que fazer outro Sprint, faramos de maneira diferente.. 3 Aes/Melhorias: Idias concretas que poderamos implementar no futuro.

33

Exemplo de um quadro de sugestes /Globalcode open4education anlise.

O que XP?

34

Globalcode open4education

O que XP?
Uma filosofia de desenvolvimento de Software fundamentada em 4 valores:
Comunicao Feedback Simplicidade Coragem

35

Globalcode open4education

Valores, Princpios e Prticas

36

Globalcode open4education

Valores

Comunicao

37

Globalcode open4education

Valores

Simplicidade

Busque por solues simples

38

Globalcode open4education

Valores

Feedback

39

Globalcode open4education

Valores

Coragem
Refactor quando Necessrio. Desenvolver sem uma arquitetura definida Sem o 3 anteriores leva ao CAOS.
40 Globalcode open4education

Princpios
Feedback Rpido Mudana Incremental Abraar Mudana (Embrace Change) Qualidade do trabalho Simplicidade Assumida Outros Humanitrio, Benefcio Mtuo, Oportunidade, Falha, Baby Steps

41

Globalcode open4education

Prticas
Primrias e Corolrios

42

Globalcode open4education

Prticas
Primrias
So prticas teis que podem ser aplicadas independente do que voc esteja fazendo. Cada uma delas, d um retorno de melhoria imediato. Podem ser iniciadas em qualquer ordem.

43

Globalcode open4education

Ciclo de Vida no XP

44

Globalcode open4education

Prticas
Pequenos Releases Jogo do Planejamento Refactoring Testing (TDD) Pair Programming Baby Steps Cdigo Compartilhado Padronizao de Cdigo Design Simples Metfora Integrao Contnua Cliente ao lado

45

Globalcode open4education

Prticas Primrias
Estrias

46

Globalcode open4education

Prticas Primrias
Cliente escreve suas estrias.

47

Globalcode open4education

Prticas Primrias
Estimativas geis Planning Poker

48

Globalcode open4education

Prticas Primrias
Priorizao

49

Globalcode open4education

Prticas Primrias
Quadro de Stories

50

Globalcode open4education

Prticas Primrias
Tarefas visuais

51

Globalcode open4education

Prticas Primrias
Programao em Pares

52

Globalcode open4education

Como iniciar? Baby Steps


Desenvolvimento Incremental (TDD) Feedbacks do que esta sendo feito.

53

Globalcode open4education

Prticas Primrias
Test First Programming
Teste antes ....

54

Globalcode open4education

Prticas Primrias

55

Globalcode open4education

Outras Prticas
Envolvimento real do cliente Deployment Incremental Continuidade do Time Times Pequenos Anlise da Causa Raiz Codificar e Testar Deployment Dirio Slack Build de Dez Minutos Ciclo Semanal Sente o time Time Completo rea de Trabalho Informativa Contrato de Escopo Negocivel
Globalcode open4education

56

Combinando as Duas
Processo no SCRUM

Scrum promove prticas de GERENCIAMENTO.


57 Globalcode open4education

Combinando as Duas
Processo no XP

XP promove prticas de GERENCIAMENTO + ENGENHARIA.


58 Globalcode open4education

Combinando as Duas
Processo combinado

59

Globalcode open4education

Dvidas

60

Globalcode open4education

Thats All Folks !!!

Obrigado !!!
Email: wrsconsulting@gmail.com Blog: http://netfeijao.blogspot.com/ Twitter: http://twitter.com/wrsantos
61 Globalcode open4education

Você também pode gostar