Gestão Ágil de Projetos com Scrum

54
Gestão Ágil de Projetos com Scrum Noaldo Sales Santos Filho Noaldo Sales Santos Filho [email protected]

description

Gestão Ágil de Projetos com Scrum. Material da apresentação feita na Softcom Tecnologia.

Transcript of Gestão Ágil de Projetos com Scrum

Page 1: Gestão Ágil de Projetos com Scrum

Gestão Ágil de Projetos com Scrum

Noaldo Sales Santos Filho

Noaldo Sales Santos [email protected]

Page 2: Gestão Ágil de Projetos com Scrum

Motivação• 1986 um paper foi publicado comparando a

construção de pontes e a construção de softwares. Como premissa foi utilizado:– Pontes normalmente são entregues no prazo, dentro

Noaldo Sales Santos Filho

– Pontes normalmente são entregues no prazo, dentro do orçamento e “não caem”

– Softwares raramente são entregues no prazo ou dentro do orçamento. E normalmente eles tem bugs.

• Razões para o sucesso na construção de pontes:– Alto nível de detalhe em momento de design;– O design é congelado e o contratante tem pouquíssima

flexibilidade de mudanças.

Page 3: Gestão Ágil de Projetos com Scrum

Motivação• The Standish Group fez uma pesquisa e em

2009 publicou:• 24% dos projetos fracassam;

Noaldo Sales Santos Filho

• 44% dos projetos são entregues com sucesso parcial;

• E apenas 32% dos projetos obtêm sucesso.

Page 4: Gestão Ágil de Projetos com Scrum

Motivação• Os principais fatores que ajudaram no sucesso dos

projetos foram:– Envolvimento do usuário: 15.9%– Apoio executivo: 13.9%

Noaldo Sales Santos Filho

– Apoio executivo: 13.9%– Declaração de requisitos clara e limpa: 13%– Planejamento apropriado: 9.6%– Expectativas realistas: 8.2%– Milestones pequenos: 7.7%– Equipe competente: 7.2%– Propriedade: 5.3%– Visão e objetivos claros: 2.9%– Trabalho duro e equipe focada: 2.4%– Outros: 13.9%

Page 5: Gestão Ágil de Projetos com Scrum

Motivação• Os fatores que influenciaram os projetos de sucesso

parcial foram:– Falta de insumos do usuário: 12.8%– Requisitos & Especificações incompletas: 12.3%

Noaldo Sales Santos Filho

– Requisitos & Especificações incompletas: 12.3%– Mudanças nos requisitos & especificações: 11.8%– Falta de apoio executivo: 7.5%– Ambiente tecnológico incompleto: 7.0%– Falta de recursos: 6.4%– Expectativas irrealistas: 5.9%– Objetivos nebulosos: 5.3%– Ciclos (tempo) irrealistas: 4.3%– Novas tecnologias: 3.7%– Outras: 23%

Page 6: Gestão Ágil de Projetos com Scrum

Motivação• As principais causas de fracasso são:

– Requisitos Incompletos: 13.1%– Falta de envolvimento do usuário: 12.4%– Falta de recursos: 10.6%

Noaldo Sales Santos Filho

– Falta de recursos: 10.6%– Expectativas não realistas 9.9%– Falta de apoio executivo: 9.3%– Mudanças de requisitos: 8.7%– Falta de planejamento: 8.1%– Não precisa mais daquilo: 7.5%– Falta de gestão da TI: 6.2%– Analfabetismo tecnológico: 4.3%– Outros: 9.9%

Page 7: Gestão Ágil de Projetos com Scrum

Motodologias Ágeis• Agile Alliance

– Em 2001, Kent Beck e outros dezesseis renomados desenvolvedores, autores e consultores assinaram o manifesto para o desenvolvimento ágil de software.

Noaldo Sales Santos Filho

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

– Software que funciona mais que documentação completa

– Colaboração com o cliente mais que negociação contratual

– Respostas as mudanças mais que seguir o plano

Page 8: Gestão Ágil de Projetos com Scrum

Project noise level

Noaldo Sales Santos Filho

Page 9: Gestão Ágil de Projetos com Scrum

Agile Value Profile

Noaldo Sales Santos Filho

Page 10: Gestão Ágil de Projetos com Scrum

Plano vs Valor

Noaldo Sales Santos Filho

Page 11: Gestão Ágil de Projetos com Scrum

Scrum Framework

Noaldo Sales Santos Filho

Page 12: Gestão Ágil de Projetos com Scrum

Scrum Framework• Scrum não é uma metodologia que irá te ajudar a

desenvolver melhores produtos;• Scrum não lhe dá a resposta de como desenvolver

software de qualidade mais rapidamente;

Noaldo Sales Santos Filho

software de qualidade mais rapidamente;• Scrum é uma ferramenta, um framework, que você pode

usar para identificar o que você precisa fazer para desenvolver software de qualidade rapidamente;

• Scrum não necessita que as equipes estejam co-localizadas. Porém, lhe permite medir a produtividade de equipes co-localizadas;

• Eficaz para projetos com prazos de entrega apertados, requisitos mutáveis e críticos de negócio.

Page 13: Gestão Ágil de Projetos com Scrum

O que é Scrum?• É um Framework Agile que permite entregar um “valor de

negócio” mais elevado num período de tempo mais curto;• Concebido em 1990 por Jeff Sutherland e sua equipe;• Permite entregar rapidamente software funcionando e de

qualidade a cada duas a quatro semanas (Sprints);

Noaldo Sales Santos Filho

qualidade a cada duas a quatro semanas (Sprints);• O cliente define as prioridades. O time se auto-organiza e

determina a melhor forma de entregar as funcionalidades de maior priorização;

• No fim de cada Sprint o Time apresenta para o cliente as funcionalidades funcionando.

• Seus princípios são usados para orientar as atividades de desenvolvimento dentro de um processo que incorpora as atividades de requisitos, análise, projeto, evolução e entrega.

Page 14: Gestão Ágil de Projetos com Scrum

Por que Scrum?• Aumento do ROI

– Métodos tradicionais demoram para satisfazer as necessidades do cliente;

– Entregar mais cedo permite um ROI mais cedo.

• Flexibilidade

Noaldo Sales Santos Filho

• Flexibilidade– Responder a mudanças de requisitos;– Responder a evolução da tecnologia.

• Produto de Qualidade– Entregar produto certo na primeira entrega;– Entregar com menos erros, testando mais cedo e com mais

frequência.

• Visibilidade– Medida do progresso = produto concluído;

• Rápido Feedback– Feedback constante do cliente, stakeholders e membros do time.

Page 15: Gestão Ágil de Projetos com Scrum

O que é Scrum?• Transparência• Inspeção• Adaptação

Noaldo Sales Santos Filho

Page 16: Gestão Ágil de Projetos com Scrum

Scrum é composto por• Times Scrum – e seus papéis associados;• Time-Boxes – Eventos com duração fixa;• Artefatos;

Noaldo Sales Santos Filho

• Regras;

Page 17: Gestão Ágil de Projetos com Scrum

Time-Boxes• Assegurar o foco do time nas tarefas que

precisam ser executadas.– Reunião de Release Planning;– Reunião de Sprint Planning;

Noaldo Sales Santos Filho

– Reunião de Sprint Planning;– Sprint;– O Daily Stand up;– Sprint Review;– Retrospectiva;

Page 18: Gestão Ágil de Projetos com Scrum

Os Três Papéis

Noaldo Sales Santos Filho

Page 19: Gestão Ágil de Projetos com Scrum

Porcos e Galinhas

Noaldo Sales Santos Filho

Page 20: Gestão Ágil de Projetos com Scrum

Galinhas• Não fazem parte do time;• Não podem mandar no time;• Não podem alterar o caminho do time;

Noaldo Sales Santos Filho

• Suas idéias só farão parte do Product Backlog se o PO assim decidir;

• Quer fazer alguma coisa? Quer decidir? Quer participar? Então, seja porco.

Page 21: Gestão Ágil de Projetos com Scrum

Product Owner (PO)

Noaldo Sales Santos Filho

Page 22: Gestão Ágil de Projetos com Scrum

Product Owner (PO)• Define as funcionalidades do produto;• Decide a data de entrega e o conteúdo;• Responsável pelo ROI;

Noaldo Sales Santos Filho

• Prioriza as funcionalidades conforme o valor de negócio;

• Ajusta as funcionalidades e suas prioridades a cada Sprint;

• Aceita ou rejeita os resultados.

Page 23: Gestão Ágil de Projetos com Scrum

Scrum Master (SM)

“The sheepdog for the team” – Ken Schwaber

Noaldo Sales Santos Filho

Page 24: Gestão Ágil de Projetos com Scrum

Scrum Master (SM)• Responsável pela aplicação dos valores e

práticas do Scrum;• Remove impedimentos;

Noaldo Sales Santos Filho

• Assegura que a equipe está totalmente funcional e produtiva;

• Permite a cooperação entre os diversos papéis e funções;

• Proteje o time das interferências externas.

Page 25: Gestão Ágil de Projetos com Scrum

Scrum Master (SM)• Quem pode ser o ScrumMaster?• O ScrumMaster pode ter outros papéis?• Quais as qualidades que ele precisa ter?

Noaldo Sales Santos Filho

• Qual a autoridade que o ScrumMaster tem?• O ScrumMaster é responsável por datas,

orçamento, benefícios, etc.?• Quais as obrigações do ScrumMaster?

Page 26: Gestão Ágil de Projetos com Scrum

O Time (Team)

Noaldo Sales Santos Filho

Page 27: Gestão Ágil de Projetos com Scrum

O Time (Team)• 7 pessoas (+ ou - 2);• Multifuncional;• Dedicados ao projeto;

Noaldo Sales Santos Filho

• Auto-organizado e auto-gerenciável;• Responsável por escolher o trabalho que será

executado durante o Sprint;• Responsável por quebrar as funcionalidades e

estimar a sua complexidade;

Page 28: Gestão Ágil de Projetos com Scrum

Scrum = Communication

Noaldo Sales Santos Filho

Page 29: Gestão Ágil de Projetos com Scrum

Alguém ainda não viu?

Noaldo Sales Santos Filho

Page 30: Gestão Ágil de Projetos com Scrum

Product Backlog Iceberg

Noaldo Sales Santos Filho

Page 31: Gestão Ágil de Projetos com Scrum

Product Backlog ExampleUser Story Priority Estimate

Como usuário eu gostaria de criar uma conta H 4

Como usuário eu gostaria de enviar um documento H 8

Noaldo Sales Santos Filho

Como usuário eu gostaria de visualizar um documento

H 5

Como usuário eu gostaria de buscar documentos pelo texto deles

H 10

Como usuário eu gostaria de criar pastas para os documentos

M 3

Como usuário eu gostaria de poder mover um documento para uma pasta

M 3

Como usuário eu gostaria de taggear um documento L 4

Page 32: Gestão Ágil de Projetos com Scrum

User Stories• Atributos:

– Tamanho (pontos, dias ideiais), Valor de negócio;– Condições de satisfação.

Noaldo Sales Santos Filho

Page 33: Gestão Ágil de Projetos com Scrum

User Stories• Quando necessário, a equipe também pode

definir estórias para o produto;• Estórias muito grandes devem ser divididas.

Noaldo Sales Santos Filho

Page 34: Gestão Ágil de Projetos com Scrum

User Stories• Teste escrever:

– What? (O quê?)– Why? (Por que?), Who? (Quem?)

Noaldo Sales Santos Filho

Page 35: Gestão Ágil de Projetos com Scrum

User Stories no Backlog• 3 “C”s

– Card – Escritas em index cards de tamanho 9 x 15cm– Podem conter estimativas, alguns detalhes, etc.

Noaldo Sales Santos Filho

– Conversation – Um lembrete para ter uma conversa– Exponha os requerimentos, não os documente– Os detalhes aparecem durante as conversas

– Confirmation – Teste de aceitação para confirmar que a estória foi desenvolvida corretamente

– Documente os detalhes das conversas

Page 36: Gestão Ágil de Projetos com Scrum

Story Points• Tamanho de uma estória;• Influenciado por:

– O quanto difícil é a estória;

Noaldo Sales Santos Filho

– Qual o tamanho do trabalho.

• Valor relativo;• Pontos não possuem unidades:

– Fibonacci sequence (0, 1, 2, 3, 5, 8, 13, 21, ...)

Page 37: Gestão Ágil de Projetos com Scrum

Tempo• Quanto tempo algo iria demorar se:

– Você trabalhasse apenas nisso;– Sem interrupção de tempo;– Tudo que você precisa estará disponível;

Noaldo Sales Santos Filho

– Tudo que você precisa estará disponível;

• O tempo ideal de uma partida de futebol seria de 90 minutos:– Dois tempos de 45 minutos.

• O tempo total, porém, leva + ou - 2 horas.

Page 38: Gestão Ágil de Projetos com Scrum

Prática – Product Backlog�Dividam-se em equipes;

�Escolham um Product Owner;

Noaldo Sales Santos Filho

�O produto será um software para uma loja de roupas;

�Definam de 10 a 12 User Stories;

�Priorizem com o Product Owner;

� 30 minutos;

Page 39: Gestão Ágil de Projetos com Scrum

ROI – Return Of Investment

Noaldo Sales Santos Filho

Page 40: Gestão Ágil de Projetos com Scrum

Noaldo Sales Santos Filho

Page 41: Gestão Ágil de Projetos com Scrum

Noaldo Sales Santos Filho

Page 42: Gestão Ágil de Projetos com Scrum

Sprint Planning

Noaldo Sales Santos Filho

Page 43: Gestão Ágil de Projetos com Scrum

Sprint Burndown

Noaldo Sales Santos Filho

Page 44: Gestão Ágil de Projetos com Scrum

Prática – Sprint Planning• Com o product backlog produzido

anteriormente:

– Quebrar as User Stories em tasks;

Noaldo Sales Santos Filho

– Quebrar as User Stories em tasks;– Definir o tempo em horas ideais que cada task deve

demorar pra ser feito;– Priorizar conforme as necessidades do product owner;

– #PARADO AQUI#

Page 45: Gestão Ágil de Projetos com Scrum

Release

Noaldo Sales Santos Filho

Page 46: Gestão Ágil de Projetos com Scrum

Velocity• Para fazer um release plan, precisamos saber

ou ter uma idéia de Velocity;

Noaldo Sales Santos Filho

• 3 formas de termos a Velocity:– Média das anteriores;– Aprendizado das Sprints anteriores;– Faça uma previsão.

• Deve ser expressa como um intervalo

Page 47: Gestão Ágil de Projetos com Scrum

Re-estimar• Velocity normalmente corrige as falhas de

estimativas;

Noaldo Sales Santos Filho

• Só deve acontecer quando o tamanho relativo de uma user story se altera;

• Alterar os tamanhos relativos de todas as user stories não leva você a lugar nenhum;

Page 48: Gestão Ágil de Projetos com Scrum

Definindo Pronto• O que significa “pronto” em seu projeto atual?

• Quais os problemas que você tem com a

Noaldo Sales Santos Filho

definição atual?

• Como resolver esses problemas?

• Quais problemas de engenharia você percebe?

Page 49: Gestão Ágil de Projetos com Scrum

Definição de Done

• Code produced (all ‘to do’ items in code completed)• Code commented, checked in and run against current version in source

control• Peer reviewed (or produced with pair programming) and meeting

development standards

Noaldo Sales Santos Filho

development standards• Builds without errors• Unit tests written and passing• Deployed to system test environment and passed system tests• Passed UAT (User Acceptance Testing) and signed off as meeting

requirements• Any build/deployment/configuration changes

implemented/documented/communicated• Relevant documentation/diagrams produced and/or updated• Remaining hours for task set to zero and task closed

Fonte: http://www.allaboutagile.com/definition-of-done-10-point-checklist/

Page 50: Gestão Ágil de Projetos com Scrum

Estimativa / Velocity = Duração

TamanhoTamanho CálculoCálculo DuraçãoDuração

Noaldo Sales Santos Filho

300 StoryPoints

300 StoryPoints

Velocity = 20

Velocity = 20

300/20 = 15 Sprints300/20 =

15 Sprints

Page 51: Gestão Ágil de Projetos com Scrum

Interrupção Anormal• Uma ferramenta a ser evitada;

• Para circunstâncias extremas;

Noaldo Sales Santos Filho

• Um novo Sprint Planning Meeting deve ser feito.

Page 52: Gestão Ágil de Projetos com Scrum

Review

Noaldo Sales Santos Filho

Page 53: Gestão Ágil de Projetos com Scrum

Questões?

Noaldo Sales Santos Filho

Page 54: Gestão Ágil de Projetos com Scrum

Referências• Material do curso CSM do CST Michel Goldenberg;• http://www.scrumalliance.org• http://www.allaboutagile.com/• http://blog.agilegamedevelopment.com/2008/08/should-

Noaldo Sales Santos Filho

• http://blog.agilegamedevelopment.com/2008/08/should-scrum-master-also-be-member-of.html

• http://www.planningpoker.com/