75
SCRUM Ralph J. R. Filho

Scrum no contexto de processos de desenvolvimento

Embed Size (px)

DESCRIPTION

Apresentação sobre o framework SCRUM no contexto de metodologias para processos de desenvolvimento de software

Citation preview

Page 1: Scrum no contexto de processos de desenvolvimento

SCRUMRalph J. R. Filho

Page 2: Scrum no contexto de processos de desenvolvimento

Agenda

Contextualização Anatomia do SCRUM Considerações finais

Page 3: Scrum no contexto de processos de desenvolvimento

Agenda

Contextualização Histórico Motivação

Page 4: Scrum no contexto de processos de desenvolvimento

Contextualização

Anos 60 Fase embrionária e artesanal do sw Crise do sw: 1965 a 1985▪ Orçamentos estourados▪ Danos à propriedades (crackers)▪ Vidas humanas (radioterapia)

Page 5: Scrum no contexto de processos de desenvolvimento

Contextualização

Ferramentas e métodos passaram a ser adotados para recuperar a reputação do sw Programação estruturada, padrões

Page 6: Scrum no contexto de processos de desenvolvimento

Contextualização

Anos 80 Massificação da produção de sw e

popularização dos modelos de processo de desenvolvimento▪ Gerenciamento de Projetos▪ Modelo Cascata e Espiral

Page 7: Scrum no contexto de processos de desenvolvimento

Contextualização

Anos 90 Popularização da web Cresce o número de pequenas empresas

produzindo software Um grupo de engenheiros de software

chama a atenção para a produção artesanal de sw mudando os princípios aboradados pelos grupos de estudo no decorrer da crise do sw

Page 8: Scrum no contexto de processos de desenvolvimento

Contextualização

Anos 2000 Diversificação de plataformas de

hardware (gadgets) aonde os software são embarcados

Era da computação ubíqua Cloud computing Offshoring

Page 9: Scrum no contexto de processos de desenvolvimento

Contextualização

Page 10: Scrum no contexto de processos de desenvolvimento

Contextualização

FORTRAN / COBOL 1957 / 1959

Modelo Cascata 1970

C 1972

Modelo ER 1976

Modelo Espiral 1986

Java 1994

UML e RUP 1996

HTML 5 2008

Page 11: Scrum no contexto de processos de desenvolvimento

Contextualização

A tecnologia avança rapidamente Para acompanhar as mudanças é

preciso ter a mente aberta e trabalhar com melhoria contínua

Velhos hábitos podem estancar a evolução de uma empresa “A MS está sempre a 18 meses de falir”▪ Bill Gates

Page 12: Scrum no contexto de processos de desenvolvimento

Contextualização

Pra quê um modelo/processo? Aplicação de melhores práticas para

aumentar a precisão de orçamento e prazos

Definição de escopo Facilitar a evolução/manutenção do

software considerando:▪ Rotatividade de recursos humanos (padrões)▪ Complexidade inerente ao tamanho

(rastreabilidade)▪ Pontos de integração (regras de negócio)

Page 13: Scrum no contexto de processos de desenvolvimento

Contextualização

Por quê eu devo me importar com isso? Empresas maduras de desenvolvimento

de software exigem conhecimento em metodologias de desenvolvimento

Principalmente multinacionais Se você não sabe, vai ter que aprender

Page 14: Scrum no contexto de processos de desenvolvimento

Contextualização

Equipe: 05 pessoas Sistema: web-site da TAM Prazo: 03 meses ... como fazer? Opção 01: iniciar a codificação (go-

horse) Opção 02: seguir um modelo

“tradicional” Opção 03: ? Opção “n”: ?

Page 15: Scrum no contexto de processos de desenvolvimento

Contextualização

Opção 01: iniciar a codificação Qual é o escopo? Quais são as regras de negócio? Qual o planejamento para um ciclo? Qual a noção de prazo? Qual é a integração entre as telas? ..............

Page 16: Scrum no contexto de processos de desenvolvimento

Contextualização

Opção 02: seguir um modelo tradicional Quantos papéis cada membro da equipe

terá que desempenhar? O tempo é suficiente para manter todos

os documentos, seguir todas as fases? Todos os documentos são realmente

necessários? E se o cliente solicitar uma mudança no

fim do prazo?

Page 17: Scrum no contexto de processos de desenvolvimento

Contextualização

Page 18: Scrum no contexto de processos de desenvolvimento

Contextualização

Page 19: Scrum no contexto de processos de desenvolvimento

Contextualização

Page 20: Scrum no contexto de processos de desenvolvimento

Contextualização

Page 21: Scrum no contexto de processos de desenvolvimento

Contextualização

Page 22: Scrum no contexto de processos de desenvolvimento

Contextualização

Checkpoint

Page 23: Scrum no contexto de processos de desenvolvimento

Manifesto Ágil

Page 24: Scrum no contexto de processos de desenvolvimento

Manifesto Ágil

Conceito introduzido em 2001 por 17 desenvolvedores de software

Conjunto de princípios em comum dos métodos ágeis

A motivação foi a formalização de métodos em projetos com alto nível de mudanças, requisitos desconhecidos e equipes pequenas

Page 25: Scrum no contexto de processos de desenvolvimento

Manifesto Ágil

Page 26: Scrum no contexto de processos de desenvolvimento

Métodos Ágeis - MITOS

Método ágil não precisa documentar Método ágil não precisa planejar Método ágil é bom/ruim Se eu usar ágeis não posso ter CMMI

ou outras certificações

Page 27: Scrum no contexto de processos de desenvolvimento

SCRUM

Page 28: Scrum no contexto de processos de desenvolvimento

SCRUM

Método para Gerenciamento de Projetos

Harvard Business Review 1986 (Toyota)

Proposta inicial em 1995 por Ken Schwaber e Jeff Sutherlan

Formalizado em 2001

Page 29: Scrum no contexto de processos de desenvolvimento

Princípios do SCRUM

Equipes multifuncionais Equipes auto-organizáveis Iterações curtas Papéis, cerimônias e artefatos em

número reduzido

Page 30: Scrum no contexto de processos de desenvolvimento

Anatomia do SCRUM

Page 31: Scrum no contexto de processos de desenvolvimento

Anatomia do SCRUM

Page 32: Scrum no contexto de processos de desenvolvimento

Anatomia do SCRUM

O SCRUM pode ser analisado como um conjunto de Papéis Cerimônias Artefatos

Page 33: Scrum no contexto de processos de desenvolvimento

Anatomia do SCRUM

Papéis• Administrador de

Rede• Analista de Qualidade• Analista de Requisitos• Analista de Negócios• Analista de Testes• Arquiteto de Software• Consultor• Desenvolvedor• Gerente de

Configuração• Gerente de Projetos• Testador• ...

Cada papel tem seus artefatos associados e atividades pré-definidas

Page 34: Scrum no contexto de processos de desenvolvimento

Anatomia do SCRUM

No SCRUM os papéis são Dono do Produto SCRUM Master Equipe

Page 35: Scrum no contexto de processos de desenvolvimento

Anatomia do SCRUM

Dono do Produto Define e prioriza as funcionalidades Decide as datas de lançamento Aceita ou rejeita os trabalhos Normalmente é um representante do

cliente

Page 36: Scrum no contexto de processos de desenvolvimento

Anatomia do SCRUM

SCRUM Master Responsável por garantir que as práticas

do SCRUM sejam seguidas por todos Responsável por resolver impedimentos Deve garantir máxima produtividade da

equipe e promover a colaboração entre os mesmos

Protege a equipe de interferências externas

Page 37: Scrum no contexto de processos de desenvolvimento

Anatomia do SCRUM

Equipe Recomenda-se de 05 a 09 pessoas Multifuncional Dedicação integral

Page 38: Scrum no contexto de processos de desenvolvimento

Anatomia do SCRUM

Artefatos

• Análise e projeto de software

• Desenvolvimento de software

• Gerência de Configuração

• Gerência de Requisitos• Gerência de Projetos• Implantação• Modelagem de Negócios• Teste de Software

Documento ou elemento pertencente a este, que deve ser criado ou alterado

Page 39: Scrum no contexto de processos de desenvolvimento

Anatomia do SCRUM

No SCRUM os artefatos são Product Backlog Sprint Backlog Gráfico Burndown

Page 40: Scrum no contexto de processos de desenvolvimento

Anatomia do SCRUM

Product Backlog

Page 41: Scrum no contexto de processos de desenvolvimento

Anatomia do SCRUM

Sprint Backlog Lista de funcionalidades do product

backlog que será feito em um ciclo (iteração)

Como os itens do product backlog são priorizados, este parâmetro é utilizado para selecioná-los▪ A prioridade pode ser Alta, média, baixa; EDI;

etc.

Page 42: Scrum no contexto de processos de desenvolvimento

Anatomia do SCRUM

Sprint Backlog

Page 43: Scrum no contexto de processos de desenvolvimento

Anatomia do SCRUM

Sprint Backlog Trabalhos não são atribuídos, cada um

escolhe o que vai fazer Todos podem mexer no escopo da sprint Estimativa de esforço atualizado

diariamente Trabalhos complexos são definidos como

um item com uma grande quantidade de tempo e detalhados quando ficam mais conhecidos

Page 44: Scrum no contexto de processos de desenvolvimento

Anatomia do SCRUM

Checkpoint Parece simples?▪ Mas não é!

Page 45: Scrum no contexto de processos de desenvolvimento

Anatomia do SCRUM

Gráfico Burndown Acompanhamento das tarefas

executadas Atualizado diariamente Permite uma visualização simples e clara

sobre atrasos e adiantamentos no projeto

Page 49: Scrum no contexto de processos de desenvolvimento

Anatomia do SCRUM

Burndown

Page 50: Scrum no contexto de processos de desenvolvimento

Anatomia do SCRUM

E o controle de tarefas?

Page 51: Scrum no contexto de processos de desenvolvimento

Anatomia do SCRUM

Page 52: Scrum no contexto de processos de desenvolvimento

Anatomia do SCRUM

Page 53: Scrum no contexto de processos de desenvolvimento

Anatomia do SCRUM

Cerimônias• Reunião• Apresentação• Brainstorming• Planejamento• Feedback• Análise de

desempenho

Evento planejado e organizado aonde a equipe participa

Page 54: Scrum no contexto de processos de desenvolvimento

Anatomia do SCRUM

As cerimônias do SCRUM são Sprint planning Reunião diária Sprint retrospective Sprint review

Page 55: Scrum no contexto de processos de desenvolvimento

Anatomia do SCRUM

Page 56: Scrum no contexto de processos de desenvolvimento

Anatomia do SCRUM

Sprint planning Quebra os itens do product backlog em

tarefas Bom senso ao determinar a

granularidade▪ Depende do tamanho da sprint e da

capacidade das pessoas envolvidas Estima a duração das tarefas em horas

Page 57: Scrum no contexto de processos de desenvolvimento

Anatomia do SCRUM

Sprint planning

Page 58: Scrum no contexto de processos de desenvolvimento

Anatomia do SCRUM

Reunião Diária Todos em pé Horário fixo Duração de 30 minutos, em média Toda a equipe participa e respondem a

três perguntas

Page 59: Scrum no contexto de processos de desenvolvimento

Anatomia do SCRUM

Reunião Diária O que você fez ontem? O que vai fazer hoje? Tem algo impedindo o seu trabalho?

Page 60: Scrum no contexto de processos de desenvolvimento

Anatomia do SCRUM

Reunião Diária

Page 61: Scrum no contexto de processos de desenvolvimento

Anatomia do SCRUM

Sprint review Demonstração das funcionalidades

desenvolvidas durante a sprint Todos participam, inclusive o Dono do

Produto

Page 62: Scrum no contexto de processos de desenvolvimento

Anatomia do SCRUM

Sprint retrospective Reunião da equipe para ver o que está

funcionando e o que não está Feita após cada sprint

Page 63: Scrum no contexto de processos de desenvolvimento

Anatomia do SCRUM

Checkpoint

Page 64: Scrum no contexto de processos de desenvolvimento

Considerações Finais

SCRUM é um modelo ágil, o fato da sua empresa ser pequena, ou os projetos serem de curta duração por si só não significa que ele é o modelo ideal para você

Deve-se considerar uma série de fatores em conjunto

Page 65: Scrum no contexto de processos de desenvolvimento

Considerações Finais

Cultura e política da empresa Cultura da região Experiência da equipe Maturidade da equipe Tamanho da equipe Natureza dos projetos Proximidade com o cliente

Page 66: Scrum no contexto de processos de desenvolvimento

Considerações Finais

O bom senso aplicado sobre todos estes fatores somado ao conhecimento nos modelos disponíveis do mercado e no know-how da empresa serão os maiores subsídios para definir qual modelo será utilizado

Pode-se personalizar os modelos

Page 67: Scrum no contexto de processos de desenvolvimento

Considerações Finais

Pode-se obter bons resultados usando qualquer cada um dos modelos

Muda a forma de gerenciamento e as técnicas utilizadas

Page 68: Scrum no contexto de processos de desenvolvimento

Considerações Finais

Page 69: Scrum no contexto de processos de desenvolvimento

Considerações Finais

Page 70: Scrum no contexto de processos de desenvolvimento

Considerações Finais

Page 71: Scrum no contexto de processos de desenvolvimento

Considerações Finais

Page 72: Scrum no contexto de processos de desenvolvimento

Considerações Finais

Indícios para usar ágeis Equipe sênior Baixa criticidade Requisitos que mudam com frequência Equipe pequena Pessoas capazes de se auto-organizar

Page 73: Scrum no contexto de processos de desenvolvimento

Considerações Finais

Indícios para usar tradicionais Equipe júnior Alta criticidade Requisitos que não mudam com

frequência Equipe grande Pessoas não são capazes de se auto-

organizar

Page 74: Scrum no contexto de processos de desenvolvimento

Considerações Finais

Independente do formato, é preciso adaptar e usar um processo

Processos são a base para a obtenção de indicadores de qualidade e base de conhecimento, que ajudam a empresa a aprender e a evoluir

Também passa confiança ao cliente

Page 75: Scrum no contexto de processos de desenvolvimento

Dúvidas?