Gestão Ágil de Projetos com Scrum
Post on 02-Nov-2014
725 Views
Preview:
DESCRIPTION
Transcript
Gestão Ágil de Projetos com Scrum
Noaldo Sales Santos Filho
Noaldo Sales Santos Filhonoaldo@gmail.com
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.
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.
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%
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%
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%
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
Project noise level
Noaldo Sales Santos Filho
Agile Value Profile
Noaldo Sales Santos Filho
Plano vs Valor
Noaldo Sales Santos Filho
Scrum Framework
Noaldo Sales Santos Filho
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.
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.
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.
O que é Scrum?• Transparência• Inspeção• Adaptação
Noaldo Sales Santos Filho
Scrum é composto por• Times Scrum – e seus papéis associados;• Time-Boxes – Eventos com duração fixa;• Artefatos;
Noaldo Sales Santos Filho
• Regras;
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;
Os Três Papéis
Noaldo Sales Santos Filho
Porcos e Galinhas
Noaldo Sales Santos Filho
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.
Product Owner (PO)
Noaldo Sales Santos Filho
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.
Scrum Master (SM)
“The sheepdog for the team” – Ken Schwaber
Noaldo Sales Santos Filho
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.
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?
O Time (Team)
Noaldo Sales Santos Filho
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;
Scrum = Communication
Noaldo Sales Santos Filho
Alguém ainda não viu?
Noaldo Sales Santos Filho
Product Backlog Iceberg
Noaldo Sales Santos Filho
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
User Stories• Atributos:
– Tamanho (pontos, dias ideiais), Valor de negócio;– Condições de satisfação.
Noaldo Sales Santos Filho
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
User Stories• Teste escrever:
– What? (O quê?)– Why? (Por que?), Who? (Quem?)
Noaldo Sales Santos Filho
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
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, ...)
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.
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;
ROI – Return Of Investment
Noaldo Sales Santos Filho
Noaldo Sales Santos Filho
Noaldo Sales Santos Filho
Sprint Planning
Noaldo Sales Santos Filho
Sprint Burndown
Noaldo Sales Santos Filho
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#
Release
Noaldo Sales Santos Filho
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
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;
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?
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/
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
Interrupção Anormal• Uma ferramenta a ser evitada;
• Para circunstâncias extremas;
Noaldo Sales Santos Filho
• Um novo Sprint Planning Meeting deve ser feito.
Review
Noaldo Sales Santos Filho
Questões?
Noaldo Sales Santos Filho
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/
top related