scrum - gerenciando projetos Ágeis

59
www.ideiaagil.com .br

Upload: ideia-agil

Post on 01-Nov-2014

976 views

Category:

Education


1 download

DESCRIPTION

Apresentação base do curso Scrum Gerenciando Projetos Ágeis, oferecido pela Ideia Ágil - www.ideiaagil.com.br

TRANSCRIPT

Page 1: Scrum - Gerenciando Projetos Ágeis

w w w . i d e i a a g i l . c o m . b r

Page 2: Scrum - Gerenciando Projetos Ágeis

Entendendo e Praticando Scrum

Uma visão geral do framework de Gerenciamento de Projetos mais comentado do momento

Revisão 1.5 – 09/03/2012

Page 3: Scrum - Gerenciando Projetos Ágeis

Introdução ....................................... 4

Scrum ....................................... 9

Papeis do Scrum ....................................... 15

Ferramentas de Apoio ....................................... 26

Fluxo do Scrum ....................................... 30

Retornar ao Ciclo ....................................... 55

Agenda

Page 4: Scrum - Gerenciando Projetos Ágeis

Introdução

Treinamento – Scrum – Ideia Ágil

4

Page 5: Scrum - Gerenciando Projetos Ágeis

Sobre o Instrutor

Fabio A. Dalonso é Certified Scrum Master (CSM) e Certified Scrum Product Owner (CSPO) pela Scrum Alliance (http://www.scrumalliance.org).

Atua na área de Desenvolvimento de Sistemas a mais de 15 anos, tendo participado como analista e coordenador de diversos tipos de projetos em diversas plataformas e ambientes.

Após alguns anos ajudando equipes de Desenvolvimento de Sistemas obterem sucesso em seus respectivos projetos, encontrou nas Metodologias Ágeis, especialmente em Scrum, o perfeito alinhamento entre times e clientes.

Blog :http://www.scrumadventures.wordpress.com

Emails:[email protected]

Page 6: Scrum - Gerenciando Projetos Ágeis

Antes de Falar de Scrum...

Funcionalidades em Sistemas de Softwares

64% das funcionalidades NUNCA ou RARAMENTE são usadas

Standish Group - 2002

Page 7: Scrum - Gerenciando Projetos Ágeis

Antes de Falar de Scrum...

Índice de Sucesso nos Projetos de Software

Chaos Report 2004 / 2006 / 2009 - Standish Group

Sucesso: Projeto finalizado no prazo, no orçamento e totalmente funcional

Desafio: Projeto finalizado com atraso, com estouro de orçamento e/ou não totalmente funcional

Falha: Projeto cancelado ou nunca utilizado

Page 8: Scrum - Gerenciando Projetos Ágeis

O que Fazer ?

Page 9: Scrum - Gerenciando Projetos Ágeis

Scrum

9

Treinamento – Scrum – Ideia Ágil

Page 10: Scrum - Gerenciando Projetos Ágeis

História

O Scrum não teve um criador propriamente dito. Sua primeira “aparição” foi registrada na Harward Bussines Review (Jan/86) em um artigo escrito por Takeuchi e Nonaka direcionado para a indústria automobilística e baseado no Sistema Toyota de Produção (Lean). Em 1993, o framework começou a ser moldado por Jeff Sutherland (PhD) e sua documentação foi formalizada por Ken Schwaber em 1995.

1948

Sistema Toyota de Produção (Lean)

1986

Artigo: “The New New Product Development Game”

(HBR)

1993 1995

IRobot – Projeto que influenciou Sutherland

Documentação formalizada por Schwaber

Page 11: Scrum - Gerenciando Projetos Ágeis

O Manifesto Ágil

“Estamos descobrindo maneiras melhores de desenvolver software fazendo-onós mesmos e ajudando outros a fazê-lo. Através desse trabalho, passamos avalorizar:

Indivíduos e interação entre eles mais que processos e ferramentasProduto em funcionamento mais que documentação abrangenteColaboraçã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."

Page 12: Scrum - Gerenciando Projetos Ágeis

Scrum: O que é e para que Serve ?

Scrum é um Framework que pode ser utilizado e aplicado para o gerenciamento de qualquer tipo de Projeto.

Sua principal característica é realizar entregas (produto pronto) em um espaço de tempo curto, agregando o máximo possível de valor ao negócio do Cliente ou Parceiro.

Page 13: Scrum - Gerenciando Projetos Ágeis

Treinamento – Scrum – Ideia Ágil

IntroduçãoScrum

13

ATIVIDADE

Page 14: Scrum - Gerenciando Projetos Ágeis

Onde está Scrum ?

Companhia

Modelos de Gestão e Governança

CMMI PMBok ISO ITIL

Gestão de Projetos de Desenvolvimento de Sistemas

Scrum FDD XP

Page 15: Scrum - Gerenciando Projetos Ágeis

Os Papeis do Scrum

15

Treinamento – Scrum – Ideia Ágil

Page 16: Scrum - Gerenciando Projetos Ágeis

Os 3 Papeis – PO, SM e Time (Equipe)

Product OwnerResponsável por garantir o ROI (Return of Investment) do(s) Projeto(s).Conhecedor do negócio. Deve ser o próprio cliente ou representado por profissional capacitado e envolvido com a visão do(s) Produto(s).

Scrum MasterResponsável por remover os impedimentos do Time e garantir o uso de Scrum. O Scrum Master deve também proteger o time de interferências externas e ajudar o Product Owner a maximizar o ROI.

Time (Equipe)Responsável pela produção do Produto. Deve ser Multidisciplinar e Auto-Gerenciado.

Page 17: Scrum - Gerenciando Projetos Ágeis

Posicionando os Papeis

Projeto

Product Owner

Scrum Master

Time

Responsável pelo Projeto. Deve preocupar-se com o Macro

Responsável por fazer o ambiente Scrum Funcionar. Deve preocupar-se com o Processo

Responsável pelo andamento do Projeto Devem preocupar-se com o Micro

Macro Processo Micro

Page 18: Scrum - Gerenciando Projetos Ágeis

Product Owner - Responsabilidades

Ser a Voz do Cliente

Garantir o ROI do Projeto

Definir as Funcionalidades Chave

Gerenciar Stakeholders

Escrever User Stories e Testes de Aceitação

Definir Metas

Page 19: Scrum - Gerenciando Projetos Ágeis

Iniciando o Projeto: Pré-Game

Visão do Produto – Product Vision Box

Pasta do Projeto

Planejamento de Releases

Page 20: Scrum - Gerenciando Projetos Ágeis

Scrum Master - Responsabilidades

Garantir a Correta Utilização do Processo

Remover Impedimentos do Time e da Organização

Ajudar o Product Owner na Administração do PB, etc.

Facilitar Reuniões e Cerimônias

Proteger o Time de Interferências Externas

Page 21: Scrum - Gerenciando Projetos Ágeis

Garantindo o Projeto: Game

Fazer Scrum Funcionar; Inspecionar e Melhorar o Processo a cada Ciclo de Desenvolvimento

Page 22: Scrum - Gerenciando Projetos Ágeis

Time (Equipe) - Responsabilidades

Auto-Organizado

Multi-Disciplinar

Pequeno e Compacto (no máximo até 9 Integrantes)

Transformar Metas em Produto Pronto

Page 23: Scrum - Gerenciando Projetos Ágeis

BDD – Behavior Driven Development

Automação de Building

Novas Tecnologias

TDD – Test Driven Development Automação

de TestesIntegração Continua

DDD – Domain-Driven Design

ALM – Application Lifecycle Management

Code Refactoring

Page 24: Scrum - Gerenciando Projetos Ágeis

Entregando, Finalizando: Post-Game

Time Comprometido durante toda a Sprint

Apresentando Resultados

Revisando o passado “curto” e melhorando o Processo

Page 25: Scrum - Gerenciando Projetos Ágeis

Treinamento – Scrum – Ideia Ágil

IntroduçãoScrum

25

ATIVIDADE

Page 26: Scrum - Gerenciando Projetos Ágeis

Ferramentas de Apoio

26

Treinamento – Scrum – TecTreinos

Page 27: Scrum - Gerenciando Projetos Ágeis

Scrum Board - KanBan

O quadro branco é uma importante ferramenta low-tec que tem o objetivo de integrar os profissionais que trabalharão no projeto, além de ser uma ótima forma de visualizar rapidamente, o andamento do Sprint.

Page 28: Scrum - Gerenciando Projetos Ágeis

Gráficos de Burndown

Gráfico que mostra a evolução da equipe dentro de um determinado Sprint. Mede-se: quantidade de horas em tarefas X dias úteis do Sprint

Gráfico que mostra a evolução do Projeto ao longo de finalizações de Sprints. Mede-se: quantidade de pontos de Sprint X Sprints finalizados.

Page 29: Scrum - Gerenciando Projetos Ágeis

Treinamento – Scrum – Ideia Ágil

IntroduçãoScrum

29

ATIVIDADE

Page 30: Scrum - Gerenciando Projetos Ágeis

O Fluxo do Scrum

30

Treinamento – Scrum – Ideia Ágil

Page 31: Scrum - Gerenciando Projetos Ágeis

O Fluxo

Fluxo do ScrumO Scrum possuí um fluxo / processo simples e pode ser facilmente demonstrado no gráfico acima. Os pontos chave estão representados por: Papéis, Cerimônias e Artefatos.

Page 32: Scrum - Gerenciando Projetos Ágeis

Visão

Page 33: Scrum - Gerenciando Projetos Ágeis

ROI – Return of Investment

Montar um slide sobre o assunto

Page 34: Scrum - Gerenciando Projetos Ágeis

Funcionalidades por Perfis

Usuário Tipo I

Pesquisa vôos

Compra bilhetes

Paga pela compra

Reservar lugares

Check-inon-line

Pesquisar serviços

relacionados

Pesquisar hotéis

Pesquisar shows

Page 35: Scrum - Gerenciando Projetos Ágeis

Itens “Ready” e Itens “Done”

Requisitos / Itens “Ready” Funcionalidades “Done”

Product Owner e Time devem conversar e combinar durante o Pré-Projeto ou durante a primeira Planning Meeting o que será considerado “Ready” e “Done”

... se transforma em ...

Page 36: Scrum - Gerenciando Projetos Ágeis

Treinamento – Scrum – Ideia Ágil

IntroduçãoScrum

36

ATIVIDADE

Page 37: Scrum - Gerenciando Projetos Ágeis

Product Backlog

Page 38: Scrum - Gerenciando Projetos Ágeis

Mecânica do Product Backlog

Page 39: Scrum - Gerenciando Projetos Ágeis

Desmistificando Especificações

EspecificaçõesA forma atual como se especifica software, não casa com a filosofia de trabalho do Scrum, pois:

• Assumem que há um nível avançado de conhecimento de tudo

• Alto consumo de tempo para escrever e ler; um tédio para escrever

• Trata o aprendizado do cliente como “mudança de escopo”

• Difíceis de se adequar ao desenvolvimento iterativo e incremental

Page 40: Scrum - Gerenciando Projetos Ágeis

Trabalhando com User Stories

Quem

O que

Para Que ?Como um <PERFIL>, eu posso/quero/desejo/devo <FUNÇÃO> para <VALOR DE NEGÓCIO>

Como um COMPRADOR, eu quero ESCOLHER UM PRODUTO DE UMA LISTA para REALIZAR UMA COTAÇÃO E COMPARAÇÃO DE PREÇOS

Page 41: Scrum - Gerenciando Projetos Ágeis

Teste de Aceitação de Negócio

Como um COMPRADOR, eu quero ESCOLHER PRODUTOS DE UMA LISTA para REALIZAR UMA COTAÇÃO E COMPARAÇÃO DE PREÇOS

• Exibir uma lista de Produtos ordenada alfabeticamente;

• Permitir seleção múltipla de Produtos;

• Ordenar resultado da comparação pelo menor preço;

Page 42: Scrum - Gerenciando Projetos Ágeis

Treinamento – Scrum – Ideia Ágil

IntroduçãoScrum

42

ATIVIDADE

Page 43: Scrum - Gerenciando Projetos Ágeis

Sprint Planning Meeting

Page 44: Scrum - Gerenciando Projetos Ágeis

Principais Objetivos do Planning

Product Owner define para Time a Meta do Sprint

Primeira Parte da Meeting Segunda Parte da Meeting

Estimar o Product Backlog Elaborar o Sprint Backlog

Page 45: Scrum - Gerenciando Projetos Ágeis

Planning Poker

Por que o Planning Poker funciona ?

• Porque apresenta múltiplas opiniões quanto a estimativa de um item;• Porque estimula o dialogo entre os membros do Time durante as rodadas;• Porque estudos mostram que estimativas feitas em grupo são mais bem sucedidas

que estimativas individuais;

Page 46: Scrum - Gerenciando Projetos Ágeis

Calculo da Velocidade

Page 47: Scrum - Gerenciando Projetos Ágeis

Calculo da Velocidade

Page 48: Scrum - Gerenciando Projetos Ágeis

Sprint

Page 49: Scrum - Gerenciando Projetos Ágeis

Características do Sprint

Time-Box

Entregar Valor, SEMPRE; Não se altera o que está dentro da Sprint

Page 50: Scrum - Gerenciando Projetos Ágeis

Daily Meeting

Page 51: Scrum - Gerenciando Projetos Ágeis

Características da Daily Meeting

O que fiz desde a ultima reunião ?

O que pretendo fazer até a Próxima ?

Existe algum impedimento ?

A meta está comprometida ?

Page 52: Scrum - Gerenciando Projetos Ágeis

Review

Page 53: Scrum - Gerenciando Projetos Ágeis

Retrospectiva

Page 54: Scrum - Gerenciando Projetos Ágeis

Conduzindo a Retrospectiva

Page 55: Scrum - Gerenciando Projetos Ágeis

Treinamento – Scrum – Ideia Ágil

IntroduçãoScrum

55

ATIVIDADE

Page 56: Scrum - Gerenciando Projetos Ágeis

Treinamento – Scrum – Ideia Ágil

IntroduçãoScrum

56

RETORNAR AO CICLO

Page 57: Scrum - Gerenciando Projetos Ágeis

Referências

Page 58: Scrum - Gerenciando Projetos Ágeis

Livros:Refactoring: Improving the Design of Existing Code http://tinyurl.com/32yzubClean Code: A Handbook of Agile Software Craftsmanship http://tinyurl.com/2f65rbnScrum and XP from the Trenches (Free) http://tinyurl.com/ywf3nxPlanning Extreme Programming http://tinyurl.com/27ghb7tAgile Estimating and Planning http://tinyurl.com/2avkms8

Técnicas de Engenharia de Software:TDD com Fitnesse - Java http://fitnesse.orgTDD com Fitnesse - .NET http://gojko.net/FitNesse/book/ALM Microsoft (TFS) http://msdn.microsoft.com/en-us/vstudio/ff637362.aspxMVC – Técnica de Desenvolvimento http://www.asp.net/mvcUser Story (Matin Fowler)http://www.martinfowler.com/bliki/UseCasesAndStories.htmlUser Story (Agile Modeling) http://www.agilemodeling.com/artifacts/userStory.htm

Informações:InfoQ http://www.infoq.comInfoQ - Brasil http://www.infoq.com/br

Blogs:Aspercon http://blog.aspercom.com.br/Adaptworks http://blog.adaptworks.com.br/Scrum Adventures http://scrumadventures.wordpress.com/CodeZone http://leandrosilva.com.br/2010/02/10/tchau-tchau-gerente-agora-sou-scrum/Scrum-Brasil (User Group) http://br.groups.yahoo.com/group/scrum-brasil/

Referências Sugeridas

Page 59: Scrum - Gerenciando Projetos Ágeis

w w w . i d e i a a g i l . c o m . b r