Gerenciamento de Projetos de TI com
SCRUM
Paulo Roberto Furtado Serra, CSM
2009
Objetivos
Relembrar os principais problemas do Gerenciamento de Projetos
Repassar os princípios que
norteiam as Metodologias Ágeis Introduzir os principais conceitos do Scrum, bem como seus principais
artefatos, papéis e
cerimônias (reuniões)
Apresentação do Instrutor Paulo Furtado Serra trabalha a mais de 10
anos na área de desenvolvimento de Software
A 3 anos vem se especializando em Metodologias de Gerenciamento e Desenvolvimento Ágeis
Mestre em Engenharia de Teleinformática pela Universidade Federal do Ceará
É Certified Scrum Master (CSM) pela Scrum Alliance
Projetos...
Os três “Quem”
- Quem já participou de algum projeto de
software do Início ao Fim...
... que tenha terminado no prazo?
- Quem participa de algum projeto de software hoje?
Se sim, esse projeto já têm algo em produção?
- Quem já participou de algum projeto de software onde
os requisitos não mudaram? Se sim, então NÃO era um projeto de
Software!
Estatísticas Chaos Report
Fonte: The Standish Grouphttp://www.infoq.com/articles/chaos-1998-failure-stats
2000 2002 2004 2007 20090%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
FalhouDesafiadoSucesso
Estatísticas Uso de Funcionalidades
7% 13%
16%
19%
45%
Média de uso de funcionalidades de sistemas
SempreFre-quente-menteÀs vezesRaramenteNunca
Standish Group, 2002
Problemas ...
Doenças do Gerenciamento de Projetos
Muita gente envolvida e pouca
gente comprometidaMuitas barreiras de
comunicação entre cliente e desenvolvedor
Doenças do Gerenciamento de Projetos
Multi-tarefa nociva Equipes enfrentam constantemente prioridades que
mudam, fazendo com que interrompam uma tarefa e trabalhem em outra
Lei de Parkinson Mais tempo de segurança, mais tempo de projeto
Síndrome do Estudante O trabalho quase sempre é adiado
Dependência entre tarefas O atraso é passado adiante, mas o adiantamento não
Comprometimento vs Envolvimento
O porco está COMPROMETIDO A galinha está apenas ENVOLVIDA
Vocês conhecem essa?
Continua fazendo sentido?
Então, o que fazer? Em 2001, um grupo de profissionais veteranos na área de
software decidiu se reunir em uma estação de esqui, nos EUA.
O objetivo seria discutir formas de melhorar o desempenho de seus projetos.
Embora cada envolvido tivesse suas próprias práticas e teorias sobre como fazer um projeto de software ter sucesso, cada qual com as suas particularidades, todos concordavam que, em suas experiências prévias, um pequeno conjunto de princípios sempre parecia ter sido respeitado quando os projetos davam certo;
O grupo era composto de grandes nomes do mundo do software, tais como: Kent Beck, Jim Highsmith, Alistair Cockburn, Martin Fowler, Ken Schwaber e Jeff Sutherland;
O encontro deu origem ao MANIFESTO ÁGIL
O Manifesto Ágil“Estamos descobrindo melhores maneiras de desenvolver software, fazendo
software e ajudando outros a fazê-lo. Através deste trabalho passamos a valorizar:
Processos e ferramentasProcessos e ferramentasIndivíduos e interaçõesIndivíduos e interações
Seguir um planoSeguir um planoResposta à mudançasResposta à mudanças
Documentação abrangenteDocumentação abrangenteSoftware que funcionaSoftware que funciona
Negociação de contratoNegociação de contratoColaboração do clienteColaboração do cliente
Mais que
Isto é, embora haja valor nos itens do lado direito, nós valorizamos mais os do lado esquerdo.”
http://www.agilemanifesto.org
Mais que
Mais que
Mais que
Desenvolvimento em CascataPor que mudar isso?
Requisitos
Especificação
Implementação
Homologação e Testes
Produção
Desenvolvimento Incremental e IterativoPensando um pouco...
PLANEJAMENTOPOR FASE
Requisitos
POR QUE NÃO...ITERAÇÕES?
Iteração 1 Iteração 2 Iteração N
...
Especific.
Desenvolv
TestesProduçã
o
Isso não é do jeito que eu
queria !!!
ENTREGA 1 ENTREGA 2
Empresas/Instituções que estão tendo sucesso com Agile
e outras ...
SCRUM
O que é Scrum?Algumas definições
Scrum é um processo iterativo e
incremental para o desenvolvimento de qualquer produto e gerenciamento de qualquer trabalho.
Scrum é um processo ágil para o
gerenciamento e controle de projetos;
Scrum é uma abordagem para desenvolvimento de sistemas e produtos onde os requisitos
sofrem constantes mudanças; Scrum é um processo que controla o
caos dos conflitos de interesses;
A Dinâmica do Scrum
SPRINT
Artefatos
Product Backlog
Sprint Backlog
Burndown Chart
Product Backlog
Criado a partir de uma Visão do Projeto
Lista de funcionalidades
priorizadasFuncionalidade Prioridade
Func. A 10
Func. B 20
Func. C 30
Func. D 40
Func. E 50
Func. F 60
Func. N 70
Maiorprioridade
Menor Prioridade
Sprint Backlog Parte do Product Backlog que vai ser feita numa
iteração (Sprint) Montado a partir das funcionalidade que estão no
topo do Product Backlog
Funcionalidade Prioridade
Func. A 10
Func. B 20
Func. C 30
Func. D 40
Func. E 50
Func. F 60
Func. N 70
Maiorprioridade
Menor Prioridade
SprintBacklog
Mas o que é um Sprint?
Um período de Tempo entre 2 a 4 semanas
Sempre deve ter um objetivo a ser atingidao pela equipe
É normal que o tempo de duração dos Sprints possam variar no início do projeto, mas o ideal é que se chegue num tempo único para todos os sprints
Todos os Sprints devem pessuir uma estrutura exatamente igual
Estrutura de um Sprint
1º 2º 3º 4º 5º 6º 7º 8º 9º 10º
DIAS
Pla
neja
men
to –
Spr
int X
Apr
esen
taçã
oS
prin
t X
Pla
neja
men
to –
Spr
int X
+1
SPRINT X
Reunião
diária
Reunião
diária
Reunião
diária
Reunião
diária
Reunião
diária
Reunião
diária
Reunião
diária
Reunião
diária
Ret
rosp
ectiv
a
Dinâmica do Product Backlog
A
B
C
Pro
du
ct B
ackl
og
F
G
H
I
D
Sprint 1O que está dentro do SprintNão pode ser alterado.
- O que está fora do Sprint pode Ser alterado de acordo com a necessidade do cliente.
- Ele pode alterar prioridades, inserir novas tarefas ou retirar tarefas existentes.
- Algumas tarefas podem ser inseridas pela equipe. Ex: Montar ambiente para Integração contínua
Pri
ori
dad
e
Alta
Baixa
E
Histórias
Papéis no Scrum
Product Owner
Scrum Master
Equipe
Product Owner
Define as funcionalidades do produto Decide datas de lançamento e
conteúdo Responsável pela rentabilidade
(Return Of Investiment - ROI) Prioriza funcionalidades de acordo
com seu valor para o negócio Gerencia a entrada de novos
requisitos e suas prioridades Aceita ou rejeita o resultado dos
trabalhos
$$$$$$$$
$$
Interação do PO com os Usuários
Usuários
ProductOwner
Backlog
Caso de Uso 1
Caso de Uso 3
Caso de Uso 4
...
Caso de Uso N
Isso não impedeEquipe de
desenvolvimento
Scrum Master
Representa a gerência para o projeto
Responsável pela aplicação dos valores e práticas do Scrum
Remove obstáculos Garante a plena funcionalidade e
produtividade da equipe Garante a colaboração entre os diversos
papéis e funçõesEscudo para interferências externas
Equipe
Tamanho variável , é aconcelhável não mais que 9 pessoas e não menos que 4
Multi-funcional▪ Programadores, testadores, desenvolvedores...
Aconcelhável trocas só na mudança de Sprints Faz o que for preciso para alcançar a Meta do Sprint,
uma vez que se compromete com o que vai ser entregue
Apresenta aos interessados o resultado do Sprint
Cerimônias
Planejamento do Sprint
Reunião Diária
Demonstração
Retrospectiva
Planejamento do Sprint(Sprint Planning Meeting)
Reunião que define O objetivo (meta) do Sprint Uma lista dos membros da equipe que estarão
comprometidos com a meta Um Sprint Backlog (lista com todas as
funcionalidades incluídas no sprint) Uma Data para demonstrar que foi produzido
durante o sprint Hora e lugar definido para acontecerem as
reuniões diárias Dependendo do projeto, esta reunião pode durar
de 4 a 16 horas
Planejamento do SprintESTIMATIVAS
Como estimar?Story Points
Um “peso” dado para cada história
Indica quanto uma história é maior ou mais complexa que outra
Horas Tempo estimado por cada tarefa
Planejamento do SprintESTIMATIVAS em Story Points
Planning Poker
Reunião de planejamento de Sprint
Product Backlog
Caso de Uso 1
Caso de Uso 3
Caso de Uso 4
Caso de uso 5
Caso de Uso 2
...
Caso de Uso N
ScrumMaster
ProductOwner
Time de Desenvolvimento
Sprint Backlog
Caso de Uso 1
Caso de Uso 3
Caso de Uso 4
Reunião de Planejamen
to
Reunião Diária(Scrum Daily Meeting)
Objetivo Cada membro deve responder as seguintes perguntas:
1. O que você fez desde a última reunião diária?2. O que você pretende fazer até a próxima
reunião diária?3. Existe algum problema que o impeça de
realizar suas atividades?Duração
15 minutos (não mais que isso) Sugestão: Todos em Pé Qualquer pessoa pode participar, mas apenas o
Scrum Master e os Membros da Equipe pedem falar
Reunião de Demonstração(Sprint Review)
Objetivo Mostrar o que foi produzido no Sprint
Duração 30 a 60 minutos
Participantes Product Owner, Scrum Master, membros do
time, clientes, Usuários, Stakeholders e qualquer pessoa que esteja interessada no resultado da Sprint
Qualquer participante pode falar, fazer perguntas ou observações
Retrospectiva(Sprint Retrospective)
Objetivo Enumerar o que funcionou e o que não funcionou
durante o Sprint Duração
30 a 60 minutos Participantes
Product Owner, Scrum Master e os membros do time Esta reunião pode ser feita à frente de um
quadro branco onde membro cola post its dizendo o que funcionou e o que não funcionou
Feita após cada Sprint
RetrospectivaExemplo
O que Funcionou O que não funcionou
Testes Comunicação entre os membros
Usuário
Distante
Reuniões
Diárias
Alguns membros chegam tarde
Faltou melhor
planejamento do Sprint
Quatro KanBan
Product Backlog
Sprint Backlog
Burndown Chart
Artefatos do Scrum
Burndown Chart
Paradigmas a serem quebrados
Equipes auto-gerenciáveisEquipes multi-disciplinaresAté onde a documentação é último
Comunicação Referência
Desenvolvimento por iteraçõesZonas de conforto
Referências
www.mountaingoatsoftware.com/scrum www.scrumalliance.org www.controlchaos.com [email protected] Agile Software Development with Scrum
by Ken Schwaber and Mike Beedle Agile Project Management with Scrum by
Ken Schwaber Scrum and the Enterprise by Ken
SchwaberScrum and XP from the trenches
Dúvidas ?
Top Related