scrum e xp - desenvolvimento ágil de software - experiências e relatos

87
SCRUM e XP desenvolvimento ágil de software experiências e relatos do dia a dia de uma pequena empresa Paulo César M. Jeveaux @jeveaux

Upload: paulo-cesar-m-jeveaux

Post on 17-Dec-2014

1.454 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

SCRUM e XPdesenvolvimento ágil de software

experiências e relatos do dia a dia de uma pequena empresa

Paulo César M. Jeveaux@jeveaux

Page 2: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

@jeveaux(jéve, jêve, jevô, jevú, jevax, já foi, já vou, já vai ...)

quevergonha

Paulo César Machado Jeveaux

jevô

Page 3: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

o processo tradicional

Page 4: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
Page 5: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
Page 6: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

Quase sempre a civil

Inspirado em outrasengenharias

Page 7: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

Quase sempre a civil

Inspirado em outrasengenharias

Page 8: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

mas...... na verdade

Page 9: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

code and fix!

Page 10: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
Page 11: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

Dá pra afastar um pouquinho?

Page 12: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

Custo de mudanças

Page 13: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

algo de erradonão está certo!

precisamos melhorar

Page 14: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

Motivação

“A  experiência  de  décadas  seguindo  pesadas  prá4cas  prescri4vas  tornou  evidente  que:

➡ Os  clientes  ou  usuários  não  tem  certeza  do  que  eles  querem.

➡ Eles  tem  dificuldade  de  expressar  tudo  o  que  querem  e  pensam.

➡ Muitos  detalhes  do  que  eles  querem  só  serão  revelados  durante  o  desenvolvimento.

➡ Os  detalhes  são  complexos  para  as  pessoas.

➡ Na  medida  em  que  elas  vêem  o  produto  sendo  construído,  elas  mudam  de  idéia.

➡ Forças  externas  trazem  mudanças  ou  melhorias  nos  requisitos.”

Source: Agile and Iterative Development: A Manager's Guide by Craig Larman

Page 15: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

Manifesto ÁgilEstamos descobrindo maneiras melhores de desenvolver software fazendo-o nós mesmos e ajudando outros a fazê-lo. Através deste trabalho, passamos a valorizar:

Indivíduos e interação entre eles mais que processos e ferramentasSoftware em funcionamento mais que documentação abrangente

Colaboração com o cliente mais que negociação de contratosResponder a mudanças mais que seguir um plano

Ou seja, mesmo havendo valor nos itens à direita,valorizamos mais os itens à esquerda.

Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, JamesGrenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor,

Ken Schwaber, Jeff Sutherland, Dave Thomas

©2001, Autores acima citados.

Esta declaração pode ser livremente copiada, sob qualquer forma,mas apenas na sua totalidade através do presente aviso.

Page 16: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

Sempre7%

Frequentemente13%

Às vezes16%

Raramente19%

Nunca45%

Utilização de funcionalidades de software

Page 17: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

Raramente19%

Nunca45%

desperdício

Page 18: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

Sempre7%

Frequentemente13%

Pareto

20% das funcionalidadesgeram 80% do valor

Page 19: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

SCRUM?

Page 20: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

framework

Page 21: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

framework

iterativo

Page 22: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

framework

iterativoincremental

Page 23: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

framework

iterativoincremental

gerenciamento

de qualquer

produto ou atividade

complexa

Page 24: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

Checklist: SCRUM

• Gerenciamento empírico e controle de processos.

• Baseado no feedback das iteracões.

• Usado para gerenciar projetos complexos desde 1990.

• Equipes multi-funcionais e auto-gerenciadas.

• Escalável para projetos grandes, longos e distribuídos.

• Comunicação como fator crítico.

Page 25: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

Organizações e papéis

Page 26: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

product owner

Page 27: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

visão

ROI

priorizadatas

releasesconteúdo

product owner

Page 28: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

visão

ROI

priorizadatas

releasesconteúdo

aceitaou

rejeita

product owner

Page 29: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

time

Page 30: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

comprometidoauto-gerenciado

comunicação constante

multi-disciplinar

time

Page 31: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

comprometidoauto-gerenciado

comunicação constante

multi-disciplinar

Autoridade!

time

Page 32: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

scrum master

Page 33: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

Autoridade

protetor aplica as regrasdo SCRUMresolve

problemas

mantém o foco no sprint goal

scrum master

Page 34: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

Autoridade

protetor aplica as regrasdo SCRUMresolve

problemas

Facilitador!mantém o foco no sprint goal

scrum master

Page 35: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

timeboxed

Page 36: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

tudo!

Page 37: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

Tem um tempo pré-determinado

Page 38: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

Tem um tempo pré-determinado

daily meeting: 15 minutossprint planning: ~4 horas

sprint: 2 a 4 semanas

o trabalho deve ser planejado para caber no sprint e não o contrário

Page 39: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

scrum flow

Page 40: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

product backlog

Page 41: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

desejos do PO

cresce como projeto

iterativo

comece pelomais importante

Page 42: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

desejos do PO

cresce como projeto

iterativo

comece pelomais importante

ROI

Page 43: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

sprint planning

Page 44: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

documentação!

time + scrum master+ product ownerPO prioriza itens

para o sprint

time tira dúvidas

time converte as funcionalidadesem tarefas técnicas

time define o objetivodo sprint (sprint goal)

sprint planning

Page 45: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

planning poker

Page 46: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

sprint planning 2

Page 47: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

arquiteturadesign

time conversa sobre aparte técnica das tarefas

o time decide até ondepode se comprometer

eventualmente o scrum master negocia com o PO

sprint planning 2

Page 48: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

Sprint backlog

tarefas que o time secomprometeu a fazer no sprint

atualizado constantemente

scrum master gerencia as atividades em andamento e

concluídas

Page 49: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

daily meeting

Page 50: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

reunião em pé!verifica-se o que foifeito no dia anterior

há impedimentos?

define-se o que seráfeito no dia

todos os diasno mesmo lugar

no mesmo horáriocomprometa-se!

daily meeting

Page 51: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

burndown chart

Page 52: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

burndown chart

• •

Page 53: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

sprint review

Page 54: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

retrospectiva

Page 55: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

retrospectiva

Page 56: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

Custo de mudança

Page 57: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

Custo de mudança

Page 58: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

XPExtreme Progamming

Page 59: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

O que é XP?

Page 60: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

Extreme ProgrammingÉ um conjunto de princípios, valores e práticas

Page 61: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

Onde...

... os princípios conectam os valores às práticas

Page 62: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
Page 63: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

valorescomunicação, coragem, feedback, respeito e simplicidade

Page 64: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

valorescomunicação, coragem, feedback, respeito e simplicidade

princípiosauto semelhança, melhoria, benefício mútuo, oportunidade, diversidade, passos de bebê, economia, qualidade, falha, redundância, fluidez, reflexão, humanismo, responsabilidade

Page 65: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

valorescomunicação, coragem, feedback, respeito e simplicidade

princípiosauto semelhança, melhoria, benefício mútuo, oportunidade, diversidade, passos de bebê, economia, qualidade, falha, redundância, fluidez, reflexão, humanismo, responsabilidade

práticasambiente informativo, equipe integral, build de 10 minutos, folga, ciclo semanal, histórias, integração contínua, TDD, programação em par, design incremental, sentar-se junto, trabalho energizado

Page 66: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

• O XP é uma metodologia rigorosa e disciplinada que requer o cumprimento de suas práticas para o sucesso na adoção.

• O XP pode ser usado com CMM e UPs.

• A preocupação não é com qualidade (que deve natural) e sim com a saúde do sistema (segundo Kent Beck).

[Cristiano Milfont]

Page 67: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

adapte-se

Page 68: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

teste tudo antes - TDD

Page 69: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

Coragem

loucura confiança

Page 70: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

Programação em par• Todo código é escrito em par

• Um digita, enquanto o outro revisa, corrige e sugere

• Redução drástica de bugs

• Disseminação de conhecimento

• Pressão do par

• Simplicidade

• Velocidade

Page 71: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

Velocidade

Page 72: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

SCRUM resolve!?

Page 73: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
Page 74: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

3papéis

product ownerscrum master

time

Page 75: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

3papéis

product ownerscrum master

time

3cerimônias

sprint planningdaily meetingsprint review

Page 76: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

3papéis

product ownerscrum master

time

3cerimônias

sprint planningdaily meetingsprint review

3artefatos

product backlogsprint backlog

burn down chart

Page 77: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

SCRUM sem <?> é uma casca oca para desenvolver

software

Page 78: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

SCRUM sem <?> é uma casca oca para desenvolver

software

XP

Page 79: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

SCRUM sem <?> é uma casca oca para desenvolver

software

XP

FDD

Page 80: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

SCRUM sem <?> é uma casca oca para desenvolver

software

XP

FDD

engenharia!

Page 81: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

e XP, resolve!?

Page 82: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

Semelhanças: SCRUM e XP

SCRUM XP

Sprint

Sprint Planning

Daily SCRUM

Retrospective

Iteraction

Iteraction Planning

Stand-up Meeting

Reflection

Page 83: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

SCRUM e XPNão os confunda. SCRUM e XP se

complementam muito bem, mas são diferentes.

Page 84: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

não há bala de prata

Page 85: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

obrigado!

Paulo César M. Jeveaux@jeveaux

Page 86: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

Referências• Fotos

• ImproveIt - http://www.improveit.com.br

• Jorge Falcão - http://www.flickr.com/photos/68667282@N00/

• Tlaukkanen - http://www.flickr.com/photos/tlaukkanen/

• Evandro Flores - http://www.flickr.com/photos/evandroflores/

• Bardusco - http://www.flickr.com/photos/bardusco/

• Luiz Aguiar - http://www.flickr.com/photos/laguiar

• Cuba Gallery - http://www.flickr.com/photos/cubagallery/

• Materiais

• Extreme Programming - http://extremeprogramming.org

• Igor Macaubas e Marcos Pereira - http://www.slideshare.net/macaubas/seminario-scrum-presentation

• ImproveIt - http://www.improveit.com.br/scrum

• ImproveIt - http://www.improveit.com.br/xp

• Manifesto Ágil - http://manifestoagil.com.br

• Guilherme Chapiewski - http://www.slideshare.net/gchapiewski/desenvolvimento-gil-com-xp-e-scrum-presentation

• Cristiano Milfont - http://www.slideshare.net/cmilfont/extreme-programming-148802

Page 87: SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos

SCRUM e XPdesenvolvimento ágil de software

experiências e relatos do dia a dia de uma pequena empresa

Paulo César M. Jeveaux@jeveaux