Scrum

23
SCRUM Introdução a Gestão Ágil de Projetos André Marsal – SCRUM MASTER CERTIFIED

description

Introdução a gestão de projetos com Scrum. Apresenta a metodologia Scrum e sua aplicação no dia-a-dia para desenvolvimento de softwares.

Transcript of Scrum

Page 1: Scrum

SCRUM Introdução a Gestão Ágil de Projetos

André Marsal – SCRUM MASTER CERTIFIED

Page 2: Scrum

Agenda• Definição de SCRUM• Influências • História• Framework SCRUM• Funcionamento• Ferramentas de Controle• Conclusão• Encerramento

Page 3: Scrum

O que é SCRUM?• Scrum é um processo ágil

para gestão de projetos de software.

• Em Scrum o negócio define suas prioridades e a equipe se auto-organiza para determinar a melhor forma para entregar funcionalidades.

Page 4: Scrum

Influências do ScrumLean Thinking - “Pensamento enxuto”

“Produção Just in time”

“Não tentar prever o futuro”

“Desperdício é sinal de prejuízo”. Tempo é dinheiro.

Takeuchi e Nonaka

Revezamento x abordagem holística

Artigo "The New Product Development Game" de 1986 “Equipes Multifuncionais trabalhando ao mesmo tempo e energizadas para produzir um resultado de valor ao cliente”

Desenvolvimento Interativo e Incremental

“Pequenas partes para construir o todo”

Manifesto Ágil

Prestígio a criatividade para atingir resultados de alto valor agregado

Page 5: Scrum

O que é ser ágil em desenvolvimento de software?

Indivíduos e interações

Software funcional

Colaboração com cliente

Responder a mudanças

Processos e ferramentas

Processos e ferramentas

Processos e ferramentas

Processos e ferramentas

Processos e ferramentas

Processos e ferramentas

Processos e ferramentas

Processos e ferramentas

Processos e ferramentas

Processos e ferramentas

Processos e ferramentas

Processos e ferramentas

Processos e ferramentas

Processos e ferramentas

Processos e ferramentas

Processos e ferramentas

Processos e ferramentas

Processos e ferramentas

Seguir um plano

Negociação contratual

Processos e ferramentas

Documentação abrangente

Sobre

Sobre

Sobre

Sobre

Page 6: Scrum

Manifesto ÁgilO Manifesto Ágil, criado em 2001, descreve a essência de um conjunto de abordagens para desenvolvimento de software criadas ao longo da última década.

Um grupo de profissionais veteranos na área de software decidiram se reunir em uma estação de esqui, nos EUA, para discutir formas de melhorar o desempenho de seus projetos.

Page 7: Scrum

Modelo Ágil

Modelo Sequencial

Modelo tradicional x Modelo Ágil

PROCESSOS EMPÍRICOS

Visão do Usuário

Requisitos Projeto Codificação Teste

Requisitos

Projeto

Codificação

Teste

Projeto CodificaçãoProjeto TesteCodificaçãoProjeto

Page 8: Scrum

Standish Group Study – Estudo realizado em 2002

Utilização das funcionalidades e ferramentas de um software

13%

7%

16%

19%

45%Frequentemente

Sempre

Algumas vezes

Raramente utilizada

Nunca utilizada

Page 9: Scrum

Framework Scrum

Page 10: Scrum

Scrum na prática - Papéis

Product OwnerTime

Scrum Master

Executores multifuncionais

Auto-organizado

Dedicados aos objetivos do produto

Reforça os valores e praticas do SCRUM

Define funcionalidades;

Prioriza funcionalidades de acordo com o valor;

Aceita ou rejeita o produto.

É a ponte entre o usuário e a equipe.

Responsável em garantir e demonstrar o ROI do produto

Remove impedimentos

Reforça a cooperação

Assegura valores e práticas do Scrum

Conduz melhoria contínua de processos

Aplica o planejamento continuo (PDCA).

Garante o andamento do Product Backlog

Page 11: Scrum

Scrum na Prática – Fluxo

Page 12: Scrum

Scrum na Prática – Ciclo de Vida

Page 13: Scrum

Product Backlog

Product Backlog

Lista de requisitos ou trabalhos desejados no projeto.

Priorizado pelo Product Owner.

Deve ser expressado de maneira que cada requisito tenha um “valor” para o usuário ou cliente.

Pode ser representado por um conjunto de Requisitos de Software ou por User Estories

Page 14: Scrum

Tamanho do Product BacklogEm SCRUM estima-se tamanho.

O tempo depende de fatores como:

Cadência

Fatores ambientais

Impedimentos

Conhecimento

PLANNING POKER

O item é apresentado brevemente para todos pelo moderador, que normalmente é o Product Owner ou o Scrum Master.

A equipe faz perguntas para entender melhor do que se trata o item, mas sem discutir detalhes de implementação. O foco aqui é entender o que deve ser feito, não como.

Cada membro da equipe escolhe em silêncio a carta que representa sua estimativa.

O moderador ( Scrum Master) pede para todos mostrarem as cartas.

Se todas as estimativas forem iguais, o que raramente acontece de primeira, a estimativa está feita e o processo volta ao início, para um novo item.

Se houver ao menos uma estimativa diferente, aqueles que apresentaram o(s) maior(es) e o(s) menor(es) valor(es) se justificam.

O processo se repete até todas as estimativas convergirem. Aqui vale o bom senso: se, por exemplo, 3 membros da equipe colocaram ‘5′ como estimativa, e um único desenvolvedor insiste em colocar ‘3′, o ideal é que ele abra mão

Page 15: Scrum

Sprint Backlog

Sprint Backlog

Lista de tarefas para cada item do Product Backlog.

Lista definida e estimada pela equipe Scrum

Page 16: Scrum

Execução do SprintSprint Planning Metting #1

É uma reunião que ocorre entre a equipe, Product Owner,Scrum Master e steakeholders, onde o Product Owner apresenta o Sprint e seus objetivos, bem como a priorização das atividades do Sprint.

Sprint Planning Metting #2

Após a Sprint Planning Metting #1, a equipe Scrum se reúne para interpretação do conteúdo da primeira reunião e define o que é possível atender no Sprint. Em alguns casos é necessária a negociação do objetivo junto ao PO.

Page 17: Scrum

Sprint BacklogItem do Product BackLog

Organizando o Sprint

Como <Representante Comercial> irei cadastrar um cliente e em seguida irei consultá-lo. Caso seja de meu desejo irei desativá-lo

Critério de Aceitação

Detalhar Requisito

Escrever Casos de Testes

Projetar Soluçao

Implementar Solução

Integrar ( Testar, Corrigir e Entregar)

Detalhar RequisitoProjetar Soluçao

Escrever Casos de Testes

Integrar ( Testar, Corrigir e Entregar)

Implementar Solução

Escrever Casos de Testes

Integrar ( Testar, Corrigir e Entregar)

Nome da Estória: Controlar ClientesDetalhe:

Como <Representante Comercial> desejo <controlar> informações do meu cliente. Com isto terei noção real de quem são meus clientes

Pontuação: 40

Page 18: Scrum

Quadro de AcompanhamentoBACKLOG A FAZER EM ANDAMENTO A VERIFICAR CONCLUÍDO

QUADRO DE ACOMPANHAMENTO - KANBAN

Detalhar Requisito

Projetar Soluçao

Implementar Solução

Escrever Casos de Testes

Integrar ( Testar, Corrigir e Entregar)

Nome da Estória: Controlar ClientesDetalhe:

Como <Representante Comercial> desejo <controlar> informações do meu cliente. Com isto terei noção real de quem são meus clientes

Pontuação: 40

QUADRO KANBANNascido na Toyota, o fundamento básico desta técnica, está baseado em manter um fluxo contínuo dos produtos que estão sendo manufaturados.Permite o acompanhamento visual da construção de um Item de Backlog, onde cada fase da construção de uma peça, que faz parte do Item de Backlog pode ser rapidamente identificada pela equipe.

Page 19: Scrum

Execução do Sprint

SCRUM DAILY METTING

Reunião para acompanhamento do Sprint onde cada membro da equipe responde 3 perguntas:

O que fez ontem?

O que fará hoje?

Há algum impedimento?

Atualização do Sprint BurnDown Chart

Com base nas informações coletadas da equipe o Scrum Master atualiza e publica o Burndown Chart

Page 20: Scrum

Sprint Revisão e RetrospectivaSprint Review Metting

Ao final do Sprint o time demonstra o resultado alcançado.

Além da equipe estará presente a esta reunião o Product Owner, Scrum Master e os demais envolvidos e interessados no projeto.

Sprint Retrospective

Mecanismo de melhoria contínua onde a equipe e o Scrum Master identifica pontos positivos e negativos do Sprint.

Na retrospectiva também há espaço para melhorias no processo. Idéias concretas a serem implementadas em outro Sprint.

Page 21: Scrum

Scrum na Prática – Ciclo de VidaIncremento de Software

São as versões do produto de software

A cada iteração temos uma versão do produto.

Em Scrum cada iteração entrega parte do produto funcional.

Ao terminar o estoque do Product BackLog teremos o produto final.

Page 22: Scrum

Aplicando a agilidadeDesenvolvimento Tradicional Desenvolvimento Ágil

Entrega única no final do projeto de um produto Mudanças freqüentes no produto (software releases)

Desenvolvimento em longos períodos de tempo Desenvolvimento em incrementos de curtos períodos de tempo

Produção de altas quantidade de inventários de informação (produtos inacabados, artefatos) entre os passos de desenvolvimento

Reduzir o inventario de informação entre os passos de desenvolvimento

Transferência de informação formal em momentos pré-determinados do desenvolvimento

Transferência freqüente de informação preliminar entre passos de desenvolvimento

Rigidez, controle e prevenção de mudanças nos requisitos, design, cronograma e custo.

Adaptabilidade a mudanças no design, no cronograma e nos objetivos de custos

Especialização do trabalho e do trabalhador produz maior produtividade

Responsabilidades mais amplas pelos desenvolvedores produz maior produtividade

Foco em seguir um processo definido, decisões são tomadas um nível hierárquico acima, melhoria só é permitida se for institucionalizada de cima para baixo.

Foco em inovação freqüente e incremental e melhoria continua de processo e de produto

O paradigma do triângulo de ferro do custo, esforco, escopo e qualidade parece ditar que é impossível melhorar simultaneamente em todos os aspectos

Melhoria simultânea em qualidade, prazo e produtividade

Page 23: Scrum

Obrigado !