Escolar Documentos
Profissional Documentos
Cultura Documentos
Certified Scrum Trainer (CST), Scrum Alliance ScrumMaster, Scrum Coach & Scrum Trainer Palestrante em eventos e congressos:
@rsabbagh
Organizador:
Participante:
Um pouco de histria
2009-2011 Rafael Sabbagh
Um pouco de histria...
Dcada de 50: a gesto de projetos reconhecida como disciplina, nascida a
partir da administrao Henri Fayol:
Seu trabalho a base para a gesto de projetos tradicional O gestor possui 5 funes bsicas:
Planejar
Organizar Comandar
Controlar Coordenar
Ferramentas como o grfico de Gantt so adotadas para listar, acompanhar e controlar a execuo das tarefas contidas em um projeto
At ento a gesto de projetos voltada para grandes projetos de engenharia e construo civil 2009-2011 Rafael Sabbagh
Um pouco de histria...
Dcada de 60: o desenvolvimento de software comea a ganhar
complexidade
Projetos de software: uso de medotologias tradicionais ento aplicadas a projetos de engenharia e construo civil
Porm, Meredith & Mantel acreditam que problemas de comunicao e entendimento do que deve ser feito so responsveis por falhas nos projetos
2009-2011 Rafael Sabbagh
Um pouco de histria...
1970: Winston Royce publica artigo
criticando a abordagem tradicional para desenvolvimento de software
Waterfall
2009-2011 Rafael Sabbagh
Um pouco de histria...
Waterfall segue o conceito Big Design Up Front (BDUF).
BDUF: reviso exaustiva da especificao pode garantir a ausncia de mudanas crticas na fase de execuo
BDUF: adequado apenas para projetos estveis, com pouca ou nenhuma mudana
Mudanas devem ser evitadas a todo custo. Se no for possvel evit-las, o gerente de projetos deve gerenci-las.
2009-2011 Rafael Sabbagh
Um pouco de histria...
Um pouco de histria...
1990: DeGrace & Stahl listam fatores que tornam questionvel o
uso de BDUF para projetos de software:
Requisitos no so completamente compreendidos no incio do projeto; Usurios s sabem exatamente o que querem aps ver uma verso inicial do produto; Requisitos mudam durante o processo de desenvolvimento; Novas ferramentas e tecnologias desenvolvimento imprevisveis tornam a estratgia de
Um pouco de histria...
Grfico de Complexidade para Projetos de Software
Distante da Concordncia
Anarquia
Requisitos
Complexo
Prximo Concordncia
Simples
Prximo Certeza
Tecnologia
Distante da Certeza
Agilidade
Agilidade
Os 12 Princpios geis
1. Nossa maior prioridade satisfazer o cliente atravs da entrega contnua e adiantada de software com valor agregado. 2. Mudanas nos requisitos so bem-vindas, mesmo tardiamente no desenvolvimento. Processos geis tiram vantagem das mudanas visando vantagem competitiva para o cliente. 3. Entregar frequentemente software funcionando, de poucas semanas a poucos meses, com preferncia menor escala de tempo. 4. Pessoas de negcio e desenvolvedores devem trabalhar diariamente em conjunto por todo o projeto. 5. Construa projetos em torno de indivduos motivados. D a eles o ambiente e o suporte necessrio e confie neles para fazer o trabalho. 6. O mtodo mais eficiente e eficaz de transmitir informaes para e entre uma equipe de desenvolvimento atravs de conversa face a face.
2009-2011 Rafael Sabbagh
Os 12 Princpios geis
7. Software funcionando a medida primria de progresso. 8. Os processos geis promovem desenvolvimento sustentvel. Os patrocinadores, desenvolvedores e usurios devem ser capazes de manter um ritmo constante indefinidamente. 9. Contnua ateno excelncia tcnica e bom design aumenta a agilidade. 10. Simplicidade--a arte de maximizar a quantidade de trabalho no realizado-- essencial. 11. As melhores arquiteturas, requisitos e designs emergem de equipes auto-organizveis. 12. Em intervalos regulares, a equipe reflete sobre como se tornar mais eficaz e ento refina e ajusta seu comportamento de acordo.
2009-2011 Rafael Sabbagh
r e l e a s e s
g e i s
Tempo
Waterfall
Fixo
Requisitos
O que Scrum
2009-2011 Rafael Sabbagh
Scrum...
... um framework gil simples para desenvolvimento de produtos complexos em ambientes complexos; ...no um processo ou tcnica: dentro de Scrum podem-se empregar diversos processos e tcnicas; ...utiliza a abordagem iterativa e incremental para melhorar a previsibilidade e o controle de riscos;
2009-2011 Rafael Sabbagh
Scrum...
...gera entrega frequente de valor para o cliente; ...torna os problemas das prticas de desenvolvimento transparentes, para que se possa melhor-las; ...utiliza inspeo e adaptao para melhoria contnua do produto e dos processos de desenvolvimento;
2009-2011 Rafael Sabbagh
Scrum...
...utiliza times auto-organizados, que definem as melhores formas de desenvolverem as funcionalidades de maior valor ... orientado a valor, e no a planos
... focado na ordenao do trabalho baseada no maior valor de negcio para o cliente;
2009-2011 Rafael Sabbagh
10
Scrum: Origens
Ken Schwaber, incio dos anos 90: desenvolvimento em sua empresa do que se tornaria o Scrum Jeff Suttherland, 1993: desenvolvimento do Scrum na Easel Corporation Ken Schwaber : formalizao do Scrum na OOPSLA95 Anos seguintes: Schwaber e Sutherland colaboram para unificar seus trabalhos Publicao do livro Agile Software Development with Scrum, por Ken Schwaber e Mike Beedle
2009-2011 Rafael Sabbagh
11
Scrum: Origens
The New New Product Development Game, de Takeuchi e Nonaka (1986)
Equipes de desenvolvimento de novos produtos de empresas americanas e japonesas Instabilidade embutida Equipes auto-organizadas Fases sobrepostas de desenvolvimento Mltiplo aprendizado Controle sutil Transferncia organizacional de aprendizado
2009-2011 Rafael Sabbagh
Scrum: Origens
The New New Product Development Game, de Takeuchi e Nonaka (1986) O nome Scrum vem do Rugby!
12
Scrum: Origens
Sistema Toyota de Produo e Produo Enxuta
Produo puxada pelo cliente Produo de valor em fluxo estvel e contnuo, sem paradas, lotes, filas ou departamentos Qualidade embutida no processo: jidoka Melhoria contnua: kaizen Combate ao desperdcio:
muda: etapas sem valor muri: sobrecarga nas pessoas e equipamentos mura: desbalanos nos ritmos de produo
2009-2011 Rafael Sabbagh
13
Os Pilares do Scrum
Processos Definidos X Processos Empricos
Processos definidos:
Ambientes controlados
ex: linhas de produo
Processos empricos:
Complexos e imprevisveis Diferentes entradas, diferentes sadas
Os Pilares do Scrum
#1: Transparncia
Ver: aspectos que afetam o resultado do projeto devem ser visveis para os que gerenciam estes resultados O que visto deve ser compreendido: se quem inspeciona o processo acredita que est pronto, isso deve corresponder definio de pronto utilizada
2009-2011 Rafael Sabbagh
14
Os Pilares do Scrum
#2: Inspeo
Investigar: deve haver inspeo no processo com frequncia suficiente para se detectar variaes inaceitveis
Os Pilares do Scrum
#3: Adaptao
Melhorar: ao se detectar variaes inaceitveis, o processo dever ser ajustado o to rpido quanto possvel para se minimizar desvios ainda maiores
15
Introduo
ao Scrum
2009-2011 Rafael Sabbagh
Time de Scrum
Product Owner
Garante e maximiza o ROI do cliente a partir do trabalho do Time
ScrumMaster
Garante que aos valores do Scrum, prticas e regras esto sendo compreendidos e seguidos
2009-2011 Rafael Sabbagh
16
17
18
19
Ao final do ciclo de desenvolvimento, o Time ter produzido um incremento no produto pronto, que significa valor para o cliente
20
21
22
Gerencia a Viso do Produto: estabelece, mantm e comunica Gerencia os Releases do produto para o cliente
Aceita ou rejeita na Sprint Review o trabalho realizado pelo Time Gerencia o oramento: garante que h oramento suficiente para o projeto durante todo seu desenvolvimento
23
Disponvel
para tirar dvidas do Time e tomar decises sobre o produto para falar com os stakeholders e atualizar o Product Backlog frequentemente
Representativo
com suficiente poder e conhecimento necessrio para tomar decises rpidas e corretas sobre o produto
Comunica-se frequentemente com o P.O. dvidas e decises sobre o produto Informa os impedimentos ao ScrumMaster assim que detectados
2009-2011 Rafael Sabbagh
24
Suficientemente pequeno (7 2) para garantir comunicao Motivado, com a confiana e apoio necessrios Tecnicamente excelente Comprometido a alcanar as metas da Sprint/Release os melhores Times so 100% dedicados ao projeto (sem multitasking)
2009-2011 Rafael Sabbagh
ScrumMaster: Atribuies
Garante que aos valores do Scrum, prticas e regras esto sendo seguidos
Remove os impedimentos que atrapalham o trabalho do Time Facilita as reunies do Scrum Facilita o trabalho do Time e sua relao com o P.O. Ensina (ou garante que aprenda) e encoraja o Time a melhorar seu trabalho, com qualidade e produtividade, e a se auto-organizar Alinha as necessidades do Time e as da organizao Ajuda a escolher e ensina o P.O. (ou garante que aprenda)
2009-2011 Rafael Sabbagh
25
ScrumMaster: Caractersticas
Competente em soft skills: facilitador, negociador, comunicador, gerncia de conflitos etc. Corajoso para realizar as mudanas necessrias e remover os impedimentos presente durante todo o trabalho do Time isento o suficiente para garantir que no haja desvios no processo, para facilitar o consenso, para no interferir nas decises do Time e para ajudar o Time a melhorar seu trabalho
ScrumMaster
26
Product Backlog
Lista incompleta e dinmica em constante evoluo ambiente evolui e clientes e Time aprendem sobre o produto
2009-2011 Rafael Sabbagh
27
28
Sprint
Release
Futuras Releases
2009-2011 Rafael Sabbagh
29
30
8
STORY POINTS Inicialmente, o Time escolhe o item de menor esforo e atribui o tamanho de 2 O Time escolhe um item e joga o Planning Poker para estim-lo, tendo como base o item de tamanho 2 O Time escolhe mais um item e joga o Planning Poker para estimlo, tendo como base os itens j estimados - triangulao
2009-2011 Rafael Sabbagh
31
13
Para um item, todos os membros do Time escolhem uma estimativa nas cartas no mostrar at que todos tenham escolhido Todos mostram as cartas ao mesmo tempo Os membros com a maior e a menor estimativa devem justificar Jogam-se novamente as cartas, at o consenso ScrumMaster facilita!
2
2009-2011 Rafael Sabbagh
GG
32
Definio de Pronto
Ao final da Sprint, o trabalho desenvolvido deve estar pronto Mas o que significa pronto? O Time e o Product Owner devem definir o que significa pronto Quando algum diz que algo est pronto, todos devem entender o que isso significa Ex. de software: codificado, testado e documentado
2009-2011 Rafael Sabbagh
Cada Time Scrum tem seu prprio processo de grooming: sesses dirias curtas, sesses semanais, workshop etc.
por Roman Pichler
2009-2011 Rafael Sabbagh
33
34
User Stories
para itens do Product Backlog
User Stories
Quem?
O qu? Por qu?
Como um COMPRADOR, eu posso PESQUISAR LIVROS para ESCOLHER O QUE VOU COMPRAR
35
CONVERSATION (conversas)
Conversas sobre a story, por onde de fato o requisito comunicado do cliente aos programadores
CONFIRMATION (confirmao)
Testes que documentam os detalhes da story e podem ser usados para determinar quando ela est completa
2009-2011 Rafael Sabbagh
Independente das outras stories Negocivel, detalhes sero negociados Valiosa para o cliente
36
PICO
STORY STORY
STORY
STORY
STORY
TEMA
STORY STORY STORY STORY STORY
STORY
STORY
STORY
2009-2011 Rafael Sabbagh
Testes de Aceitao
Servem para verificar que as user stories implementadas funcionam como o cliente pediu So escritos pelo cliente, antes da codificao, com a ajuda dos desenvolvedores
Abrir no Excel o arquivo XML exportado Confrontar campo a campo com o modelo estabelecido
37
Critrios de Aceitao
Product Owner escreve os critrios de aceitao para cada item desejado antes da Sprint Planning Durante a Sprint Planning, os critrios de aceitao so discutidos e negociados com o Time Enunciados pequenos e fceis de se entender Definem os limites para um item
Adaptado de um artigo de Sandy Mamoli
2009-2011 Rafael Sabbagh
38
Critrios de Aceitao
Ajudam o P.O. a responder o que ele precisa para que essa funcionalidade propicie valor
Ajuda o Time a ganhar uma compreenso compartilhada sobre a Story/funcionalidade Ajudam programadores/testers a gerar os testes Ajudam programadores a saber quando devem parar de adicionar mais funcionalidades a uma story
Critrios de Aceitao
Exemplo: como um aluno, quero me registrar online, para no me deslocar ou enfrentar filas
Os campos obrigatrios do formulrio devem estar claramente indicados Caso o usurio submeta o formulrio sem completar todos os campos obrigatrios, esses campos devem ser indicados e o formulrio no submetido Um email de confirmao deve ser enviado aps submeter o formulrio
2009-2011 Rafael Sabbagh
39
Ciclo do Scrum
40
Meta
41
Sprint Backlog
42
Cada item quebrado em tarefas. Parte das tarefas definida no Planning, parte ao longo da Sprint
43
44
Estimar as Tarefas?
Estimativa por horas
Na segunda parte da Sprint Planning, cada membro estima as tarefas que ele ir realizar pelo nmero de horas que acredita que levar De preferncia, cada tarefa < 1 dia e > 2 horas Devem ser atualizadas sempre que pertinente O Sprint Burndown reflete o nmero de horas restantes totais de todas as tarefas Desvantagens:
Diminui o senso de propriedade de grupo Dificuldade no trabalho em par eventual Cria mais uma escala alm da usada para tarefas
2009-2011 Rafael Sabbagh
Serve para acompanhar o progresso em direo ao final de um sprint feito inicialmente no Sprint Planning Meeting e deve ser atualizado a cada dia da Sprint
2009-2011 Rafael Sabbagh
45
Serve para acompanhar o progresso em direo ao final de um sprint feito inicialmente no Sprint Planning Meeting e deve ser atualizado a cada dia da Sprint
2009-2011 Rafael Sabbagh
46
A Sprint
O que a Sprint?
Sprint a iterao (ciclo) de desenvolvimento
Sprint Planning Meeting Trabalho de Desenvolvimento Sprint Review Sprint Retrospective
Cada Sprint deve ter uma meta Tm durao fixa (de 2 semanas a 1 ms) e ocorrem uma atrs da outra No deve haver nenhuma mudana que afete a meta da Sprint
47
O que a Sprint?
Cada Sprint deve ter como sada um incremento entregvel do produto que satisfaa meta Ao final da Sprint, todo trabalho entregvel deve estar pronto O deadline no pode ser mudado. Somente o escopo pode variar (desde que no afete a meta da Sprint)
O que a Sprint?
A Sprint deve sempre produzir valor entregvel, mesmo que haja mais trabalho de arquitetura ou infraestrutura
Itens que geram valor visvel para o cliente Itens de arquitetura, infraestrutura etc.
Sprint 1
Sprint 2
Sprint 3
Sprint 4
Sprint 5
2009-2011 Rafael Sabbagh
48
Cancelamento da Sprint
A Sprint pode ser cancelada se a Meta da Sprint perder o sentido Somente o Product Owner pode decidir pelo cancelamento da Sprint exceo, deve ser raro
O Tamanho da Sprint
O tamanho da Sprint fixo! (1-4 semanas) S pode ser alterado se for detectada a necessidade na Sprint Retrospective Horizonte curto suficiente para que mudanas necessrias no alterem a meta da Sprint
Sprints curtas: mudanas muito frequentes, entregas mais frequentes, projetos curtos
49
Daily Scrum
O ScrumMaster deve remover os obstculos encontrados O Sprint Burndown deve ser atualizado!
2009-2011 Rafael Sabbagh
50
Sprint Review
aos
Time demonstra o que fez e responde a perguntas PO verifica o que foi e o que no foi feito na Sprint e estabelece se a meta foi atingida Entrada para a Sprint Planning seguinte
2009-2011 Rafael Sabbagh
51
Sprint Retrospective
Identificar e priorizar:
O que foi bem?
52
53
Gesto de Releases
54
Gesto de Release
Cenrio #1
Sem Plano de Release Fazer releases cedo e frequentemente Product Owner decide fazer a Release quando incrementos suficientes do produto criaram valor para os clientes
Gesto de Release
Cenrio #2 Plano de Release
Itens do Product Backlog devem estar estimados pelo Time e ordenados pelo Product Owner Para cada Release, realizar a reunio de Release Planning Meeting para criar o Plano de Release Fazer releases cedo e frequentemente Acompanhar o progresso atravs do Release Burndown Atualizar o Plano de Release a cada Sprint
2009-2011 Rafael Sabbagh
55
56
Serve para acompanhar o progresso em direo a uma entrega feito inicialmente no Release Planning Meeting e deve ser atualizado no final de cada Sprint
57
Escalando Scrum
Escalando Scrum
Problema: projeto grande demais Time deve ter no mximo 9 membros
?
2009-2011 Rafael Sabbagh
58
Escalando Scrum
Soluo: diversos Times no mesmo projeto
Escalando Scrum
Scrum of Scrums
Mecanismo para coordenao de diversos Times trabalhando no mesmo projeto Daily Scrum adicional (Daily Scrum of Scrums), formada por um membro de cada Time do mesmo projeto, visando sincronizar o trabalho de todos os Times e tratar de problemas Foco em dependncias, integrao e sobreposies de trabalho
2009-2011 Rafael Sabbagh
59
Escalando Scrum
Scrum of Scrums
Mesmo Product Backlog para todos os itens Funciona quando no h grandes dependncias entre o trabalho dos Times
Minimizar dependncias, ortogonalizar o trabalho dos Times
Questes:
O que o Time fez desde a ltima reunio? O que o Time pretende fazer at a prxima reunio? O que est/esteve atrapalhando o Time? O Time gerar impedimentos para outros Times?
2009-2011 Rafael Sabbagh
Escalando Scrum
Extendendo: Scrum of Scrums of Scrums
60
Scrum Alliance
http://www.scrumalliance.org
61
Scrum Alliance
Certificaes da Scrum Alliance
Obrigado!
Rafael Sabbagh
sabbagh@gmail.com rsabbagh http://rsabbagh.com http://facebook.com/SabbaghTC
62