Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

50
Desenvolvimento ágil com Scrum. Globo.com Danilo Bardusco <[email protected]> Gerente de Desenvolvimento de Aplicações Web

description

Apresentacão feita na XII Mostra PUC-Rio

Transcript of Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Page 1: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Desenvolvimento ágil com Scrum.

Globo.com

Danilo Bardusco <[email protected]>Gerente de Desenvolvimento de Aplicações Web

Page 2: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Processo Tradicional (WaterFall)

Request !5h

Criacão20h

Aprovacão5h

Teste/QA20h

Desenvolvimento40h

AI25h

Producão10h

Implementacão10h

Q8h

Q10h

Q16h

Q16h

Q24h

Q8h

Q8h

* Os tempos neste exemplo são meramente ilustrativos.

45% bugsRepete 3x

20% Reprovado

repete 1x

TEMPO TOTAL: 5+8+25+8+20+(2*24)+5+16+10+

16+40+(4*10)+20+8+10 = 279h

ÚTIL: 5+25+20+5+10+40+20+10 = 135h

DESPERDÍCIO:

279 – 135 = 144h = 106,66%

Page 3: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Por quê?

” A experiência de décadas seguindo pesadas práticas prescritivas 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.

Forcas externas (como um produto ou serviço da concorrência) trazem mudanças ou melhorias nos requisitos. ”

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

Page 4: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Agile Manifesto

Estamos descobrindo melhores maneiras de se desenvolver software ao fazê-lo e ajudando outros a fazê-lo.

Através deste trabalho valorizamos:

Indivíduos e interações mais que processos e ferramentas.

Software funcionando mais que documentação abrangente.

Cooperação do cliente mais que negociação de contratos.

Responder a mudanças mais que seguir um plano.

Ou seja, embora exista valor nos itens da direita, nós valorizamos mais os itens da esquerda.

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

Ken Schwaber, Jeff Sutherland, Dave Thomas

© 2001, os autores acima

Esta declaração pode ser livremente copiada em qualquer meio, mas somente de forma íntegra até esta notificação.

Page 5: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

O que é SCRUM?

Em uma frase:

Scrum é uma abordagem simples aplicada ao gerenciamento de tarefas

complexas.

Page 6: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Scrum é um processo de desenvolvimento iterativo e incremental que pode ser

aplicado ao desenvolvimento de qualquer produto ou no gerenciamento de qualquer

atividade complexa.

O que é SCRUM??

Page 7: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

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 distribuidos. Comunicacão como fator crítico. Compatível com CMM Nível 3 e ISO 9001. É um framework de boas práticas e não uma metodologia

pronta. Extremamente simples mas muito difícil de implementar.

O que é SCRUM???

Page 8: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Arquitetura SCRUM

SCRUM MASTER

TEAMPRODUCT OWNER

Page 9: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Product Owner

Page 10: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Product Owner

Responsável pela visão do negócio

Page 11: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Product Owner

Maximiza ROI (valor agregado)

Page 12: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Product Owner

Prioriza ítens do backlog a cada iteração

Page 13: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Product Owner

Decide datas de releases e conteúdos

Page 14: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Product Owner

Aceita ou rejeita o produzido

Page 15: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Team Members

Page 16: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Team Members

Autoridade para fazer o que for

necessário para atingir o objetivo

Page 17: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Team Members

Multi-disciplinar Auto-gerenciada 7±2 Comprometida com o objetivo Co-locada e aberta Comunicação constante

Page 18: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Scrum Master

Page 19: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Scrum Master

Facilitador

Page 20: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Scrum Master

Resolve “pepinos” Organiza e conduz reuniões e eventos Não tem autoridade Protege a equipe

Page 21: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Time Boxed

Tudo no Scrum é Time-boxed:• Daily Meeting – 15 min• Sprint Planing – 4 a 8 horas• Sprint – 2 a 4 semanas

Page 22: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Time BoxedVocê divide as funcionalidades

para caber no Sprint

e não planeja o Sprint para

comportar as funcionalidades.

Page 23: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

SCRUM Flow

Page 24: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

SCRUM Flow

Page 25: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Product Backlog

Page 26: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Post-it

User Story #

Businness Value

Complexity

Page 27: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Planning Poker

Page 28: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Planning Poker

Page 29: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

SCRUM Flow

Page 30: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Sprint Planning 1

Page 31: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Sprint Planning 1

Documentação!

Page 32: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Sprint Planning 1

Page 33: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

SCRUM Flow

Page 34: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Sprint Planning 2

Page 35: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Sprint Planning 2

Modelagem e Arquitetura

Page 36: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Sprint Backlog

Page 37: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

SCRUM Flow

Page 38: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Dinâmica

Page 39: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Daily Meeting

Page 40: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Escrevendo

Page 41: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Escrevendo

Page 42: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

BurnDown Chart

Page 43: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

SCRUM Flow

Page 44: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Review

Page 45: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Retrospectiva

Page 46: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Trabalho em equipe = Diversão

Page 47: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

É possível escrever software de qualidade sem burocracia.

www.globo.com/estag

Danilo Bardusco <[email protected]>http://blog.bardusco.com/

Page 48: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Origem do Nome

Page 49: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Estrutura atual e os meta-projetos de infra-estrutura

14 times de projetos3 de infra-estrutura

Page 50: Desenvolvimento ágil de software com Scrum - XII Mostra PUC-Rio

Communities's Scrum of Scrums

50

Processos

Visão geralde produtos

BacklogCorporativo

PadrõesVisuais

Padrões deimplementação

Arquitetura dainformacão

Ferramentasde teste

Automacão etc

Scrum of Scrums