75
Agilidade: SCRUM e XP

Agilidade: Scrum e Xp

Embed Size (px)

DESCRIPTION

Apresentação feita na phpconf2008 sobre agilidade usando SCRUM e eXtreme Programming

Citation preview

Page 1: Agilidade: Scrum e Xp

Agilidade: SCRUM e XP

Page 2: Agilidade: Scrum e Xp

Facilitador

Contexto de projetosValores ágeisPrincípios ágeisScrum

Agenda SCRUM:

Fernando Costaformado em Redes de ComputadoresSócio da 3LJ Tecnologia – www.3lj.com.br

Page 3: Agilidade: Scrum e Xp

Paradoxo de CobbWe know why projects fail, we know

how to prevent their failure – so why do they still fail?

Martin Cobb

Treasury Board of Canada Secretariat

Nós sabemos porque os projetos falham, sabemos como previnir – Porque eles continuam falhando?

Page 4: Agilidade: Scrum e Xp

Reflexão do Caranguejo Todos os caranguejos

ficam amarrados a um barbante que fica solto.

Não é preciso amarrar pois todos querem fugir mas cada um que ir para um lado diferente.

Ficam no mesmo lugar

Page 5: Agilidade: Scrum e Xp

Valores do Manifesto ÁgilProcessos e ferramentasIndivíduos e interações

ao invés de

Seguir um planoResposta à mudanças

www.agilemanifesto.org - 2001

Documentação abrangenteSoftware que funciona

Negociação de contratoColaboração do cliente

Page 6: Agilidade: Scrum e Xp

Princípios do Manifesto Ágil1 - O principal compromisso é com a satisfação

do cliente, por meio da entrega mais rápida e contínua de produto com valor

2 - Receba bem as mudanças de requisitos(mesmo em estágios tardios do projeto). Processos ágeis devem admitir mudanças que trazem vantagens competitivas ao cliente

3 - Libere produto frequentemente (de 2 a 4 semanas), dando preferência para uma escala de tempo curta

Page 7: Agilidade: Scrum e Xp

Princípios do Manifesto Ágil4 - Mantenha pessoas ligadas ao negócio (cliente) e

desenvolvedores trabalhandos juntos a maior parte do tempo do projeto

5 - Construa projetos com indivíduos motivados, dê a eles o ambiente e suporte que precisam e confie neles para ter o trabalho realizado

6 - O método mais eficiente e efetivo para repassar a informação entre a equipe é pela comunicação face a face

Page 8: Agilidade: Scrum e Xp

Princípios do Manifesto Ágil7 - Produto funcionando é a principal medida

de progresso de um projeto

8 - Processos ágeis promovem o desenvolvimento sustentado. Patrocinadores, desenvolvedores e usuários devem ser capazes de manter conversação pacífica indefinidamente

9 - Atenção contínua para excelência técnica e bom projeto (planejamento) aprimoram a agilidade

Page 9: Agilidade: Scrum e Xp

Princípios do Manifesto Ágil10 - Simplicidade é essencial e deve ser

assumida em todos os aspectos do projeto

11 - As melhores arquiteturas, requisitos e projetos emergem de equipes auto-organizadas

12 - Em intervalos regulares, as equipes devem refletir sobre como se tornarem mais efetivas, e então refinarem e ajustarem seu comportamento

Page 10: Agilidade: Scrum e Xp

SCRUM

Page 11: Agilidade: Scrum e Xp

Em resumo...

Imagem disponível em: www.mountangoatsoftware.com/scrum

Page 12: Agilidade: Scrum e Xp

Cliente (ou Product Owner) Quem é o nosso cliente? Funcionalidades do

produto Decide as datas e

conteúdo Rentabilidade (ROI) Ajusta e prioriza

funcionalidades e prioridades

Aceita o rejeita resultados

Page 13: Agilidade: Scrum e Xp

Scrum Master Remove obstáculos Não tem autoridade Produtividade da equipe Conduz eventos Escudo da equipe

Page 14: Agilidade: Scrum e Xp

Equipe 5 a 9 pessoas Multi-funcional Auto-organizável Sugere funcionalidades

do produto

Page 15: Agilidade: Scrum e Xp

Product Backlog Lista de funcionalidades desejadas no projeto Os itens que compõe a lista são chamados de

histórias ou itens de backlog Todos podem incluir histórias Somente o Product Owner pode priorizá-las Product Owner pode priorizar novamente no

início de cada Sprint

Page 16: Agilidade: Scrum e Xp

Nosso Product BacklogID Nome Importância Estimativa Observação

1 Catálogo de produtos

2 Cesta de compras

3 Cadastro do cliente

4 Boleto bancário

5 Cartão de crédito

Page 17: Agilidade: Scrum e Xp

Planning Poker Vamos estimar os itens de Backlog?

Page 18: Agilidade: Scrum e Xp

Nosso Product BacklogID Nome Importância Estimativa Observação

1 Catálogo de produtos

3

2 Cesta de compras

5

3 Cadastro do cliente

2

4 Boleto bancário 4

5 Cartão de crédito

3

Page 19: Agilidade: Scrum e Xp

Qual a importância dos itens de backlog para o Product Owner?

Page 20: Agilidade: Scrum e Xp

Must(tem que

ter)

Should(deveria ter)

Could(poderia ter)

Want(interessante)

Catálogo de produtos

Boleto bancário

Videos dos produtos

Cadastro de clientes

Controle de estoque

Cesta de compras

Registro do Pedido e entrega

Cartão de crédito

Fotos dos produtos

Regras de promoção

Page 21: Agilidade: Scrum e Xp

Nosso Product BacklogID Nome Importância Estimativa Observação

1 Catálogo de produtos

1 3

2 Cesta de compras

1 5

3 Cadastro do cliente

1 2

4 Boleto bancário 2 4 BB e CEF

5 Cartão de crédito

3 3 Visa e Mastercard

Page 22: Agilidade: Scrum e Xp

Sprint

Deve ter um objetivo Período de 2 a 4 semanas Nenhuma mudança no sprint Processo baseado em uma série de iterações Produto é desenvolvido no sprint

Page 23: Agilidade: Scrum e Xp

Product Burnup Chart

Page 24: Agilidade: Scrum e Xp

Planejamento do Sprint Cliente, ScrumMaster e Equipe Cliente seleciona itens do Product backlog O Sprint backlog

− Tarefas identificadas e estimadas (1 a 16 horas)

− De forma colaborativa (por todos)− Equipe compromete-se a concluir as tarefas

Page 25: Agilidade: Scrum e Xp

ID - 1Catálogo de produtos

ID – 1.1Administrador dos

Produtos10 horas

Planejamento do Sprint

ID – 1.2 Busca fonética de

produtos2 horas

ID – 1.3Front-end da Loja

15 horas

Page 26: Agilidade: Scrum e Xp

Scrum diário Tempo de 15 minutos Todos em pé Não é para a solução de problemas

− Todos são convidados− Apenas a Equipe, ScrumMaster e Product Owner

podem falar Sincronização do conhecimento Atualização do burnup chart1. O que fiz desde a última reunião?2. O que farei até a próxima reunião?3. Existe algum obstáculo?

Page 27: Agilidade: Scrum e Xp

Gerenciando o Sprint backlog Cada membro da equipe escolhe a tarefa

que fará− Trabalhos nunca são atribuídos

Atualização diária da estimativa do trabalho restante

Equipe pode adicionar, apagar ou mudar tarefas (não itens de backlog)

Page 28: Agilidade: Scrum e Xp

Scrum board

Page 29: Agilidade: Scrum e Xp

Revisão do Sprint Informal Todos participam Hora do feedback Resultados do Sprint

Comunicação eficaz:(bala / bombom)

Page 30: Agilidade: Scrum e Xp

Retrospectiva do Sprint Feita após cada Sprint Periodicamente observe pontos

positivos e negativos Tipicamente de 15 a 30 minutos Todos participam

Page 31: Agilidade: Scrum e Xp

Inicia, Pára, Continua A equipe discute o que gostaria de:

Iniciar a fazerIniciar a fazer

Parar de fazerParar de fazer

Continuar fazendoContinuar fazendoEsta é uma das várias maneiras de se conduzir

uma retrospectiva do

Sprint

Page 32: Agilidade: Scrum e Xp

Agora vocês explicam!!!

Page 33: Agilidade: Scrum e Xp

Resumo: Gerenciamento ágilTópico CaracterísticasObjetivo principal Orientado ao produto e centrado nas pessoasTipo do projeto Projetos com mudanças constantes e que necessitam de respostas

rápidasTamanho Mais efetivo em projeto pequenos(5 a 9 pessoas)Gerente do projeto Papel de facilitador ou coordenadorEquipe do projeto Atuação colaborativa em todas as atividades do projetoCliente Essencial. Deve ser parte integrante da equipe do projetoPlanejamento Curto e com a participação de todos os envolvidos na elaboração

do planejamentoArquitetura Aplicação de design simples. Evolui junto com o projeto e

baseia-se na refatoraçãoModelo de desenvolvimento

Iterativo e Incremental

Comunicação Informal

Tópico Características

Page 34: Agilidade: Scrum e Xp
Page 35: Agilidade: Scrum e Xp

Dúvidas?Fernando Costa

[email protected]

www.3lj.com.br www.innovit.com.br

Patrocínio: Agradecimento:

Page 36: Agilidade: Scrum e Xp
Page 37: Agilidade: Scrum e Xp

Desenvolvimento tradicional

Valores

Princípios

Práticas

Agenda do XP

Page 38: Agilidade: Scrum e Xp

Fazer software é dureza

Page 39: Agilidade: Scrum e Xp

Boa notícia

Cases de sucesso:Google

Microsoft

Philips

FAB (BR)

Oi Paggo

Má notícia• Seus colegas não vão

acreditar

• O seu chefe não vai aceitar

• O chefe do seu chefe não pode nem pensar

Page 40: Agilidade: Scrum e Xp

Não é assim que se faz software

Principais falhas:

a) Não entregam o acordado

b) Orçamento

c) Prazo

d) Todas alternativas

Page 41: Agilidade: Scrum e Xp

Utilização de funcionalidades

Pesquisado em 280 mil projetos de software nos EUA pela empresa Standish Group

Page 42: Agilidade: Scrum e Xp

64% de desperdício

Podem gerar algumas horas extras para a equipe

Cliente paga por lixo

Page 43: Agilidade: Scrum e Xp

Utilização de funcionalidades

Pesquisado em 280 mil projetos de software nos EUA pela empresa Standish Group

Page 44: Agilidade: Scrum e Xp

20% muito útil Geram pelo menos 80% do valor do

produto

20%? desconhecido no início do projeto

“XP é a arte de maximizar a quantidade de software que

você não vai fazer “Vinícius Manhães Teles

Page 45: Agilidade: Scrum e Xp

Análise

Pai(cliente): 1 dia de projetoMãe(desenv.): 9 meses de projeto

Page 46: Agilidade: Scrum e Xp

Análise

Cliente: “Não era nada disso que eu queria...”

Page 47: Agilidade: Scrum e Xp

Mentalidade

Page 48: Agilidade: Scrum e Xp

Cascata

Page 49: Agilidade: Scrum e Xp

Custo da Mudança por Barry Bohem

Page 50: Agilidade: Scrum e Xp

Problemas e mudanças

Patente do VELCRO:

em 1941 por Georges de Mestral

Page 51: Agilidade: Scrum e Xp

Meio digital Fluidez Maleabilidade Invisibilidade Complexibilidade (elementos distintos) Baixo custo de manufatura Rapidez evolução

Page 52: Agilidade: Scrum e Xp

Nova mentalidade• Chef• Escritor

Page 53: Agilidade: Scrum e Xp

eXtreme Programming

Page 54: Agilidade: Scrum e Xp
Page 55: Agilidade: Scrum e Xp

RespeitoRespeito

Valores do XP

Comunicação

Comunicação

Simplicidade

Simplicidade

Feedback

Feedback

Coragem

Coragem

Page 56: Agilidade: Scrum e Xp

Uma pergunta

“Como você programaria se tivesse tempo suficiente?”

Kent Beck

Page 57: Agilidade: Scrum e Xp

Possíveis respostas Mais testes?

Mais projeto e arquitetura?

Menos pessoas?

Mais qualidade?

Page 58: Agilidade: Scrum e Xp

Programando ao Extremo− Testar toda hora!!

− Se projetar é bom, vamos fazer disso parte do trabalho diário de cada pessoa!

− Integrar a maior quantidade de vezes possível!

− Iterações realmente curtas!

Page 59: Agilidade: Scrum e Xp

Práticas

Integração Contínua Ritmo

Sustentável

Metáfora

Código Coletivo Coding

Standard

Design Simples

RefactoringProgramação

em pares

Test-Driven Development

Testes de Aceitação

Releases Curtas

Planning Game

Cliente Presente

Adaptado de xprogramming.com

Page 60: Agilidade: Scrum e Xp

Jogo do Planejamento

Reunião semanal onde todos participam

Escopo reavaliado

Cliente prioriza e seleciona as histórias que serão desenvolvidas

Ao fim da semana o cliente recebe produto funcionando

Page 61: Agilidade: Scrum e Xp

Reunião em pé 10/15 minutos Todos em pé Não é para a solução de problemas

− Todo mundo é convidado− Apenas a Equipe pode falar

Sincronização do conhecimento1. O que fiz desde a última reunião?2. O que farei até a próxima reunião?3. Existe algum obstáculo?

Page 62: Agilidade: Scrum e Xp

Cliente presente e envolvido• Responsabilidade do

projeto:– Equipe– Cliente

• Comprometimento

Page 63: Agilidade: Scrum e Xp

Ritmo sustentável

Semana de 40 horas (8hr/dia)

Sem hora extra: Baixa produtividade Código de má qualidade Aumento de BUGs

Page 64: Agilidade: Scrum e Xp

Programação em par

Forneça suporte e ferramentas

Experimente, você vai se surpreender

Alterne os pares para não ficar cansativo e nivelar o time

Respeite a individualidade das pessoas

Page 65: Agilidade: Scrum e Xp

Código Padronizado

Page 66: Agilidade: Scrum e Xp

Código Coletivo Inibe ilhas de

conhecimento

Padrão de codificação

Membro da equipe pode ter férias

Direito de ficar doente

Page 67: Agilidade: Scrum e Xp

Integração Contínua

Divergências aparecem antes de virar um problema

“Isso funcionava na minha máquina”

Page 68: Agilidade: Scrum e Xp

Projeto Simples

Faça o essencial

Tudo pode mudar

Page 69: Agilidade: Scrum e Xp

Refatoração “Time que está ganhando não se mexe” –

FALSO Ex.: Empresas estáveis quebram se não

mudarem Melhoria contínua

Page 70: Agilidade: Scrum e Xp

Desenvolvimento Orientado

a Testes (TDD)

Início é um pouco demorado

Primeiro o teste, depois a funcionalidade para passar no teste

Testes automatizados: Unitários, Interface e Aceitação

RETORNO: Salvação no FIM do projeto

Page 71: Agilidade: Scrum e Xp

Releases curtos

Page 72: Agilidade: Scrum e Xp

Papéis

Tracker

Programador

Goal Donnor

Gold OwnerAnalista de Testes

Coach

Manager

Page 73: Agilidade: Scrum e Xp

Equipe nivelada

Page 74: Agilidade: Scrum e Xp
Page 75: Agilidade: Scrum e Xp

Dúvidas?

Fernando [email protected]

3LJ Tecnologiawww.3lj.com.br

Agradecimento:Vinícius Manhães TelesImprove It