O que é SCRUM

37
Uma Introdução ao SCRUM www.LUXFACTA.com.br

description

Entenda o que a metodologia pode otimizar nos processos de desenvolvimento.

Transcript of O que é SCRUM

Page 1: O que é SCRUM

Uma Introdução ao SCRUM

www.LUXFACTA.com.br

Page 2: O que é SCRUM

Perdendo no revezamento...

O estilo de “corrida de revezamento” aplicado ao desenvolvimento de produtos pode conflitar com os objetivos de velocidade e flexibilidade máximas. Ao invés disto, um estilo holístico, onde a equipe busca, como em um jogo de futebol, de forma integrada, chegar ao gol, com passes de bola, pode servir melhor às atuais necessidades competitivas.

Adequado de “The New New Product Development Game”, Hirotaka Takeuchi e Ikujiro Nonaka, Harvard Business Review, January 1986.

Page 3: O que é SCRUM

Scrum em 100 palavras l  Scrum é um processo ágil que permite manter o foco na entrega do maior

valor de negócio, no menor tempo possível.

l  Isto permite a rápida e contínua inspeção do software em produção (em intervalos de duas a quatro semanas).

l  As necessidades do negócio é que determinam as prioridades do desenvolvimento de um sistema. As equipes se auto-organizam para definir a melhor maneira de entregar as funcionalidades de maior prioridade.

l  Entre cada duas a quatro semanas todos podem ver o real software em produção, decidindo se o mesmo deve ser liberado ou continuar a ser aprimorado por mais um “Sprint”.

Page 4: O que é SCRUM

Origens do Scrum l  Jeff Sutherland

l  Uso  inicial  do  scrum  na  Easel  em  1993  l  IDX  e  mais  de  500  pessoas  usando  scrum  

l  Ken Schwaber

l  ADM  

l  Apresentação  na  OOPSLA  96  com  Sutherland  

l  Três  livros  sobre  Scrum  

l  Mike Beedle

l  Padrões  para  o  Scrum  na  PLOPD4  

l  Ken Schwaber and Mike Cohn

l  Fundaram  a  Scrum  Alliance  em  2002,  inicialmente  junto  com  a  Agile  Alliance  

Page 5: O que é SCRUM

Origens do Scrum l  The Mythical Man Month by Frederick Brooks, 1975.

-  Quando  um  projeto  está  atrasado,  adicionar  pessoas  ao  projeto  servirá  apenas  para  atrasá-­‐lo  ainda  mais.  

-  Devemos  considerar  o  tempo  que  perdemos  em  gestão  e  comunicação  quando  temos  pessoas  demais  trabalhando  em  um  projeto.  

-  Ao  calcular  o  tempo  de  desenvolvimento  de  qualquer  coisa,  temos  que  dobrá-­‐lo.  O  programador  precisa  de  "tempo  para  pensar"  além  do  "tempo  para  programar"  

-  (tradução  livre)‏  

Page 6: O que é SCRUM

Quem usa o Scrum? l  Microsoft

l  Yahoo

l  Google

l  Electronic Arts

l  High Moon Studios

l  Lockheed Martin

l  Philips

l  Siemens

l  Nokia

l  Capital One

l  BBC

l  Intuit

l  Intuit

l  Nielsen Media

l  First American Real Estate

l  BMC Software

l  Ipswitch

l  John Deere

l  Lexis Nexis

l  Sabre

l  Salesforce.com

l  Time Warner

l  Turner Broadcasting

l  Oce

Page 7: O que é SCRUM

Scrum tem sido usado para: l  Software comercial

l  Desenvolvimento interno

l  Desenvolvimento contratado (terceirização)‏

l  Projetos de preço fixo

l  Aplicações Financeiras

l  Aplicações certificadas pela isso 9001

l  Sistemas embarcados

l  Sistemas disponíveis 24x7

l  Desenvolvimento por hackers solitários

l  Video games

l  Sistemas para suporte à vida

l  Sistemas para controle de satélites

l  Websites

l  Software para handhelds

l  Telefones celulares

l  Aplicações para redes

l  Aplicações de ISV (Independent Software Vendors)‏

l  Algumas das maiores aplicações em produção

Page 8: O que é SCRUM

Características

l  Equipes que se auto-organizam

l  O produto evolui em uma série de “Sprints” mensais

l  Os requerimentos são listados em um “Product Backlog”

l  Não há prática de engenharia prescrita (o Scrum adequa-se a todas)‏

l  Usa regras generativas na criação de um ambiente ágil para a entrega de projetos

l  É uma das “metodologias ágeis”

Page 9: O que é SCRUM

Manifesto Ágil - Valores Processos e ferramentas

Indivíduos e interações

ao invés

de

Seguir um plano Resposta à mudanças

www.agilemanifesto.org

Documentação abrangente

Software que funciona

Negociação de contrato

Colaboração do cliente

Page 10: O que é SCRUM

Nível de ruído em um projeto

Simples

Anarquia

Complexo

Perto da certeza

Longe da certeza

Tecnologia

Perto de Acordo

Longe de acordo

Req

uerim

ento

s

Fonte: Strategic Management and Organizational Dynamics by Ralph Stacey in Agile Software Development with Scrum by Ken Schwaber and Mike Beedle.

Scr

um

Page 11: O que é SCRUM

Em resumo...

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

Page 12: O que é SCRUM

Sprints

l  Projetos Scrum progridem em uma série de “sprints”

l  Similar  às  iterações  do  XP  

l  Ocorre em um período de duas a quatro semanas

l  Um período constante leva a um melhor “ritmo”

l  O produto é projetado, codificado e testado durante o sprint

Page 13: O que é SCRUM

Desenvolvimento sequencial versus paralelo

Fonte: “The New New Product Development Game” by Takeuchi and Nonaka. Harvard Business Review, January 1986.

Ao invés de completar uma coisa por vez...

... equipes Scrum fazem um pouco de cada coisa, todo o tempo.

Requerimentos Projeto Código Teste

Page 14: O que é SCRUM

• Dono do produto • ScrumMaster • Equipe

Papéis

• Planejamento • Revisão • Retrospectiva • Reunião diária

Cerimônia

• Product backlog • Sprint backlog • Burndown charts

Artefatos

Scrum framework

Page 15: O que é SCRUM

• Planejamento • Revisão • Retrospectiva • Reunião diária

• Product backlog • Sprint backlog • Burndown charts

Artefatos

• Dono do produto • ScrumMaster • Equipe

Papéis

Cerimônia

Scrum framework

Page 16: O que é SCRUM

Dono do produto

l  Define as funcionalidades do produto

l  Decide datas de lançamento e conteúdo

l  Responsável pela rentabilidade (ROI)‏

l  Prioriza funcionalidades de acordo com o valor de mercado

l  Ajusta funcionalidades e prioridades

l  Aceita ou rejeita o resultado dos trabalhos

Page 17: O que é SCRUM

ScrumMaster

l  Representa a gerência para o projeto

l  Responsável pela aplicação dos valores e práticas do Scrum

l  Remove obstáculos

l  Garante a plena funcionalidade e produtividade da equipe

l  Garante a colaboração entre os diversos papéis e funções

l  Escudo para interferências externas

Page 18: O que é SCRUM

• Dono do produto • ScrumMaster • Equipe

Papéis

• Planejamento • Revisão • Retrospectiva • Reunião diária

Cerimônia

• Product backlog • Sprint backlog • Burndown charts

Artefatos

Scrum framework

Page 19: O que é SCRUM

Planejamento do Sprint

l  A equipe seleciona itens do Product Backlog com os quais compromete-se a concluir

l  O Sprint Backlog é criado

l  Tarefas  idenQficadas  e  esQmadas  (1  a  16  horas)‏  l  De  forma  colaboraQva,  não  apenas  feito  pelo  ScrumMaster  

l  Planejamento de alto nível é considerado

Page 20: O que é SCRUM

Scrum diário l  Parâmetros

l  Diário  l  15  minutos  

l  Todos em pé!

l  Não é para a solução de problemas

l  Todo  mundo  é  convidado  l  Apenas  os  membros  da  equipe,  ScrumMaster  e  dono  do  produto  podem  falar  

l  Ajuda a evitar reuniões adicionais desnecessárias

Page 21: O que é SCRUM

Três questões, para todos

l  As respostas não são um “relatório” para o ScrumMaster

l  Elas são COMPROMISSOS perante os pares

Page 22: O que é SCRUM

Revisão do Sprint

l  Equipe apresenta os resultados obtidos durante o Sprint

l  Tipicamente, demonstração de novas funcionalidades ou sua arquitetura

l  Informal

l  2  horas  de  preparação  l  Sem  slides  

l  Todo o time participa

l  Todo mundo é convidado

Page 23: O que é SCRUM

Retrospectiva do Sprint

l  Periodicamente, observe o que funciona e o que não funciona

l  Tipicamente de 15 a 30 minutos

l  Feita após cada Sprint

l  Toda a equipe participa

l  ScrumMaster  l  Dono  do  produto  l  Membros  da  equipe  l  Clientes  e  outros  

Page 24: O que é SCRUM

Inicia, Pára, Continua

l  A equipe discute o que gostaria de:

Iniciar a fazer

Parar de fazer

Continuar fazendo

Esta é uma das várias maneiras de se conduzir

uma retrospectiva do

Sprint

Page 25: O que é SCRUM

• Dono do produto • ScrumMaster • Equipe

Papéis

• Planejamento • Revisão • Retrospectiva • Reunião diária

Cerimônia

• Product backlog • Sprint backlog • Burndown charts

Artefatos

Scrum framework

Page 26: O que é SCRUM

Product Backlog l  Os requerimentos

l  Uma lista de todo o trabalho desejado no projeto

l  Idealmente, na forma em que cada item tenha seu peso de acordo com a vontade do cliente ou usuários

l  Priorizado pelo dono do produto

l  Repriorizado no início de cada Sprint Este é o Product Backlog

Page 27: O que é SCRUM

Exemplo de Product Backlog Item do Backlog Estimativa

Permitir que o usuário faça uma reserva 3

Permitir que o usuário cancele a reserva 5

Permitir a troca de datas da reserva 3

Permitir que empregadod do hotel gerem relatórios de lucratividade 8

Melhorar manipulação de erros 8

... 30

... 50

Page 28: O que é SCRUM

O objetivo do Sprint l  Breve declaração que ilustre o foco do trabalho

durante o Sprint

Base de Dados

Serviços financeiros

Ciências da vida Funcionalidades para estudos genéticos da população

Criar suporte para indicadores de desempenho em tempo real

Fazer com que a aplicação rode no SAL Server além do PostgreSQL

Page 29: O que é SCRUM

Gerenciando o Sprint Backlog l  Cada indivíduo escolhe o trabalho que fará

l  Trabalhos  nunca  são  atribuídos  l  Atualização diária da estimativa do trabalho restante

l  Qualquer membro da equipe pode adicionar, apagar ou mudar tarefas

l  O trabalho aparece a partir do Sprint

l  Se uma tarefa não é clara, defina-a como um item com uma quantidade maior de tempo e subdivida-a depois

l  Atualize as coisas a serem feitas na medida em que se tornam mais conhecidas

Page 30: O que é SCRUM

Sprint Backlog

Tarefas Codificar interface de usuário

Codificar regra de negócio

Testar

Escrever help online

Escrever a classe foo

Seg 8

16

8

12

8

Ter 4

12

16

8

Qua Qui

4

11

8

4

Sex

8

8

Adicionar log de erros

8

10

16

8

8

Page 31: O que é SCRUM

Burndown Chart H

oras

Page 32: O que é SCRUM

Hor

as

40

30

20

10

0 Seg Ter Qua Qui Sex

50

Page 33: O que é SCRUM

Escalabilidade

l  Equipe de 7 ± 2 pessoas

l  Escalabilidade  através  de  equipes  de  equipes  

l  Fatores de escala

l  Tipo  de  aplicação  l  Tamanho  da  equipe  l  Dispersão  da  equipe  l  Duração  do  projeto  

l  Scrum é usado em projetps envolvendo mais de 500 pessoas

Page 34: O que é SCRUM

Para onde ir agora? l  www.mountaingoatsoftware.com/scrum

l  www.scrumalliance.org

l  www.controlchaos.com

l  [email protected]

l  Agile Software Development with Scrum by Ken Schwaber and Mike Beedle

l  Agile Project Management with Scrum by Ken Schwaber

l  Scrum and the Enterprise by Ken Schwaber

Page 35: O que é SCRUM

Para onde ir agora? l  Artigos de Cesar Brod, sobre Scrum, no Dicas-L

l  www.dicas-­‐l.com.br/brod  l  www.brod.com.br  

l  Procure por Scrum

l  Links para exemplos online de Sprint e Product Backlog

Page 36: O que é SCRUM

Dicas de Leitura l  Agile and Iterative Development: A Manager’s Guide by Craig Larman

l  Agile Estimating and Planning by Mike Cohn

l  Agile Project Management with Scrum by Ken Schwaber

l  Agile Retrospectives by Esther Derby and Diana Larsen

l  Agile Software Development Ecosystems by Jim Highsmith

l  Agile Software Development with Scrum by Ken Schwaber and

l  Mike Beedle

l  Scrum and The Enterprise by Ken Schwaber

l  User Stories Applied for Agile Software Development by Mike Cohn

l  Artigos semanais em www.scrumalliance.org

Page 37: O que é SCRUM

Copyright