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

Preview:

DESCRIPTION

 

Citation preview

SCRUM e XPdesenvolvimento ágil de software

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

Paulo César M. Jeveaux@jeveaux

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

quevergonha

Paulo César Machado Jeveaux

jevô

o processo tradicional

Quase sempre a civil

Inspirado em outrasengenharias

Quase sempre a civil

Inspirado em outrasengenharias

mas...... na verdade

code and fix!

Dá pra afastar um pouquinho?

Custo de mudanças

algo de erradonão está certo!

precisamos melhorar

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

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.

Sempre7%

Frequentemente13%

Às vezes16%

Raramente19%

Nunca45%

Utilização de funcionalidades de software

Raramente19%

Nunca45%

desperdício

Sempre7%

Frequentemente13%

Pareto

20% das funcionalidadesgeram 80% do valor

SCRUM?

framework

framework

iterativo

framework

iterativoincremental

framework

iterativoincremental

gerenciamento

de qualquer

produto ou atividade

complexa

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.

Organizações e papéis

product owner

visão

ROI

priorizadatas

releasesconteúdo

product owner

visão

ROI

priorizadatas

releasesconteúdo

aceitaou

rejeita

product owner

time

comprometidoauto-gerenciado

comunicação constante

multi-disciplinar

time

comprometidoauto-gerenciado

comunicação constante

multi-disciplinar

Autoridade!

time

scrum master

Autoridade

protetor aplica as regrasdo SCRUMresolve

problemas

mantém o foco no sprint goal

scrum master

Autoridade

protetor aplica as regrasdo SCRUMresolve

problemas

Facilitador!mantém o foco no sprint goal

scrum master

timeboxed

tudo!

Tem um tempo pré-determinado

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

scrum flow

product backlog

desejos do PO

cresce como projeto

iterativo

comece pelomais importante

desejos do PO

cresce como projeto

iterativo

comece pelomais importante

ROI

sprint planning

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

planning poker

sprint planning 2

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

Sprint backlog

tarefas que o time secomprometeu a fazer no sprint

atualizado constantemente

scrum master gerencia as atividades em andamento e

concluídas

daily meeting

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

burndown chart

burndown chart

• •

sprint review

retrospectiva

retrospectiva

Custo de mudança

Custo de mudança

XPExtreme Progamming

O que é XP?

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

Onde...

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

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

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

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

• 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]

adapte-se

teste tudo antes - TDD

Coragem

loucura confiança

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

Velocidade

SCRUM resolve!?

3papéis

product ownerscrum master

time

3papéis

product ownerscrum master

time

3cerimônias

sprint planningdaily meetingsprint review

3papéis

product ownerscrum master

time

3cerimônias

sprint planningdaily meetingsprint review

3artefatos

product backlogsprint backlog

burn down chart

SCRUM sem <?> é uma casca oca para desenvolver

software

SCRUM sem <?> é uma casca oca para desenvolver

software

XP

SCRUM sem <?> é uma casca oca para desenvolver

software

XP

FDD

SCRUM sem <?> é uma casca oca para desenvolver

software

XP

FDD

engenharia!

e XP, resolve!?

Semelhanças: SCRUM e XP

SCRUM XP

Sprint

Sprint Planning

Daily SCRUM

Retrospective

Iteraction

Iteraction Planning

Stand-up Meeting

Reflection

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

complementam muito bem, mas são diferentes.

não há bala de prata

obrigado!

Paulo César M. Jeveaux@jeveaux

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

SCRUM e XPdesenvolvimento ágil de software

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

Paulo César M. Jeveaux@jeveaux

Recommended