Documente Academic
Documente Profesional
Documente Cultură
do Scrum
responsvel
pelo
Fundamentos
do Scrum
Rodrigo Alves Costa
Fundamentos
do Scrum
Rio de Janeiro
Escola Superior de Redes
2016
Nelson Simes
Diretor de Servios e Solues
Lincoln da Mata
Coordenador Acadmico da rea de Governana de TI
Adriana Pierro, Alynne Figueiredo, Celia Maciel, Derlina Miranda, Elimria Barbosa,
Evellyn Feitosa, Felipe Nascimento, Lourdes Soncin, Luciana Batista, Luiz Carlos Lobato ,
Renato Duarte e Yve Marcial.
Capa, projeto visual e diagramao
Tecnodesign
Verso
1.0.0
Este material didtico foi elaborado com fins educacionais. Solicitamos que qualquer erro encontrado ou dvida com relao ao material ou seu uso seja enviado para a equipe de elaborao de
contedo da Escola Superior de Redes, no e-mail info@esr.rnp.br. A Rede Nacional de Ensino e
Pesquisa e os autores no assumem qualquer responsabilidade por eventuais danos ou perdas, a
pessoas ou bens, originados do uso deste material.
As marcas registradas mencionadas neste material pertencem aos respectivos titulares.
Sumrio
1. Introduo
A importncia da informao e a crise do software 1
Crise do software2
Por que se tornar gil vale a pena? 3
Exerccio de fixao Como voc entende que o Scrum pode melhorar a produtividade na
sua organizao?7
Processo Scrum8
Papis, fluxo e artefatos do Scrum9
Papis do Scrum9
Exerccio de fixao Na sua organizao, que papis atuais poderiam ocupar os papis do
Scrum em uma eventual transio para Scrum?9
Fluxo do Scrum9
Viso Scrum13
Transparncia14
Inspeo14
Adaptao14
Scrum e processos de desenvolvimento14
Exerccio de fixao O que voc acha que precisa mudar na mentalidade da sua organizao para adotar um processo de gesto de projetos gil como o Scrum?15
Introduzindo um processo gil em uma organizao 16
Desenvolvedores16
Realizando a transio de um processo peso-pesado16
Scrum Escalvel17
Atividades prticas Cenrio para escolha sobre um processo a ser adotado 18
iii
2. O Scrum
Fase de especificao19
Fase de projeto20
Fase de implementao20
Fase de teste20
Fase de manuteno21
Metodologias de desenvolvimento tradicionais:
vantagens e desvantagens21
Vantagens e desvantagens22
Exerccio de fixao Que metodologias de desenvolvimento so utilizadas na sua organizao?
Voc enxerga vantagens e desvantagens no seu uso? Quais?23
Metodologias de geis de Projetos23
Software Funcional em vez de Documentao Detalhada24
Colaborao ao cliente em vez de negociao de contratos24
Indivduos e iteraes em vez de somente processos e ferramentas25
Responder mudanas x planos detalhados25
Velocidade e qualidade26
Vantagens e desvantagens26
Exerccio de fixao Voc acredita que a sua organizao e os seus clientes se beneficiariam da adoo de uma metodologia como o Scrum?27
Histrico do Scrum27
Toyota, uma grande influncia para o Scrum27
Exerccio de fixao Como eliminar a restrio tripla na sua organizao?28
Exerccio de fixao Voc acredita ser possvel ter uma equipe auto-organizvel na sua
organizao? Qual o contexto para possibilitar tal auto-organizao?29
Origem do nome29
O processo31
Emprico31
Iterativo e incremental32
Fases do Scrum32
Tamanho de projetos33
Atividades prticas Cenrios para levantamento de requisitos33
3. A metodologia
Papis36
Product Owner36
Scrum Master36
Equipe de desenvolvimento37
Cerimnias38
iv
4. Scrum e a organizao
Scrum e o ciclo PDCA59
Escalando projetos com Scrum60
Infraestrutura61
Staging61
Equipes distribudas62
Reunio de planejamento da Sprint63
Daily Scrum64
Szcrum of Scrums66
Sprint reviews e retrospectivas66
Dicas gerenciais66
Coexistindo com outras abordagens67
Misturando Scrum e desenvolvimento sequencial67
Governana68
Conformidade a padres69
Recursos humanos, instalaes e o PMO70
Atividades72
vi
1
Entender a crise do Software. Por que se tornar gil vale a pena? Introduo
ao processo scrum. Realizando a transio de um processo peso-pesado para um gil.
conceitos
Captulo 1 - Introduo
objetivos
Introduo
A existncia de um universo rico com uma quantidade imensa de informao tem deixado
pessoas e empresas um pouco perdidas, e o tomador de deciso pode, por vezes, ficar
confuso. Ter muita informao no significa que a empresa est bem informada.
nesse contexto que surge a cincia da gesto da informao que, para Siqueira
Crise do software
Paralelamente a essa necessidade pela produo de software relevante, que existe at os dias
de hoje, um termo acerca de sua produo foi firmado nos primeiros dias da cincia da computao e diz respeito dificuldade de escrever programas de computador realmente teis e
eficientes dentro do tempo necessrio para as partes interessadas: crise do software.
A crise do software se deu por causa das melhorias rpidas nas capacidades dos computadores, e levando em considerao as complexidades dos problemas que conseguiriam
resolver. Com o aumento da complexidade dos softwares, muitos problemas dessa
natureza surgiram porque os mtodos existentes no se mostraram suficientes.
O termo crise do software foi cunhado pelos participantes na Conferncia de Engenharia
de Software da OTAN, em 1968, em Garmisch, na Alemanha. A palestra de Edsger Dijkstra,
da ACM, de 1972, faz referncia a esse mesmo problema: "A principal causa da crise de
software que as mquinas tornaram-se vrias ordens de grandeza mais potentes! Para
coloc-lo muito claramente: enquanto no havia mquinas, a programao foi nenhum
problema em tudo; quando tivemos alguns computadores fracos, a programao tornou-se
Fundamentos do Scrum
Nos dois anos seguintes, a receita mais que dobrou, para mais de US$ 1 bilho. Com
resultados como esses, no surpreendente que tantas organizaes fizessem a transio para Scrum. Ou pelo menos tentassem.
A transio para Scrum e outros mtodos geis difcil: muito mais difcil do que muitas
empresas antecipam. As alteraes necessrias para colher todos os frutos que se tornar
gil pode trazer so de longo prazo. Tais mudanas exigem grande quantidade de esforo
Captulo 1 - Introduo
11 E mais de 500% mais valor aos seus clientes em relao ao ano anterior.
uma mudana das prticas, necessrio mudar a mentalidade e a forma de trabalho estabelecida. O objetivo deste curso, portanto, no apenas mostrar como fazer essa transio
adequadamente, mas tambm como obter sucesso no longo prazo.
Toda mudana difcil. Mudanas maiores podem ser ainda mais difceis. No entanto,
existem ainda certas caractersticas de transio para Scrum que o tornam mais difcil
do que a maioria das outras mudanas.
Uma mudana, para ser considerada de sucesso, no depende exclusivamente de ser
de cima para baixo ou de baixo para cima (ou seja, h mltiplos fatores que determinam
o sucesso da mudana): em uma mudana top down (de cima para baixo), um lder
influente compartilha uma viso do futuro e a organizao segue o lder em direo a
essa viso.
Imagine um lder carismtico, respeitado e poderoso como Steve Jobs dizendo a seus
funcionrios da Apple que eles so se movendo para alm de hardware e software de
computador para dominar a msica digital. A sua reputao e estilo poderia ter apontado
a empresa em uma nova direo, mas isso por si s no teria sido suficiente para realizar
uma proeza to improvvel. Da mesma forma, sem compromisso operacional, as pessoas
resistem cadeia de comando. Assim, a participao bottom-up (de baixo para cima) ser
necessria, pois ser o indivduo, ou seja, os membros da equipe que trabalham com as
questes que vo descobrir como Scrum vai funcionar melhor dentro de sua organizao.
Assim, a chave para qualquer sucesso na adoo de Scrum ser a combinao elementos de
bottom-up e mudana top-down.
Criar esse plano exigiria saltar dois obstculos impossveis: em primeiro lugar, saber exatamente onde ns queremos acabar e, em segundo, saber exatamente os passos para chegar
l. Como no podemos superar essas impossibilidades, o melhor que se pode fazer adotar
uma abordagem de provocar e observar (Avery De, 2005), em que se pode tentar algo, ver
se ele nos move mais perto de um objetivo intermedirio, verificar se o estado melhorou e,
em caso afirmativo, fazer mais do mesmo. Esses processos da organizao no so aleatrios, so cuidadosamente selecionados com base na experincia, conhecimento e intuio,
para dirigir uma transio para o Scrum.
Apresentar a reviso de prontido operacional quase certamente vai impactar as finanas,
vendas ou outros departamentos. Portanto, cada um desses departamentos pode ser
afetado pela Scrum. Dessa maneira, grupos financeiros tero de conciliar as polticas da
empresa na capitalizao com a maneira de como projetos Scrum se comportam quando
esto em execuo. As vendas e o marketing podem querer alterar como comunicam os
seus prazos e o escopo, e podem mudar a forma como estruturam contratos. Com mais
l
O estado final
imprevisvel: uma
transio para Scrum
no pode ser tal que
articula e define o todo
o processo de mudana
necessria para
preencher a lacuna
entre como e ser e
cria planos tticos,
como em um de
gerenciamento de
mudanas tradicional,
segundo Carr, Duro, e
Trahant.
l
Scrum generalizada:
se tornar gil ter
implicaes para a
organizao que vo
muito alm do
departamento de
desenvolvimento de
software.
grupos afetados por uma mudana para o Scrum, h mais chance para aumentar a resistncia e certamente mais chance de problemas, o que pode tornar a transio para Scrum
ainda mais difcil.
Fundamentos do Scrum
Muitos testadores, por exemplo, aprendem ao longo dos anos que o seu trabalho testar
para conformidade com uma especificao de requisitos. Por sua vez, os programadores
foram treinados para analisar um problema em profundidade e para conceber uma soluo
perfeita antes que qualquer codificao comece. Em um projeto Scrum, testadores e programadores precisam desaprender esses comportamentos. Testadores passam a entender que
o teste tambm entender que o sistema precisa estar em conformidade com as necessidades do usurio. J os programadores entendem que um design nem sempre necessrio
(e s vezes nem mesmo desejvel) antes que a codificao comece.
l
Scrum dramaticamente diferente: as
mudanas criadas
atravs da adoo do
Scrum se permeiam ao
longo do desenvolvimento, e muitas dessas
mudanas vo de
encontro formao
passada da maior parte
dos funcionrios.
Como a transio para Scrum inclui pedir s pessoas para trabalhar de uma forma diferente
daquela que esto familiarizadas, ou seja, de uma forma que contradiz aquela da sua formao e experincia, os funcionrios muitas vezes se apresentam muitas vezes resistentes
mudana.
Para alguns tipos de trabalho, a coleta e reutilizao de melhores prticas uma tremenda
ajuda para o esforo de mudana. Por exemplo, uma organizao que est vendendo um
produto para um novo tipo de cliente pode capturar as melhores prticas para superar
objees por parte dos prospectos. Ao fazer a transio para Scrum, no entanto, a coleta
de melhores prticas pode ser arriscada, pois elas tentam fazer a equipe relaxar e parar o
esforo de melhoria contnua, que essencial ao Scrum.
Embora os membros da equipe devam sempre pesquisar para compartilhar uns com os
outros as suas recm-descobertas acerca das melhores formas de trabalhar, eles devem
resistir ao impulso de codific-las em um conjunto de melhores prticas.
Apesar de todas as razes pelas quais a transio para Scrum pode ser particularmente
difcil, partes interessadas nas organizaes que a realizaram tm o tempo para o mercado
de seus produtos reduzido e se mostram satisfeitos depois de implementar um processo
gil como Scrum.
Esse tempo de colocao no mercado mais rpido possibilitado pela maior produtividade
das equipes geis, o que por sua vez o resultado da maior qualidade de projetos nessa
disposio. Como os funcionrios podem realizar trabalhos de alta qualidade e como eles
passam a ver o seu trabalho entregue mais cedo nas mos dos usurios, a satisfao com o
trabalho sobe. Com maior satisfao dos funcionrios, nota-se maior envolvimento, o que
leva a ganhos de produtividade, iniciando um ciclo virtuoso de melhoria contnua.
Podemos listar as seguintes razes porque uma transio para um processo gil como
Scrum importante:
Aumento da produtividade e reduo de custos
Infelizmente, no h medidas universalmente padronizadas para medio de produtividade. Martin Fowler (2003) diz que medir a produtividade dos desenvolvedores de
software impossvel. No entanto, algumas equipes usam medidas como o nmero de
linhas de cdigo como uma entrada para a produtividade. Outros usam como o nmero
de pontos de funo, ou seja, pontos entregues ao cliente. Algumas equipes medem sua
produtividade por meio do nmero de caractersticas entregues, ignorando que nem
Captulo 1 - Introduo
Em sua comparao entre projetos tradicionais e geis, Mah (2008) entende que projetos
geis so 16% mais produtivos em qualquer situao. A figura 1.1 mostra a comparao de
projetos geis (pontos) comparado com a produtividade mdia de o desvio padro na base
de dados da QSMA.
Como se pode ver, a maioria dos pontos encontra-se acima da mdia da indstria, com
uma boa parte dos projetos mais de um desvio padro acima de um nvel de produtividade dessa mdia.
+/- 1 Desvio padro
Produtividade
Alto
Mdia
Figura 1.1
Equipes geis so
significativamente
mais produtivos
que a mdia da
indstria.
Projetos geis
Baixo
Maior
Menor
Tamanho do projeto
Os resultados da QSMA so corroborados por outras pesquisas, tais como as da DDJ e
VersionOne. De acordo com a primeira, 82% dos participantes sentiram que a produtividade
foi um pouco ou muito mais elevada do que antes, quando se utiliza mtodos geis como o
Scrum. De acordo com a VersionOne, 73% acreditava que ser gil tinham significativamente
melhorado (23%) ou melhorado (50%) a produtividade.
Ora, razovel entender que, se os funcionrios em uma organizao so mais produtivos,
os custos sero menores. Embora encorajadores, esses nmeros contam apenas parte
da histria. Uma das crticas dos processos tradicionais que eles so to onerosos. Que,
muitas vezes, quando o software entregue, algumas funcionalidades ou o aplicativo
inteiro no so mais necessrias. Um benefcio significativo de ser gil que equipes geis
possuem a tendncia de produzir apenas funcionalidades necessrias. Graas ao feedback
constante e habilidade de priorizar novamente a cada Sprint, uma equipe Scrum capaz
de trabalhar apenas naquelas funcionalidades que os usurios realmente precisam. Se isso
for includo no nosso requisito de produtividade, provavelmente veramos resultados ainda
mais dramticos.
De acordo com o levantamento de Rico, com base em estudos de caso de equipes geis
Fundamentos do Scrum
Categoria
Melhoria Mais
Baixa
Melhoria Mdia
Melhoria Mais
Alta
Produtividade
14%
88%
384%
Custo
10%
26%
70%
Tabela 1.1
Melhorias
verificadas com gil
por categoria.
Exerccio de fixao e
Como voc entende que o Scrum pode melhorar a produtividade na
sua organizao?
O envolvimento dos funcionrios melhora tambm a satisfao no trabalho
Um fator que contribui para a maior produtividade e menores custos em projetos geis
: os trabalhadores passam a gostar mais do que fazem. Quinze meses aps a adoo do
Scrum, a Salesforce.com realizou uma pesquisa junto a seus funcionrios e constatou que
86% estavam gostando ou o gostando muito de trabalhar na empresa. Antes de adotar
Scrum, apenas 40% respondiam a mesma coisa. Alm disso, 92% dos funcionrios disseram
que recomendariam uma abordagem gil para os outros. Resultados como esses so
comuns. Em seu levantamento na indstria, a VersionOne constatou que 74% dos entrevistados relataram que a moral foi melhorada (44%) ou significativamente melhorada (30%).
cionais. De acordo com o estudo da VersionOne, 64% dos participantes relataram que o
tempo de comercializao foi melhorado (41%) ou significativamente melhorado (23%).
O estudo da QSMA comparou 26 projetos geis em uma base de dados de 7.500
projetos, em sua maioria tradicionais, chegando concluso de que os projetos geis
chegaram 37% mais rapidamente ao mercado, como mostrado na figura 1.2.
Alto
+/- 1 Desvio padro
Time to market
Mdia
Baixo
Menor
Maior
Tamanho do projeto
que eles conduzam a uma melhoria na satisfao das partes interessadas. A pesquisa da
DDJ descobriu que 78% dos participantes da pesquisa acreditam que o uso de um processo gil levou a uma melhoria um pouco maior (47%) ou muito mais elevada (31%)
na satisfao das partes interessadas.
Uma das razes pelas quais as partes interessadas ficam mais satisfeitas com processos geis
porque as suas prticas so mais amigveis com relao s mudanas de prioridades, o que
uma necessidade na vida das organizaes de ritmo acelerado e competitivo de hoje.
No estudo da VersionOne, 92% dos participantes consideraram que as metodologias
geis melhoraram a capacidade de gerenciar mudanas de prioridades.
Captulo 1 - Introduo
Projetos geis
Processo Scrum
Todas as prticas do Scrum esto cravadas em um esqueleto de processo incremental.
Esse esqueleto mostrado na figura 1.3. O crculo de baixo representa uma iterao de
atividades de desenvolvimento que ocorrem uma aps a outra, e a sada de cada uma
delas um incremento no produto. J o crculo superior representa uma espcie de
inspeo diria que ocorre durante a iterao citada anteriormente, durante a qual cada
membro da equipe se rene para acompanhar as atividades umas dos outros e realizar
adaptaes adequadas. O que guia as interaes so uma lista de requisitos e o ciclo se
repete enquanto houver oramento disponvel para o projeto.
Reunio de
Scrum Diria
24 h
2 4 semanas
Fundamentos do Scrum
Product
Backlog
Sprint
Backlog
Incremento
no Produto
Figura 1.3
O processo Scrum.
O corao de Scrum reside na iterao. A equipe lana um olhar sobre os requisitos, con-
para a equipe. O Scrum Master no gerencia a equipe. O Scrum Master trabalha para
remover quaisquer impedimentos ou barreiras que porventura venham atrapalhar a
equipe para atingir os objetivos da Sprint.
Isso ajuda a equipe a se manter criativa e produtiva ao mesmo tempo em que garante que seus
sucessos esto visveis ao Product Owner. O Scrum Master tambm trabalha para auxiliar o
Product Owner em como maximizar o ROI (retorno sobre investimento) para a equipe;
11 Equipe: de acordo com os criadores do Scrum, a equipe totalmente autogeren-
Exerccio de fixao e
Na sua organizao, que papis atuais poderiam ocupar os papis do Scrum
em uma eventual transio para Scrum?
Fluxo do Scrum
Um projeto Scrum comea com uma viso do sistema a ser desenvolvido. A viso pode
ser vaga no incio, talvez expressa em termos de mercado, em vez de requisitos de
sistema, mas ela se tornar mais clara medida que o projeto avana.
Captulo 1 - Introduo
os objetivos da Sprint.
Fundamentos do Scrum
recm-citadas.
10
A cada
24 horas
Scrum dirio
Sprint
Nova funcionalidade
demonstrada ao nal
da Sprint
Backlog da Sprint
Figura 1.4
Viso geral do
processo do Scrum.
Artefatos
Scrum introduz alguns novos artefatos. Estes so utilizados em todo o processo de
Product Backlog
Os requisitos para o sistema ou produto que est sendo desenvolvido pelo projeto esto
que seja adequado, competitivo e til. Enquanto o produto existir, o Product Backlog
existe. Um exemplo pode ser encontrado na tabela 1.2:
Requisito
Num
Categoria
Status
Pri
Estimativa
17
funcionalidade
em curso
232
caso de uso
em curso
60
12
problema
no iniciado
10
43
defeito
finalizado
321
melhoria
no iniciado
100
45
caso de uso
em curso
30
Captulo 1 - Introduo
Product Backlog
11
Sprint Backlog
O Sprint Backlog define o trabalho (ou as tarefas que uma equipe define para transformar os
itens do Product Backlog que ele escolheu para o Sprint), de maneira a transform-lo em um
incremento de funcionalidade do produto potencialmente utilizvel. Somente o time pode
mudar o Sprint Backlog. O Sprint Backlog deve ser altamente visvel, e deve ser um quadro
que demonstra em tempo real o trabalho que a equipe planeja efetuar durante a Sprint.
Um exemplo de um Sprint Backlog mostrado na tabela 1.3. As linhas representam
tarefas do Sprint Backlog; as colunas representam os 30 dias no Sprint. Uma vez que uma
tarefa definida, a estimativa do nmero de horas restantes para completar a tarefa
colocada no cruzamento da tarefa, e o dia Sprint pela pessoa que trabalhe com a tarefa.
Sprint Backlog
Origem
Responsvel
Status
Descrio da
Atividade
Rosa
Joo
em curso
Gerar documentao
do SDK
Pedro
no
iniciado
16
16
16
16
16
16
16
16
16
16
16
16
Disponibilizar
documentao na wiki
Joo
no
iniciado
LDAP: grupos
de suporte
Maria
finalizado
26
18
10
Documentao de
branch:
fontes e
builds
Pedro
no
Impedir
criao de
relaes
"erradas"
Maria
finalizado
20
12
Descrever
extenso
de PDA
Pedro
em curso
26
18
10
Fundamentos do Scrum
Release do
servio
12
10
11
12
iniciado
64
58
50
42
34
Tabela 1.3
Sprint Backlog.
Isso requer que os incrementos precisem ser exaustivamente testados e bem estruturados,
que o cdigo seja construdo em um arquivo executvel e que a funcionalidade implementada para operao do usurio seja escrita em um cdigo bem documentado e disponibilizada em arquivos de ajuda ou em outra documentao de usurio acordada.
Viso Scrum
Scrum uma ferramenta para desenvolver e manter produtos complexos. A cincia do
entre eles. As regras de Scrum so descritas ao longo desse documento. Tticas especficas para o uso do framework Scrum variam. Scrum fundada na teoria de controle
de processos empricos: o empirismo. Essa teoria afirma que o conhecimento vem de
decises de experincia, preparando com base no que conhecido. Scrum emprega uma
abordagem iterativa e incremental para otimizar a previsibilidade e controlar riscos.
So trs os pilares que sustentam qualquer implementao de controle de processos empricos: a transparncia, a inspeo e a adaptao.
Captulo 1 - Introduo
Essa a definio
de um incremento
pronto.
13
Transparncia
Aspectos significativos do processo devem ser visveis para os responsveis pelo resul-
tado. A transparncia exige que esses aspectos sejam definidos por um padro comum
de modo que observadores compartilhem um entendimento comum sobre o que est
sendo visto. Por exemplo:
11 Uma linguagem comum referindo-se ao processo deve ser partilhada por todos
os participantes;
11 Aqueles que executam o trabalho e aqueles que aceitam o produto do trabalho
devem compartilhar uma comum definio de Pronto.
Inspeo
Usurios de um projeto do Scrum devem frequentemente inspecionar artefatos pro-
duzidos pelo projeto e progredir em direo a uma meta de uma Sprint para detectar
variaes indesejveis. Obviamente, a inspeo no deve ser to frequente de maneira a
tornar a inspeo uma barreira ao trabalho.
As inspees so mais benficas quando a diligncia realizada por inspetores qualificados no trabalho.
Adaptao
Se um inspetor determina que um ou mais aspectos de um processo se desvia dos
das abordagens tradicionais. Scrum e outros mtodos geis foram inspirados pelas deficincias daquelas abordagens, e enfatizam em colaborao, software funcional, autogesto de equipe e na flexibilidade a adaptar-se a necessidades emergentes de negcios.
Essas necessidades so as mais comumente verificadas em negcios de software, cujos
clientes normalmente no conhecem todos os requisitos de negcio no comeo do
projeto, e tm necessidades emergentes durante a sua execuo.
Fundamentos do Scrum
Scrum parte do movimento gil. Esse uma resposta falha da maioria dos paradigmas de gesto de projetos de desenvolvimento, e toma emprestado muitos princpios de lean manufacting. Em 2011, 17 pioneiros de mtodos similares se reuniram no
Resort Snow Bird Ski, em Utah, e escreveram o Manifesto gil, uma declarao de quatro
valores e doze princpios. Esses valores e princpios contradizem fundamentalmente as
reas de conhecimento tradicionais do PMBoK.
No entanto, o Manifesto gil no prov passos concretos. As organizaes normalmente
procuram mtodos mais especficos dentro do movimento gil. Estes incluem Crystal Clear,
14
Extreme Programming, Desenvolvimento Orientado a Funes, Scrum e outros. Tipicamente, uma soluo que possui definies simples como o Scrum habilita a equipe com a
autonomia necessria para realizar o melhor trabalho enquanto auxilia a alta gesto (cujos
membros podem se tornar Product Owner) a obter os resultados de negcio que desejam.
Scrum capaz de abrir portas para outras abordagens geis teis como desenvolvimento
orientado a testes. Uma organizao realmente gil dificilmente possui um lado tcnico e
um lado de negcios, mas possui equipes trabalhando diretamente que desejam entregar
valor de negcios. Ora, os melhores resultados de negcios so entregues quando o negcio
inteiro est envolvido no processo.
Os primeiros defensores do Scrum foram inspirados por ciclos de feedback de inspeo
e adaptao para se adaptar a complexidade e risco. Scrum enfatiza que o processo de
deciso deve ser baseado em resultados do mundo real, em vez de especulao. O tempo
deve ser dividido em cadncias pequenas de trabalho, conhecidas como Sprints, de uma
ou duas semanas. O produto mantido em um estado potencialmente entregvel (ou seja,
adequadamente integrado e testado) o tempo inteiro. No fim de cada Sprint, as partes interessadas e os membros de equipe se renem para uma demonstrao de uma melhoria do
produto e planejar seus prximos passos.
Dessa forma, podemos ver Scrum como um conjunto simples de papis, responsabilidades
e reunies que nunca mudam. Ao remover toda imprevisibilidade no necessria, possvel
se adaptar necessria imprevisibilidade da descoberta e aprendizagem tpica dos projetos.
Assim, as regras e prticas para Scrum um processo simples para gerenciar projetos
complexos so poucas, diretas e fceis de aprender. No entanto, a simplicidade do Scrum
em si e sua falta de prescrio podem ser to sensibilizantes que novos praticantes acabam
em situaes em que aos poucos revertem para velhos hbitos e ferramentas de gesto de
projetos, produzindo resultados menos satisfatrios.
Assim, para entender a base na teoria e prtica do Scrum, necessria uma mentalidade
que possibilite:
11 Controlar at mesmo os mais complexos projetos;
11 Gerir eficazmente os requisitos do produto desconhecidos ou mudana;
11 Simplificar a cadeia de comando com as equipes de desenvolvimento de autogesto;
11 Receber mais claras especificaes e feedback de clientes;
11 Reduzir grandemente o tempo de planejamento de projeto e ferramentas necessrias;
11 Construir e lanar produtos em ciclos de 30 dias para que os clientes obtenham resultados mais cedo;
11 Evitar erros inspecionando regularmente relatrios sobre os projetos e realizar ajuste
fino constantemente sobre estes;
11 Apoiar vrias equipes trabalhando em um projeto em larga escala a partir de muitas
11 Maximizar o retorno sobre o investimento.
Exerccio de fixao e
O que voc acha que precisa mudar na mentalidade da sua organizao para
adotar um processo de gesto de projetos gil como o Scrum?
Captulo 1 - Introduo
localizaes geogrficas;
15
Desenvolvedores
A maioria dos desenvolvedores respondem introduo de um processo gil com uma
Fundamentos do Scrum
16
Programadores que tm essa viso percebem as interaes com seus gerentes de projeto
como sendo sobre datas de entrega e prazos perdidos. Para impedir esse problema, os
lderes devem constantemente demonstrar seu desejo de remover obstculos assim que
possvel e evitar reclamar se uma atividade demorar mais do que o previsto. Gestores
podem se surpreender, mas no devem se mostrar excessivamente crticos ao serem informados de que uma tarefa vai demorar mais do que se pensava originalmente.
A transio gradual de um processo mais pesado para um processo gil pode tornar a
mudana mais fcil para a equipe de desenvolvimento. Algumas equipes, em seu primeiro contato com o Scrum, ficam estagnados com a falta de ao gerada pela liberdade
de no possuir um cronograma dirio direcionando seu trabalho. A ideia ajudar esses
times ao definir tipos de sprint:
11 Prototipao;
11 Captura de requisitos;
11 Anlise e design;
11 Implementao;
11 Estabilizao.
A cada reunio de planejamento, trabalha-se com as equipes para definir os artefatos
que vo resultar de cada tipo de Sprint. Ao usar tipos de Sprint, introduzimos um nvel de
formalidade suficiente para permitir que as equipes vejam mais claramente sua funo ao
longo do projeto. Na medida que os times se tornam mais familiarizados com a informalidade do processo gil, eles gradualmente abandonam o conceito de tipos de Sprint.
Scrum Escalvel
Quando muitas equipes trabalham no mesmo produto, eles normalmente usam um
mesmo Product Owner (que realmente toma decises de negcio) e um nico Backlog
de Produto com requisitos orientados ao cliente. Cada equipe do Scrum deve buscar
se tornar uma equipe de funcionalidades, capaz de desenvolver uma fatia completa
de produto que pode ser entregue ao cliente. Quando interdependncias aparecem,
equipes de funcionalidade devem aprender a usar princpios da auto-organizao para
coordenar com outras equipes.
Infelizmente, a maioria dos times no esto inicialmente acostumados com esse nvel de
responsabilidade, e hbitos pr-existentes de gesto e hierarquias apresentam impedimentos organizacionais.
A ideia do Scrum eliminar papis de coordenao como gestor de projetos e PMO, pois
organizacional, tentador usar algumas abordagens hbridas que combinam uma verso
enfraquecida do Scrum ao mesmo tempo em que se utiliza uma gesto hierrquica tradicional. Recomenda-se que organizaes maiores que esto comprometidas com valores
e princpios do Manifesto gil aprendam sobre LeSS (Large Scale Scrum).
Captulo 1 - Introduo
17
Atividades prticas e
Cenrio para escolha sobre um processo a ser adotado
Fundamentos do Scrum
18
2
Metodologias tradicionais: vantagens e desvantagens. Filosofia por trs das
metodologias geis. Metodologias geis: caractersticas, vantagens e desvantagens.
conceitos
Processo de software
Em uma viso geral do processo/projeto de desenvolvimento de software, podemos
Fase de especificao
uma das etapas iniciais do projeto, pois onde procuram-se identificar funcionali-
Captulo 2 - O Scrum
objetivos
O Scrum
19
mtodos utilizados, porm podem variar de acordo com o paradigma usado. As suas
tarefas so:
11 Engenharia de sistema: estabelecimento de uma soluo geral para o problema,
envolvendo questes de tecnologia e equipamento;
11 Anlise de requisitos: levantamento das necessidades do software a ser implementado
tem como objetivo produzir uma especificao de requisitos em forma de documento;
11 Especificao de sistema: descrio funcional do sistema. Pode incluir um plano de
testes para verificar adequao.
Fase de projeto
O projeto finalizado quando seus objetivos propostos so alcanados e quando se
Fase de implementao
Tambm chamada de fase de desenvolvimento ou codificao. a fase que define como
Fase de teste
Nesta fase, encontram-se as no conformidades com o que foi especificado durante a
fase de especificao, com o objetivo de aumentar a qualidade do produto. Suas atividades so:
11 Teste de unidade e mdulo: consiste na realizao de testes para verificar a
presena de erros e comportamento inadequado relacionado s funes e mdulos
Fundamentos do Scrum
bsicos do sistema;
20
Fase de manuteno
Considerada a fase final, onde se analisa todo o produto. Tem como foco principal as
q
Captulo 2 - O Scrum
recomendadas para o desenvolvimento de softwares, sendo que essas prticas geralmente passam por passos ou fases, que so subdivises do processo para orden-lo
e melhor gerenci-lo. As metodologias consideradas tradicionais, tambm chamadas
de pesadas, tm como caracterstica marcante a sua diviso em etapas e fases bem
definidas, como Anlise, Modelagem, Desenvolvimento e Testes. A concluso de cada
fase gera um marco, que tipicamente refere-se um documento, prottipo do software ou
verso do sistema.
O foco principal dessas metodologias a previsibilidade dos requisitos do sistema, que
traz a grande vantagem de tornar os projetos completamente planejados, facilitando
sua gesto, mantendo uma linha de comando e caracterizando o processo com bastante rigor. Essa previsibilidade alcanada porque mais tempo dedicado na fase de
anlise e na elaborao da documentao de planejamento. Como se pode imaginar, o
controle do projeto dificultado j que, em situaes reais de projeto, sempre que se
deseja alterar um requisito, ou parte do escopo, necessrio voltar ao incio do projeto
e reiniciar todo o processo de planejamento.
As metodologias pesadas defendem que uma documentao detalhada necessria por
oferecer um embasamento maior para manuteno do software e prevenir a troca de
recursos. Caso um desenvolvedor resolva sair do projeto, por exemplo, todo o projeto
estar documentado e quem assumir estar munido de informaes para continuar o
projeto sem necessidade de perder muito tempo.
Apesar de os modelos de desenvolvimento terem atendido diversos problemas originados
pela Crise do Software, eles possuem limitaes que na prtica acabam no atendendo as
necessidades de uma equipe tcnica, podendo at mesmo inviabilizar os projetos de desenvolvimento em funo dessas deficincias.
Levando em considerao que o processo de desenvolvimento bastante mutvel, ele
acaba demandando muito tempo de trabalho, pois frequentemente h o surgimento de
novos requisitos por parte do cliente, tanto funcionais como no funcionais, assim como a
no conformidade de algumas solicitaes resulta na necessidade de alterao constante na
documentao e no produto em si.
Vantagens e desvantagens
As vantagens principais das metodologias de desenvolvimento tradicionais so: reduo
de riscos envolvendo custos a um nico incremento e acelerao do tempo de desenvolvimento do projeto como um todo, visto que os desenvolvedores trabalham de maneira
mais eficiente quando buscam resultados objetivos.
Quando se segue uma metodologia moderna como o Rational Unified Process (RUP), as
metodologias tradicionais incorporam uma srie de outros benefcios, tais como:
Fundamentos do Scrum
22
Exerccio de fixao e
Que metodologias de desenvolvimento so utilizadas na sua organizao?
Voc enxerga vantagens e desvantagens no seu uso? Quais?
defendendo processos simplificados, com foco nas pessoas que compem o processo
e, principalmente, no programador. Tambm chamada de metodologia de desenvolvimento leve, as metodologias geis propem a execuo dos passos do projeto em
paralelo, e sua principal caracterstica o menor esforo documentao.
A documentao do projeto tende a ser simplificada e orientada pelo cdigo-fonte.
A crtica mais frequente s metodologias tradicionais que so burocrticas. Para seguir
a metodologia, produzida grande quantidade de material, que faz diminuir a velocidade de desenvolvimento.
Arquitetura /
Projeto
Levantamento
Requisitos
Prototipao
Validao
do cliente
Implantao
Testes
Desenvolvimento
Captulo 2 - O Scrum
Figura 2.1
Fases de uma
metodologia
tradicional.
23
software, que se uniram para encontrar valores e princpios relacionados ao desenvolvimento, que escreveram o Manifesto gil. Esse manifesto destacava quatro valores:
11 Software funcional em vez de documentao detalhada;
11 Colaborao ao cliente em vez de negociao de contratos;
11 Indivduos e iteraes em vez de somente processos e ferramentas;
11 Responder s mudanas em vez de seguir um plano minuciosamente detalhado
inicialmente.
entanto, no contra
documentao. Ele diz
claramente: Nenhum
documento gerado a
no ser que seja
necessrio e significante.
24
conflitos, riscos e negligncias. Esses riscos podem ser reduzidos atravs de mtodos
guiados por documentao, planejamento e reviso na arquitetura.
As metodologias geis abordam o desenvolvimento de uma lista de prioridades e funcionalidades, para que o cliente defina e classifique o que prioritrio para ele. Tal definio
atualizada constantemente no incio de cada ciclo.
lO Manifesto gil, no
Alm da combinao do processo adequado com bons profissionais, preciso que toda
a equipe possa interagir perfeitamente entre si. Comunicao mais importante que
simples talento para programao. Um desenvolvedor que consegue se relacionar bem
e trabalha bem em equipe tipicamente mais produtivo que um excelente programador
que s consegue trabalhar sozinho. Comunicao o principal valor dos Processos geis
e a maneira mais rpida de se obter informaes.
Alm disso, as responsabilidades e decises so compartilhadas por toda a equipe, mostrando que todos esto envolvidos no processo e trabalhando em grupo. Assim, para a
seleo dos funcionrios envolvidos, deve-se levar em considerao o perfil, a competncia,
o comportamento individual e em equipe, e o profissional deve ser comunicativo. Obviamente,
uma organizao em transio deve ser capaz de treinar os seus profissionais no entanto,
fundamental que todos estejam motivados, seja com o apoio de outros membros da
equipe ou com o material e equipamento.
Outra caracterstica a iterao. Aps cada iterao, deve ser possvel apresentar um prottipo para o cliente e coletar o seu retorno. Como j dito anteriormente, nas metodologias
geis, criada uma lista de prioridades de funcionalidades de acordo com o que o cliente
julga como prioritrio para ele. Tal lista atualizada constantemente a cada iterao, permitindo acrescentar novos requisitos e mudanas, ajustando as prioridades. Dessa maneira,
o gerente de projeto pode garantir que a equipe de desenvolvimento esteja trabalhando de
acordo com os aspectos que o cliente considera mais significativo.
Um processo gil consiste em entregas rpidas e constantes. Entrega-se no incio do
projeto o primeiro sistema, ou parte do sistema, j com algumas funcionalidades desenvolvidas, sendo que novos pacotes de funcionalidades continuam sendo desenvolvidos e
integrados ao mdulo anterior no decorrer do tempo.
possvel afirmar que tais projetos tero mais sucesso quando se adaptarem a essas
mudanas. Flexibilidade fator fundamental para o sucesso em projetos, pois determina
elas apaream durante o desenvolvimento e os testes. Os participantes no temem as
mudanas, pois assumem que elas so indicadores de que a equipe est aprendendo
sobre o sistema, tentando atingir a satisfao do cliente.
Captulo 2 - O Scrum
25
Acerca da existncia de planos, o Manifesto gil no contra. Ele defende que planos sejam
esboados, mas que, como no possvel prever o futuro, as vises desses no devem ir
muito longe.
O planejamento, portanto, deve ser de curto prazo, em virtude das alteraes que
Velocidade e qualidade
Ora, para garantir um desenvolvimento rpido, necessrio um software limpo e mais
Vantagens e desvantagens
As vantagens da Metodologia de Desenvolvimento gil so:
11 Receptividade s mudanas;
11 Orientada s pessoas, no aos processos;
11 Complementada por checagens dinmicas;
11 Equipes de desenvolvimento menores;
11 Com foco para o compartilhamento do conhecimento;
11 Feedback praticamente instantneo;
11 Verses teis;
11 Viso clara de riscos e incertezas na arquitetura do projeto;
11 Poder ser considerada uma soluo de valor agregado;
11 Uma verso poder ser entregue ao cliente em um tempo menor do que uma verso
desenvolvida com a metodologia pesada;
11 So adaptveis, favorecendo o aprendizado dos envolvidos, aprimorando o projeto e
formando assim um ciclo de projeto.
O gerente do projeto no precisa desenvolver um projeto pesado de documentao pelo
Fundamentos do Scrum
contrrio, ele s precisa ter foco no absoluto necessrio, como a programao das tarefas.
26
No entanto, a grande limitao das metodologias geis a maneira como elas manipulam
grandes equipes. Metodologias pesadas e seus mtodos pr-guiados se adaptam melhor s
dificuldades de comunicao, algo extremamente complexo, entre pessoas em projetos que
contam com mais de vinte desenvolvedores.
Como a prioridade mxima das metodologias geis satisfazer o cliente, fornecendo o mais
Exerccio de fixao e
Voc acredita que a sua organizao e os seus clientes se beneficiariam da
adoo de uma metodologia como o Scrum?
Histrico do Scrum
O Scrum foi a princpio concebido como um estilo de gerenciamento de projetos em
Captulo 2 - O Scrum
O primeiro artigo
sobre o tema foi
Scrum and the Perfect
Storm, publicado na
revista OOPSLA pela
Object Management
Group (OMG).
Custo
Figura 2.2
Restrio tripla em
projetos.
Prazo
Porm, a filosofia da Toyota vai de encontro a isso. A empresa trabalhou para quebrar
a restrio tripla como um tringulo de ferro e uniu todas essas pontas, buscando
qualidade, entrega rpida, variedade de produtos e preo baixo. nesse sentido que a
Toyota e o Scrum caminham juntos o sistema da Toyota baseado na quebra da restrio tripla, buscando maximizar todas as variveis da restrio tripla ao mesmo tempo,
reduzindo custos, tempo e barreiras funcionais atravs de um processo interativo que
inspeciona, junto com o cliente, cada passo do processo, para alcanar um resultado
final com qualidade.
Exerccio de fixao e
Como eliminar a restrio tripla na sua organizao?
Enfrentar e alinhar a gesto e o controle da estrutura do cliente so as partes mais
difceis do Scrum. A equipe deve ser auto-organizada, e isso mais fcil de conseguir
em organizaes emergentes, pois estas tm uma facilidade maior de se auto-organizar
Fundamentos do Scrum
atravs da ao local. Caso se pare para reparar as pessoas na linha de frente, geral-
28
Takeuchi e Nonaka argumentam que h alguns sinais que podem ser identificados para
Exerccio de fixao e
Voc acredita ser possvel ter uma equipe auto-organizvel na sua organizao?
Qual o contexto para possibilitar tal auto-organizao?
Em alguns casos, o trabalho de remover a gesto rduo no entanto, tornar os partici-
pantes independentes e com liberdade colabora para que o projeto tenha um resultado
de sucesso.
A perspectiva diversificada na Toyota e no Scrum vem dos times de funcionalidade mltipla:
quando a Toyota comeou a desenvolver o projeto Prius, trouxeram um engenheiro chefe que
no sabia nada sobre o projeto. Por desconhecer o projeto, ele precisava montar uma equipe
com os melhores e mais capazes membros da organizao, reuni-los em uma sala para que
eles o dissessem o que fazer.
Mesmo sendo o engenheiro o mais experiente do grupo, ele precisava deixar que o projeto
se desenvolvesse a partir daquela equipe diversificada uma caracterstica tpica do Scrum.
No Scrum, todos so parte do processo, a equipe tem uma estrutura vertical e, portanto,
todos esto no mesmo patamar, trabalhando juntos: gerentes, clientes, pessoal da instalao, suporte, entre outros.
O nome Scrum foi inspirado em uma jogada do Rugby a figura 2.3 mostra como um
Scrum no Rugby. Essa analogia feita entre uma jogada de Rugby e o Scrum tem dois fundamentos: o senso de equipe e as constantes reunies em crculo durante o jogo.
q
Captulo 2 - O Scrum
Origem do nome
29
Senso de equipe
O Scrum no Rugby consiste em uma equipe de oito jogadores abraados, que realizam
uma fora, onde o objetivo empurrar o outro time. Essa jogada s eficaz quando
todos os jogadores fazem fora ao mesmo tempo e na mesma direo, fazendo com que
a soma das foras individuais sejam maiores que as do time adversrio, e consigam
assim pegar a bola.
Podemos concluir que o desenvolvimento de um software realmente se tornou um
esporte em equipe. O estilo de corrida de revezamento aplicado ao desenvolvimento
de produtos pode conflitar com o alcance do objetivo final.
Essa corrida em estilo holstico, onde a equipe busca, como em um jogo de Rugby,
de forma integrada, chegar ao gol, com passes de bola, pode servir melhor s atuais
necessidades competitivas.
Reunies constantes
No jogo de Rugby, os jogadores se organizam em crculo para planejar a prxima jogada.
uma forma de mostrar que o projeto deve ser conduzido em pequenos crculos, mas
com uma viso de longo prazo, que ganhar o jogo. O mesmo ocorre na metodologia
Fundamentos do Scrum
Scrum: cada interao uma forma de recomear a partida reunindo todos os jogadores
30
aps um incidente ou quando a bola sair de campo. A ideia bsica reunir os desenvolvedores e deixar o jogo continuar acontecendo.
A Metodologia Scrum apenas estabelece conjuntos de regras e prticas de gesto que
devem ser adotadas para garantir o sucesso de um projeto. No entanto, esse mtodo no
requer nem fornece qualquer tcnica ou mtodo especfico para a fase de desenvolvimento de software.
Figura 2.3
Exemplo de Scrum.
O processo
Ken Schawber defende que Scrum no uma metodologia em si, mas um framework.
Scrum no vai dizer exatamente o que fazer, mas dar um conjunto de diretrizes que
podem ser seguidas e adaptadas para uma realidade especfica do projeto.
Na concepo desse autor, Scrum enquadrado como um processo para gerenciamento
de projetos geis. De maneira semelhante, no vai resolver todos os problemas, mas, se
bem adequado realidade de projeto, certamente os problemas sero mais facilmente
identificados.
Para Martins, Scrum um processo bastante leve para gerenciar e controlar projetos de
desenvolvimento de software e para criao de projetos de produtos. O Scrum segue a filosofia iterativa e incremental, se concentrando no que realmente importante: gerenciar o
projeto e criar um produto que acrescenta valor para o negcio. O valor decorre da funcionalidade propriamente dita, do prazo em que ela necessria, do custo e da qualidade.
Ou seja, a abordagem do Scrum oposta do modelo em cascata, j que inicia a anlise
assim que alguns requisitos esto disponveis. Depois que alguma anlise foi realizada,
inicia-se rapidamente os trabalhos de projeto tcnico (design), e assim por diante. Em
outras palavras, o projeto trabalha em pequenos ciclos de cada vez, at a concluso do
projeto final. Essa abordagem pode ser chamada de iterativa, e cada iterao consiste na
captura de requisitos, um pouco de anlise, um pouco de design e mais alguma programao e testes, culminando em um ciclo iterativo com vrias entregas.
Emprico
Segundo Cruz, existem dois tipos de processos: definidos e empricos. Processos defi-
nidos determinam o que deve ser feito, quando e como. Para um mesmo conjunto de
variveis de entrada, podemos esperar o mesmo resultado sempre. Um exemplo bem
conhecido de processo definido a metodologia RUP. De acordo com Highsmith (2004),
um processo de desenvolvimento de software extremamente bem definido tem uma
probabilidade de sucesso drasticamente reduzida quando utilizado no desenvolvimento
de um produto.
O Scrum utiliza uma implantao de um controle descentralizado que lida de forma eficiente com situaes menos previsveis, o que aparece como uma possvel soluo para
atacar esse problema.
Ora, de acordo com Schwaber (2004), o principal objetivo do Scrum o desenvolvimento de
sistemas de software envolvendo uma poro de vrias tcnicas e de ambiente, como requisitos, tecnologia e recursos, que podem mudar durante o processo. O foco desse mtodo
encontrar uma maneira de os membros da equipe trabalharem para produzir o sistema de
forma flexvel e em ambiente passvel de sofrer mudanas constantes o resultado desse
trabalho deve ser um sistema de software realmente til para o contratante.
Captulo 2 - O Scrum
Nesse sentido, os processos empricos devem ser utilizados sempre que os processos
circunstncia. usado para trabalhos complexos nos quais impossvel predizer tudo o
que vai acontecer durante o desenvolvimento do sistema de software.
31
De acordo com Beedle (2001), Scrum um mtodo de desenvolvimento gil que procura
uma forma de lidar com o caos, em detrimento a um processo bem definido, cuja funo
primria ser utilizado em gerenciamento de projetos de desenvolvimento de sistemas
de software. Ele tem sido utilizado com sucesso para esse fim e pode ser utilizado em
qualquer situao em que um grupo de pessoas precise trabalhar juntas para atingir um
objetivo comum.
Iterativo e incremental
Em virtude da complexidade, tamanho, mudanas de requisitos, urgncia e necessidade
de demonstrar valor mais rpido para o cliente, fica quase inconcebvel desenvolver
software utilizando o modelo cascata, ou seja, desenvolver software de uma nica vez.
A metodologia considera um modelo iterativo e incremental por uma questo de estratgia de planejamento. O modelo segue uma filosofia: dividir para conquistar, onde o
projeto divido em blocos, em ciclos, onde a cada iterao feito um novo incremento
(parte do software funcional) at completar o software.
Para esclarecer os conceitos de incremental e iterativo, segue uma figura retirada de um
trabalho da Agile Way, um portal sobre metodologias geis. Nela, podemos ter uma ideia
melhor do que significam esses conceitos. Com respeito ao conceito de incremental, a
cada ciclo vai aumentando e no final completa-se o objetivo. Com respeito ao conceito de
iterativo, a cada ciclo melhora-se o trabalho, chegando a um objetivo com mais qualidade.
Entrega 1
Entrega 2
Entrega 3
Plano incremental
Plano de iterao
Figura 2.4
Incremental
e iterativo
diferenas.
Fases do Scrum
Fundamentos do Scrum
anterior;
Tamanho de projetos
Scrum uma metodologia que se aplica a projetos de qualquer tamanho, realizando uma
avaliao correta do ambiente em evoluo. Adapta constantemente o caos de interesses
e necessidades, e indicado e utilizado para o desenvolvimento de software em ambientes
complexos, onde os requisitos mudam com certa frequncia, sendo o caminho utilizado
para aumentar a produtividade nesses tipos de sistemas.
Atividades prticas e
Cenrios para levantamento de requisitos
A partir de requisitos, escrever User stories. Cenrios (Sprint previamente finalizada)
para clculo de Burndown a partir do Tuleap. Cenrios (idem) para clculo de Velocidade.
Captulo 2 - O Scrum
33
34
Fundamentos do Scrum
3
Entender a Metodologia do Scrum; Papis, Cerimnias e Artefatos do Scrum
conceitos
que a compem. Dessa forma, torna-se possvel familiarizar-se com os termos que sero
utilizados. A metodologia formada por Papis, Cerimnias e Artefatos, e cada um deles
se subdivide em insumos menores, conforme a lista a seguir:
11 Papis:
22 Product Owner (Proprietrio do produto);
22 Scrum Master;
22 Equipe de Desenvolvimento;
22 Cliente.
11 Cerimnias:
22 Reunio de planejamento do Sprint;
22 Reunies dirias de Scrum (Daily);
22 Reunio de Reviso do Sprint.
11 Artefatos:
22 User Stories (Histria);
22 Planning Poker;
22 Sprint;
22 Product Backlog;
22 Sprint Backlog;
22 Burndown Chart.
Captulo 3 - A metodologia
objetivos
A metodologia
35
Papis
Como j mencionado anteriormente, a metodologia define como a equipe deve trabalhar.
O primeiro passo para o desenvolvimento baseado no Scrum definir quem vai fazer o
qu. A metodologia define dois tipos de papis bsicos:
11 Principais;
11 Auxiliares.
Papis principais so os profissionais que fazem parte da equipe do fornecedor ou seja,
so aquelas pessoas comprometidas com o projeto no processo do Scrum. Produzem o
produto em si, o objetivo final do projeto.
J os papis auxiliares so aqueles sem papel formal e nenhum envolvimento frequente
no processo Scrum, mas que ainda precisam ser levados em conta.
Product Owner
Podemos dizer que o Product Owner um analista de negcio e um profissional com
Scrum Master
o lder da equipe de desenvolvimento, geralmente o programador ou analista de sistemas
mais experiente da equipe. responsvel por garantir a aplicao das prticas do Scrum,
assim como repassar os ensinamentos da metodologia para os outros membros do
projeto. Gerencia e delega as atividades que foram definidas durante o planejamento
Fundamentos do Scrum
11 Identificar novas tarefas, prioriz-las e alterar qualquer estimativa que possa ter
mudado. Isso permite a ele atualizar sempre o Burndown Chart (veremos esse termo
em detalhes no tpico de Artefatos);
11 Tomar aes para tarefas em aberto e computar quantas tarefas esto em aberto com
o objetivo de minimiz-las o mximo possvel para garantir um trabalho eficiente;
11 Avaliar as pendncias e obstculos que causam prejuzos ao andamento do projeto.
Essas pendncias e obstculos devem ser listados, para receber nveis de prioridade
e ser acompanhados com o objetivo de minimiz-los o mais rapidamente possvel, a
fim de serem solucionados. Um plano de ao deve ser implementado de acordo com
a ordem de prioridade desses impedimentos. Alguns podem ser resolvidos pelo time,
outros atravs de vrios times, e outros precisam do envolvimento da gerncia ou at
do cliente, pois podem ser problemas que no so da alada da equipe e, portanto,
podem correr o risco de causar um bloqueio no andamento do projeto;
11 Efetuar a gesto das pessoas, percebendo e resolvendo problemas pessoais ou conflitos
entre os integrantes do time do desenvolvimento Scrum. Caso o Scrum Master no
consiga resolver algum tipo de problema, deve solicitar ajuda gerncia ou do departamento de Recursos Humanos. Alguns estudos apontam que 50% dos problemas de
desenvolvimento acontecem por razes pessoais, ento o Scrum Master precisa estar
sempre atento ao time para maximizar a produtividade e motivao da equipe.
Equipe de desenvolvimento
Tambm conhecida como Scrum Team, correspondem aos membros encarregados por
Como j falamos, por ser multifuncional, a equipe de desenvolvimento Scrum deve ser
composta por profissionais dos mais variados perfis, incluindo, mas no se limitando a:
11 Programadores;
11 Testadores;
11 Analistas;
11 Desenvolvedores de interfaces;
11 Administradores de bancos de dados.
Captulo 3 - A metodologia
37
podemos visualizar na figura 3.1, o projeto anda mais rpido, pois profissionais de diferentes especialidades trabalham juntos para cumprir uma tarefa. O sentido de equipe
exatamente esse os membros compensam entre si as competncias e as carncias, em
um aprendizado mtuo e contnuo.
Time no Multifuncional
Sprint 4
Sprint 1
Sprint 2
Sprint 3
Anlise
Cdigo
Testa
Anlise
Cdigo
Testa
Anlise
Cdigo
Testa
Sprint 4
Sprint 5
Sprint 5
Time Multifuncional
Sprint 1
Sprint 2
Sprint 3
Anlise
Anlise
Anlise
Cdigo
Cdigo
Cdigo
Testa
Testa
Testa
Cerimnias
A equipe tambm tem a responsabilidade de participar das cerimnias. Essas so
Figura 3.1
Diferena de
velocidade entre
equipes no
multifuncionais e
multifuncionais.
38
11 Product Owner;
11 Cliente (e outras quaisquer partes interessadas, como diretores ou representantes
do cliente);
11 Scrum Master;
11 Equipe de desenvolvimento.
em conjunto com o cliente para levantar todas as funcionalidades que o cliente deseja
e assim criar uma lista de funcionalidades requeridas. Em seguida, so selecionadas as
funcionalidades que devem ser entregues na prxima Sprint e definidas as prioridades
de cada funcionalidade de acordo com as necessidades do cliente. Essa lista final o que
chamamos de Product Backlog, e a base da segunda parte da reunio.
Na segunda etapa, o Scrum Master trabalha junto com o Product Owner e a Equipe de
Desenvolvimento para determinar como as tarefas devem ser executadas e o tempo
que cada funcionalidade do Product Backlog demandar para ser concluda. Isso ajuda o
Product Owner a definir prazos reais para o projeto e permite acompanhar o andamento
do projeto durante todo o perodo de desenvolvimento.
Aps a confeco do Product Backlog com as prioridades e prazos relacionados, a
reunio continua apenas com Scrum Master e a Equipe de Desenvolvimento. O Scrum
Master quebra cada tarefa em pequenas tarefas, delegando-as aos respectivos profissionais.
Assim, a reunio de planejamento da Sprint tem duas partes. As primeiras quatro horas
so gastas com o Product Owner apresentando a maior prioridade do Product Backlog
para a equipe, incluindo questionamentos da equipe sobre o contedo, propsito, significado e as intenes do Product Backlog. Quando a equipe sabe o suficiente, mas dentro
dessas primeiras quatro horas, a equipe seleciona tanto do Product Backlog quanto
acredita que pode se transformar em um incremento completo de funcionalidade do
produto potencialmente utilizvel at o final do Sprint.
Durante a segunda parte de quatro horas de reunio de planejamento do Sprint, a
equipe planeja, de fato, a Sprint. Como a equipe responsvel pela gesto do seu
prprio trabalho, ela precisa de um plano provisrio para iniciar a Sprint. As tarefas
que compem esse plano so colocadas em um Sprint Backlog; as tarefas dessa Sprint
Backlog vo emergir medida que a Sprint evolui. No incio do segundo perodo de
quatro horas da reunio de planejamento do Sprint, na verdade j se considera que a
Sprint comeou, e o relgio est correndo em direo Sprint de 30 dias.
Como a equipe de desenvolvimento auto-organizada, deve informar as horas gastas
em cada tarefa e o Scrum Master a ajuda a definir o tempo baseado no grau de dificuldade da funcionalidade e do nvel de produtividade de cada profissional. A equipe de
de qualquer desvio que saia do objetivo previamente definido.
Essa reunio dura at 8 horas, e ela que define o Sprint Backlog. Para validar se todos
os pontos que devem ser abordados em reunio foram concludos, interessante fazer
um checklist da reunio respondendo s seguintes questes:
11 A viso do produto foi completamente entendida?
11 Todas as funcionalidades que o cliente deseja foram levantadas?
Captulo 3 - A metodologia
39
11 Os itens do Product Backlog que sero entregues na prxima Sprint foram selecionados?
11 Scrum Master;
11 Equipe de desenvolvimento.
Uma das principais caractersticas da metodologia so as reunies dirias de Scrum,
onde o Scrum Master se rene com a equipe de desenvolvimento para avaliar os progressos do projeto e possveis impedimentos que estejam atrapalhando o progresso
do trabalho de desenvolvimento.
As regras para as Daily so:
11 Essas reunies acontecem todos os dias durante o ciclo de desenvolvimento;
11 So tipicamente rpidas e objetivas;
11 A ideia que os participantes estejam de p durante a reunio;
11 Ocorrem preferencialmente no turno da manh;
11 Tm uma durao de no mximo 15 minutos, para evitar perder o foco do que est
sendo desenvolvido e divergncias de assuntos.
A reunio diria de Scrum uma maneira eficiente de manter os membros cientes dos
objetivos e forar que os profissionais no percam o foco. Elas no representam uma
forma de cobrana vinda de um gerente de projetos, mas uma maneira de sincronizar a
equipe s tarefas e relatar os impedimentos que possam estar interferindo no anda-
Fundamentos do Scrum
mento da Sprint. Uma reunio diria de Scrum tpica pode ser encontrada na figura 3.2.
40
Figura 3.2
Reunio diria de
Scrum
(Daily Scrum).
11 O que voc fez nesse projeto desde a ltima reunio diria do Scrum?
11 O que voc planeja fazer nesse projeto entre agora e a prxima reunio diria do Scrum?
11 Que obstculos se interpem no caminho da equipe para atender seus compromissos a esse Sprint e esse projeto?
Como se pode imaginar, o Scrum Master tem um papel muito importante nessas
reunies, pois o responsvel por identificar todos os problemas ou novas tarefas que
surgirem e replanejar o plano da Sprint atual, remanejando o Task Board e o grfico de
Burndown, artefatos que estudaremos na prxima sesso.
Captulo 3 - A metodologia
nos itens do Product Backlog ou funcionalidades que no foram entregues como esperado
41
revisa os altos e baixos do ciclo. O time conversa para analisar os pontos positivos e como
pode melhorar ainda mais o ambiente de trabalho, as ferramentas e o convvio entre as
partes, bem como suas funes. Trata-se basicamente de uma parte de um aprimoramento interno.
Parte de qualquer projeto gil de gesto, a retrospectiva do Sprint uma reunio em
que o Scrum Master, o proprietrio do produto e a equipe de desenvolvimento discutem
como a Sprint acontecem e como podem melhorar na prxima. Se a equipe Scrum interage regularmente com os agentes externos, as percepes dessas partes interessadas
podem ser bastante valiosas e elas podem merecer um convite para a retrospectiva.
O objetivo da retrospectiva da Sprint melhorar continuamente os processos. Melhorar
e personalizar os processos de acordo com as necessidades de cada equipe Scrum
individualmente aumenta a moral da equipe Scrum, melhora a eficincia e aumenta a
velocidade ou seja, a produo de trabalho.
importante entender que os resultados encontrados nas retrospectivas de Sprint podem
ser nicos para equipes diferentes de Scrum. Por exemplo, uma equipe pode decidir entrar
em trabalho cedo e sair mais cedo em determinado dia: ou fazer o oposto. A flexibilidade
para trabalhar quando a equipe se sente mais produtiva pode aumentar a motivao e a
velocidade de trabalho. importante lembrar tambm que abordagens geis rapidamente
revelam problemas dentro de projetos dados do Sprint Backlog mostram exatamente
onde a equipe de desenvolvimento mostrou pioras ou melhoras.
A reunio de retrospectiva da Sprint orientada ao e deve cobrir trs perguntas
principais:
11 O que deu certo durante a Sprint?
11 O que gostaramos de mudar?
11 Como podemos implementar tal mudana?
Dica: para a primeira retrospectiva da Sprint, todos na equipe scrum precisam considerar as
trs perguntas antes da reunio iniciar. Assim, bom o Scrum Master enviar as perguntas
antecipadamente, para que todos na equipe de Scrum faam algumas notas de antemo
ou at mesmo tomem notas durante toda a Sprint. Uma boa estratgia anotar os impedimentos encontrados durante as reunies dirias e tentar encontrar possveis pontos de
Fundamentos do Scrum
42
Artefatos
Os artefatos do Scrum so as ferramentas bsicas para se trabalhar com esse modelo
Nesta sesso,
estudaremos cada um
deles em detalhes.
11 Product Backlog;
11 Sprint Backlog;
11 Burndown Chart.
que detalha um item do Product Backlog. Esse item posteriormente virar uma funcionalidade ou mais. tipicamente narrada pelo cliente e o Product Owner, atravs de
tcnicas de levantamento de requisitos, o ajuda a detalhar e extrair pontos importantes
para composio de funcionalidades do sistema para o tornar legvel em um formato
que se torne til o suficiente para suportar o negcio.
As user stories ajudam no entendimento das atividades de negcio e tambm so
utilizadas como suporte para atividades de planejamento. So usadas como base para
clculo de velocidade da equipe. Usualmente, a estimativa feita em pontos, os denominados story points, embora tambm possam ser feitos em horas.
Captulo 3 - A metodologia
11 Sprint;
43
Uma dica para escrever uma boa histria conversar sobre ela, entre os desenvolvedores e os
clientes, de forma a detalhar os itens e esclarecer todas as dvidas sobre o que deve ser feito.
Antes de se reunir com o cliente, o proprietrio do produto e a equipe de desenvolvimento devem
preparar um questionrio com perguntas que auxiliam o cliente a lembrar de fatos que podem
passar despercebidos, mas que podem ter sido importantes para o desenvolvimento do produto.
Exemplo: Eu gostaria de efetuar um oramento automaticamente, a partir de um cliente
ou servio. Gostaria de poder enviar o oramento para o cliente sem precisar nem entrar
em contato. Eu acho que passo muitas horas calculando o total do oramento, pois por
serem muitos, eu nunca tenho os preos atualizados.
Seria difcil dar incio ao desenvolvimento baseado apenas nesse pequeno texto.
Baseado nesse exemplo, seguem os tipos de questes que a equipe pode aplicar para
extrair mais informaes teis para o projeto:
11 Voc faz o oramento sempre para os mesmos clientes?
11 No sistema atual voc est acostumado a fazer pesquisa de servios atravs de
quais atributos?
11 Um produto fornecido apenas por um fornecedor?
11 O cliente sempre compra os mesmos servios?
11 possvel enviar o oramento por e-mail ou atravs de interface para o cliente;
porm, como voc pretende receber a autorizao? Via interface grfica, e-mail, ou
atravs de um contato fora do sistema?
11 Os preos dos servios so muito dinmicos?
11 Os preos dos servios so personalizados para cada cliente?
11 Voc j tem um cadastro de servio no software atual?
comum que os detalhes sejam expressos em histrias futuras. melhor ter muitas histrias menores do que ter poucas histrias grandes. tambm importante lembrarmos que a
comunicao cara a cara um dos princpios da filosofia gil e, por isso, em vez de escrever
todos os detalhes na user story, o melhor a fazer reunir a equipe de desenvolvimento e o
cliente e garantir uma discusso sobre os detalhes, j definindo as funcionalidades.
Partindo desse exemplo de user story, poderamos definir as seguintes funcionalidades:
11 Manter cliente:
22 Consultar cliente.
11 Manter servio:
22 Cadastrar servio;
22 Atualizar preo do servio;
22 Excluir servio;
Fundamentos do Scrum
22 Consultar servio.
11 Manter oramento:
22 Criar oramento;
22 Calcular oramento;
22 Enviar oramento;
22 Excluir oramento;
22 Consultar oramento;
22 Autorizar oramento.
44
interessante que o proprietrio do produto faa uma espcie de estgio no cliente para
vivenciar a atividade no negcio e assim consiga ser mais sensvel s necessidades.
Um princpio-chave no Scrum o reconhecimento de que, durante um projeto, os clientes
podem mudar de ideia sobre o que eles querem e precisam (muitas vezes, chamados de
requirements churn do ingls requisitos agitados), e que os desafios imprevisveis no
podem ser facilmente tratados de uma maneira preditiva ou planejada. Como tal, o Scrum
adota uma abordagem emprica, aceitando que o problema no pode ser totalmente entendido ou definido, focando na maximizao da habilidade da equipe para entregar rapidamente e responder as necessidades emergentes.
As user stories devem ser compreensveis por todos os envolvidos: usurios, cliente
Planning Poker
O Planning Poker basicamente a atribuio de pontos s user stories. uma prtica
que ajuda na estimativa de uma histria ou de uma tarefa. Tais pontos representam um
grau de dificuldade de uma funcionalidade perante o projeto.
Planning Poker no Scrum rene vrias opinies de especialistas para a estimativa gil de
um projeto. Nesse tipo de planejamento, que deve incluir todos, desde programadores,
testadores e engenheiros de banco de dados com analistas e designers de interao
do usurio. Como esses membros da equipe representam todas as disciplinas de um
projeto de software, eles so adequados para a tarefa de estimativa.
A dinmica do Planning Poker como segue: inicialmente, a equipe do projeto deve
definir uma escala para o Planning Poker. Normalmente, esse usa uma escala de pontos
no linear, como, por exemplo:
Em segundo lugar, devem-se definir valores de referncias. Como, por exemplo: identificar
uma user story qual pode ser atribuda o menor valor (10 pontos), outra que representa
um valor mediano (50 pontas) e outra qual representa o valor mximo (130 pontos). Dessa
forma, essas histrias sero utilizadas como referncias para pontuao de demais user
stories que apaream durante o processo de estimativa nas reunies de planejamento.
Captulo 3 - A metodologia
45
cartes de Planning Poker. Cada carto tem uma das estimativas vlidas sobre ela,
como as recm-descritas. Para cada histria de usurio ou tema a ser estimado, um
moderador (geralmente o Product Owner ou o Scrum Master) l a descrio. Haver
alguma discusso, onde o moderador responde a quaisquer perguntas dos avaliadores.
Mas o objetivo de Planning Poker no Scrum no para derivar uma estimativa de que vai
resistir a qualquer controle futuro. Em vez disso, a ideia obter uma estimativa valiosa
que pode ser alcanada de forma barata.
Aps a discusso, cada um estimador seleciona de maneira privada um carto representando sua estimativa. Uma vez que cada estimador fez uma seleo, os cartes so
simultaneamente virados e mostrados, de forma que todos os participantes podem ver
a estimativa uns dos outros. Nesse ponto, provvel que as estimativas provavelmente
sejam significativamente diferentes, e isso aceitvel. O moderador deve encorajar
que as estimativas marginais expliquem as suas perspectivas para que a equipe possa
entender o porqu de nmeros mais discrepantes. O moderador toma notas durante
essa sesso de planejamento gil, pois se imagina que isso ser til quando a histria for
programada e testada. No haver problemas se, aps discusses, quaisquer participantes decidirem mudar suas estimativas em funo de discordncias ou convencimentos comum em equipes geis.
Aps a discusso, uma nova rodada de estimativa deve acontecer e uma nova seleo
de carto pode ocorrer. Muitas vezes, as estimativas vo convergir na segunda rodada.
Seno, repita o processo at que a equipe concorde com uma nica estimativa a ser
usada para a user story. Raramente ser necessrio mais do que trs rodadas de discusses na estimativa para se alcanar a meta Sprint.
Sprint uma iterao, ou seja, um bloco de desenvolvimento em Scrum, que deve
ser completada em 15 dias ou em 1 ms. Como todos os processos geis, Scrum
uma abordagem iterativa e incremental ao desenvolvimento de software. Embora os
termos iterativo e incremental sejam normalmente utilizados em conjunto, cada um
deles possui um significado nico. Vamos brevemente provoc-los separados para que
possamos entender melhor seus significados.
O desenvolvimento incremental envolve a construo de um sistema pea por pea. Inicialmente desenvolve-se uma parte e, em seguida, um o bloco adicional adicionado primeira, e assim por diante. Alistair Cockburn (2008) descreve desenvolvimento incremental
principalmente como uma estratgia de encenao e de agendamento. Por exemplo, uma
abordagem incremental para o desenvolvimento de um site de leilo on-line pode envolver
inicialmente desenvolver a capacidade de criar contas no site. Depois, o desenvolvimento
da capacidade de listar itens para venda e, em seguida, a capacidade de oferta em itens, e
assim por diante.
Por outro lado, o desenvolvimento iterativo o que Cockburn refere-se como um retra Fundamentos do Scrum
46
impossibilidade ou, pelo menos, improbabilidade de se conseguir acertar o desenvolvimento de funcionalidade em sua inteireza da primeira vez. Dentro da construo de um site
de leilo on-line de forma iterativa, podemos primeiro desenvolver uma verso preliminar
do site completo, obter feedback sobre ele, desenvolver uma verso subsequente do site
completo que incorpora o feedback do cliente na segunda vez e repetir o processo, conforme necessrio.
11 Software funcional possibilita feedback: uma equipe pode coletar mais e melhor
feedback se mostra (ou melhor, entrega) um produto parcial em funcionamento para
os utilizadores do que se fornece a esses usurios documento sobre o que o produto
vai fazer;
11 Software funcional auxilia a equipe avaliar seu processo: um dos maiores riscos
em um projeto no saber o quanto ainda resta a ser feito. Quando se permite
muito de um sistema em estado inacabado, extremamente difcil saber o quanto de
esforo ainda resta para trazer o sistema para um estado potencialmente de entrega;
11 Software funcional permite que a equipe entregue o produto mais rapidamente
se desejar: no mundo competitivo e em rpida mudana de hoje, a opo de entregar
o produto precocemente, mesmo que isso signifique entrega de menos recursos,
pode ser muito valioso. Colocar o software em uma posio prxima a essa, no final
de cada Sprint, oferece essa opo.
Conforme vimos anteriormente, durante a reunio de planejamento da Sprint, so definidos os itens do Product Backlog que entraro para o Sprint. Nessa reunio, o Product
Owner informa a equipe dos itens no Product Backlog que o cliente deseja que sejam
priorizados. A equipe ento determina quanto eles podem se comprometer a concluir
durante a prxima Sprint e registram isso no Sprint Backlog.
Captulo 3 - A metodologia
Regras da Sprint:
47
um desafio muito grande, as equipes Scrum tambm devem entregar algo valioso para
os usurios ou clientes ao fim de cada Sprint em termos de sistema. A definio do que
valioso para usurios ou clientes pode ser estipulado muito facilmente e de forma
quase maliciosa.
Por exemplo, uma equipe pode argumentar que atualizar os desktops dos desenvolvedores para a verso mais recente de seu Sistema Operacional preferido lhes
permite desenvolver mais rapidamente para que os novos recursos se tornem disponvel aos clientes de maneira mais eficientemente. Embora isso possa muito bem ser
verdade, a inteno que, a cada Sprint, se deve entregar algo de valor imediato para
os usurios ou clientes que eles possam enxergar.
Prepare essa Sprint para a prxima
Esteja preparado. Passe um pouco de esforo em cada Sprint preparando-se para a
Fundamentos do Scrum
banco de dados? Outro?) E decidir em quantas Sprints de antemo que deve comear;
48
11 Nas suas prximas Sprints Reviews, discuta se cada item no Product Backlog possui detalhes suficientes includos detalhes suficientes e se ele foi adicionado apenas no tempo;
11 Para cada Sprint, necessrio controlar a quantidade de tempo gasto pensando no
futuro. Normalmente, cerca de 10% do tempo disponvel de uma equipe deve ser
gasto olhando para frente.
alterar o Sprint Backlog. Ou seja, a cada Sprint, os requisitos so congelados. O desenvolvimento de cada Sprint deve terminar no tempo predefinido em reunio. Caso os
para o Product Backlog.
A postura de Scrum de ser contra as alteraes meio do Sprint pode parecer prejudicial para
o sucesso do projeto. Afinal, s vezes as mudanas so to importantes que precisam ser
feitas. E outras vezes novas informaes podem tornar intil o trabalho no qual a equipe
est atualmente envolvida. No entanto, existem algumas excees.
Primeiro vamos considerar o caso de o Product Owner descobrir algum novo requisito
importante que precisa ser feito prioritariamente em vez do trabalho que a equipe est
Captulo 3 - A metodologia
requisitos no sejam finalizados por qualquer motivo, eles so deixados de fora e voltam
49
trabalhando. Antes de mais nada, o Scrum Master deve garantir que os objetivos da Sprint
atual sejam visveis e conhecidos por toda a organizao. Mas, quando isso acontecer, a
direo do Scrum anunciar uma finalizao anormal na Sprint, seguida imediatamente
pelo planejamento de uma nova Sprint para incluir a funcionalidade recm-descoberta de
mais alta importncia.
Garantir a visibilidade dos objetivos da Sprint importante porque torna menos
provvel de acontecer.
Em muitas organizaes, os nicos que veem o redirecionamento constante da equipe so
os membros da equipe em si. A abordagem Scrum de no permitir a mudana em um Sprint
Backlog, mas disponibilizar o encerramento anormal seguido de um novo comeo aumenta
a visibilidade de aumento de custos e frequncia de mudana. Isso deve dificultar a quantidade de mudanas lanadas contra a equipe no meio de uma Sprint, pois apenas mudanas
realmente mais importantes justificaro o encerramento anormal de uma Sprint.
No caso, quando novas informaes so aprendidas sobre o trabalho que est sendo realizado (que pode fazer o trabalho planejado menos desejvel), pode ser que a equipe aprenda
algo que significa que ele deve parar de trabalhar em alguma parte de uma Sprint. Por
exemplo, um objetivo da Sprint atual pode ser a de adicionar uma funcionalidade especial
especificamente para ajudar a fazer uma venda a um grande cliente. No meio da Sprint,
o cliente lhe diz que sua empresa tem tido um congelamento do oramento e no pode
comprar o seu produto, mesmo que tenha a nova funcionalidade, ou que ele foi adquirido e
ser forado a usar o produto do seu concorrente, ou qualquer das situaes semelhantes.
Nesses casos, pode fazer sentido parar de trabalhar nessa funcionalidade especfica, dependendo da convenincia geral para outros clientes e de quanto tempo o trabalho pode requerer.
No entanto, situaes como essas acontecem com menos frequncia do que a maioria das
pessoas que so novas para Scrum pensam. Uma situao muito mais comum a de ter um
negcio orientado a interrupes, mudanas, em que mudanas simplesmente continuam a
aparecer e que, por causa disso, os desenvolvedores e o resto da equipe tambm precisam ser.
Atravs dos anos, as organizaes se tornaram viciadas em redirecionar constantemente
suas equipes. Muitas vezes as equipes no so nem interrompidas porque o Product Owner
descobriu uma necessidade do cliente crtica ou outra interrupo vlida, mas simplesmente porque as partes interessadas no conseguiram pensar no futuro. Eles se tornaram
acostumados a trabalhar dessa forma e no esto cientes do impacto negativo que essa
abordagem tem sobre as suas equipes de desenvolvimento.
Em outras palavras, nada permitido mudar dentro da Sprint. A equipe compromete-se a
um conjunto de trabalhos no primeiro dia e, em seguida, espera que as suas prioridades
permaneam inalteradas durante a durao da Sprint. No entanto, embora no sejam permitidas alteraes na Sprint, o mundo inteiro pode estar mudando fora dela. Por fim, depois
Fundamentos do Scrum
50
Grande parte da aprendizagem ser sobre o produto: o que os usurios gostam? O que eles
no gostam? O que eles acham confuso? O que eles querem seguir? Quais so as caractersticas do novo incremento que pode ajud-los pensar acerca de coisas sobre as quais eles
no tinham pensado antes?
Talvez parte do aprendizado ser sobre o uso da equipe sobre o prprio Scrum: quanto
trabalho que podemos fazer em um sprint? O que fica no nosso caminho? O que poderia nos
ajudar a ir mais rpido? Estamos obtendo feito software a cada Sprint?
A prpria caracterstica do Scrum: ser de desenvolvimento iterativo e incremental sobre a
gerao de feedback, aprender com ele, e ento adaptar o que est sendo construindo e como
este est sendo construindo. Sprints fornecem s equipes os mecanismos para fazer isso.
Product Backlog
Uma equipe Scrum renuncia a uma longa fase de requisitos em favor de uma abordagem
Na reunio de
Planejamento, o
Product Owner prepara
uma lista de funcionalidades desenvolvida
em conjunto o cliente,
que organizada por
prioridade de entrega.
Esse o Product
Backlog.
mente o que eles querem. Isso no verdade! Na melhor das hipteses, os usurios recebero exatamente o que foi escrito, que pode ou no ser o que eles realmente querem. As
palavras escritas so enganosas parecem ser mais precisas do que realmente so.
11 Documentos escritos podem fazer voc suspender o julgamento: quando algo est
escrito, parece oficial, formal e finalizado, especialmente quando uma formatao
organizacional foi aplicada;
11 Com um documento escrito, no conversamos acerca do significado como faramos
em uma conversa, para garantir uma transferncia de entendimento;
11 Documentos escritos diminuem a responsabilidade da equipe como um todo: um
dos objetivos da mudana para o Scrum fazer com que toda a equipe trabalhe em
conjunto em direo ao objetivo de oferecer um grande produto. Queremos tirar do
processo de desenvolvimento maus hbitos que prejudicam esse objetivo. Documentos escritos criam transferncias sequenciais de atividade, que tiram a equipe
de uma unidade de propsito. Uma pessoa (ou grupo) define o produto; outro grupo
constri. A comunicao bidirecional desencorajada;
Captulo 3 - A metodologia
51
Tabela 3.1
Product Backlog.
Product Backlog
Fundamentos do Scrum
52
Prioridade
Estimativa
inicial (h)
Pr requisito
Cdigo
Ttulo
UC_01MC003
Manter Perfil
12
UC_01MC004
16
UC_01MC003
UC_01MC002
16
UC_01CT013
UC_01MC001
Painel de Rotas
22
UC_01CT013
UC_01CT013
UC_01CT014
10
UC_01CT015
12
UC_01CT016
Manter Caixa
18
UC_01CT023
UC_01CT024
Manter Vnculo
UC_01CT024a
Cancelar Vnculo
10
UC_01CT024b
UC_01CT024b
32
UC_01CT019
Manter Cubagem
28
UC_01CT020
Escanear Unidade
20
UC_01CT021
12
UC_01CT023
10
Sprint Backlog
Assim que a equipe Scrum escolher e definir a lista de requisitos e a prioridade de seus
itens no Product Backlog, d-se incio a um novo ciclo, chamado Sprint. Cada um desses
itens agora ser dividido em partes menores para o Sprint Backlog. Um documento
especificando o detalhe de cada funcionalidade do sistema, com informaes tcnicas
adicionais que auxiliaro no desenvolvimento.
A seguir, segue um exemplo de um Sprint Backlog, na tabela 3.2, da funcionalidade Consultar Caixa. No existe um padro, pode ser feito de vrias formas: Excel, Word, em um
quadro, post-it na parede, entre outros. O importante que as informaes se tornem
disponveis para controle do projeto.
Sprint Backlog
Funcionalidade (Use case)
Descrio
Cdigo
UC_01CT016
Ttulo
Manter Caixa
Prioridade
Estimativa inicial
18
Horas Trab.
Status
Pendente
Pr requisito
UC_01CT023
Menu
Regras
A equipe compila uma lista inicial dessas tarefas na segunda parte da reunio de planejamento do Sprint. As tarefas devem ser divididas de modo que cada um leva cerca de 4 a
16 horas para terminar. Tarefas que durariam mais de 4 a 16 horas so considerados meros
espaos reservados para as tarefas que ainda no foram adequadamente definidas.
Logo aps o Sprint Backlog estar concludo, preenchido o campo Horas Trab com a
quantidade de horas que a funcionalidade demandou para ser concluda. Sendo assim,
possvel comparar o total de horas trabalhadas com a estimativa pr-definida na reunio
de planejamento, dando oportunidade de melhorar futuras estimativas. Caso haja uma
diferena significativa, a equipe Scrum deve negociar novamente com o cliente uma
nova data de entrega.
importante selecionar uma pessoa para adicionar, atualizar e excluir informaes no
Sprint Backlog em uma planilha Excel ou em um aplicativo. No entanto, uma interface
comum, a que todos da equipe tenham acesso e possam editar os seus itens tambm
recomendado, para que os membros da equipe possam podendo incluir itens conforme
concluam suas atividades, como um quadro de cartes ou post-its ou um software que
simule essa interface, como mostrado na figura 3.3. Dessa forma, o responsvel pelo
Sprint Backlog pode, ao fim do dia, atualizar o arquivo.
Captulo 3 - A metodologia
Tabela 3.2
Sprint Backlog da
Funcionalidade
Consultar Caixa.
53
Mais Importante
Menos Importante
Manter Tipo
de Caixa
Cancelar Vnculo
Vincular Caixa
ao Pick List
Manter Caixa
Figura 3.3
Lista de prioridades
simulando quadro
de cartes post-its.
Release Burndown
considerado o principal grfico de controle do Scrum e representa o trabalho restante
dentro da Sprint de uma verso do sistema que ser entregue. No exemplo mostrado a
seguir, na figura 3.4, o eixo horizontal do grfico exibe as iteraes e o eixo vertical exibe
a quantidade de trabalho restante.
250
245
Horas Restantes
200
202
150
159
140
113
100
68
50
28
0
Release 5\
Sprint 1
Release 5\
Sprint 2
Release 5\
Sprint 3
Release 5\
Sprint 4
Release 5\
Sprint 5
Release 5\
Sprint 6
Release 6\
Sprint 1
Fundamentos do Scrum
De acordo com Mountain (2011), esse tipo de grfico funciona em muitas situaes e com
diversas equipes. Porm, em projetos com muitas mudanas de requisitos, talvez o grfico
no seja adequado, j que a quantidade de horas no vai refletir a ideia de um projeto que
se consome.
Segundo Highsmith (2004), uma das principais ferramentas de equipe para acompanhar o
projeto no Scrum o release burndown chart, que mostra o andamento dirio da equipe
por horas, de acordo com a soma das tarefas listadas no Sprint Backlog. A equipe tambm
possui uma task board onde as funcionalidades so colocadas separadas por estados.
54
Figura 3.4
Grfico de
Burndown em
Planejamento.
Grfico de Burndown
uma das principais ferramentas para o gerenciamento do processo de desenvolvimento,
pois permite mostrar as partes do trabalho que faltam para uma Sprint acabar, dia por dia.
um grfico que mostra a quantidade cumulativa restante de trabalho de uma Sprint,
diariamente, e permite visualizar o trabalho ainda no cumprida sobre o tempo, assim,
habilitando a avaliao sobre a quantidade restante de trabalho e o tempo restante para
completar uma Sprint. com base nesse grfico que se pode orientar e tomar decises
quanto modificao do escopo ou cancelamento da Sprint.
Sua atualizao deve ser diria para que assim a tomada de deciso seja realizada com
base em dados atualizados, melhorando a produtividade da equipe e habilitando a
previsibilidade de riscos. Durante as Scrums dirias, o Scrum Master acompanha os
membros da equipe para perceber o que foi concludo at aquele momento. Assim, dia a
dia, ele ajusta o grfico de Burndown e, a qualquer momento, todo o time pode ter uma
ideia do andamento do processo. O mesmo grfico pode ser mostrado para o Product
Owner visualizar a trajetria do projeto: atrasado, adiantado ou dentro do cronograma.
Em outras palavras, esse grfico informa se a equipe est aproximadamente dentro do
prazo, servindo como um sinal de alarme para o projeto. Atravs da leitura do Burndown,
decide-se adicionar novas tarefas na Sprint, se a velocidade da equipe estiver acima do
planejado, o que vai melhorar sua produtividade ou retirar tarefas, caso a velocidade
esteja a seguir do previsto, pois a meta da Sprint estar comprometida se a reduo de
tarefas no acontea. Segue-se a anlise de trs grficos de projeto que se encontram
em situaes diferentes.
Na figura 3,5, podemos perceber a linha real do andamento do projeto com muitos
pontos estimados, mas poucos pontos realizados ao longo dos dias, com relao queles
estimados inicialmente para a Sprint. Recomenda-se nesse caso a remoo de funcionalidades do Sprint Backlog, diminuindo o escopo da Sprint.
250
200
Pontos
150
100
0
Figura 3.5
Grfico de
Burndown
para Sprint
Superestimada.
Dias
Estimado
Realizado
10
11
12
13
14
Captulo 3 - A metodologia
50
55
Se, em caso contrrio, a linha real do andamento do projeto estiver muito acima da linha
estimada, deve-se aumentar o escopo da Sprint. A seguir, na figura 3.6, segue um exemplo
de projeto para a gesto de uma imobiliria em que o projeto foi sendo realizado antes do
estimado ou seja, muitos pontos foram sendo desenvolvidos antes do tempo pr-determinado. Nesse caso, possvel aumentar o escopo.
160
140
120
Pontos
100
80
60
40
20
0
10
11
12
13
14
Dias
Estimado
Realizado
O ideal em situaes assim retirar tarefas de alta prioridade da prxima Sprint. Caso a
Figura 3.6
Grfico de
Burndown
para Sprint
Subestimada.
meta da prxima Sprint seja muito baixa, podemos at mesmo optar pelo cancelamento
da Sprint, juntando as tarefas restantes a Sprint seguinte.
Finalmente, na figura 3.7, podemos ver um projeto para gesto de construtora sendo
realizado mais ou menos conforme estimado ou seja, muitos pontos esto sendo
desenvolvidos no tempo determinado. Esse um exemplo de um projeto ideal.
160
140
120
Pontos
100
80
60
Fundamentos do Scrum
40
56
20
0
Dias
Estimado
Realizado
10
11
12
13
14
Figura 3.7
Grfico de
Burndown para
Sprint Ideal.
Task Board
Consiste em um grande painel, que possibilita colocar as diversas informaes rele-
Sprint Backlog
Em Execuo
Concludo
BurnDown
Cadastro de
categorias de
apartamentos
Cadastro de
apartamentos
Problemas
no servidor
de teste
Cadastro de
clientes
SCRUM Master
dever resolver
(remover) este
impedimento
Release
Como no criado um Product Backlog para cada produto, Scrum recomenda a criao
de um plano de Release, que divide os itens do Product Backlog em Sprints. Cada Sprint
gera um entregvel, que so funcionalidades desenvolvidas naquela Sprint. Conforme
pode ser visualizado na figura 3.9, a juno dos entregveis de algumas Sprints gera um
release ou seja, uma Sprint parte de um release.
O release se trata de um produto pronto para ser testado e utilizado pelo usurio. Os
entregveis de cada Sprint no so liberados para os usurios conforme so concludos,
mas so liberados quando a juno de cada entrega forma um produto que faa sentido
e adicione valor para o cliente.
Conforme possvel visualizar na figura 3.9-, as funcionalidades Manter Caixa e
Manter Pick List foram desenvolvidas na Sprint 1 e geraram a entrega 1. Essa entrega
enviada equipe de teste que realizar testes de integrao apenas entre essas duas
funcionalidades. Durante a Sprint, estas tambm foram testadas unitariamente.
Captulo 3 - A metodologia
Figura 3.8
Task Board com
Impedimento.
57
Sprint #1
Manter
Pick List
Manter Caixa
Entrega 1
Sprint #2
Vincular Caixa
ao Pick List
Painel de Rotas
Entrega 2
Releases
Sprint #3
Cancelar Vnculo
Entrega 3
Produto
O mesmo ocorre na Sprint 2 e na Sprint 3 com as funcionalidades Vincular Caixa ao Picklist,
Painel de Rotas e Cancelar Vnculo. no final de cada entrega, gera-se as entregas.3.4
Atividades prticas
Cenrios para realizao de uma Planning, incluindo: anlise de backlog, anlise de user
stories, quebra de stories em atividades, scrum poker e finalizao da Sprint.
Fundamentos do Scrum
58
Figura 3.9
Funcionalidades,
Sprints, Entregas e
Releases formando
o Produto.
4
objetivos
Scrum e a organizao
Entender como Ciclo PDCA e Scrum se complementam; Dicas gerenciais para Scrum;
Scrum e Governana
conceitos
Act
(Agir)
Do
(Fazer)
Check
(Checar)
Figura 4.1
Ciclo PDCA.
Em resumo, o ciclo tem quatro fases, que significam passos no processo de administrao. Quando aplicadas ao Scrum, elas podem ser perfeitamente correlacionadas s
aes de uma Sprint, conforme analogia a seguir:
11 Plan: essa a primeira fase do processo. Durante essa etapa, a equipe discute os objetivos, o processo e as condies claras de finalizao da Sprint (condies de aceitao).
Essa etapa define os objetivos mensurveis e realizveis para a equipe;
11 Do: a equipe trabalha em conjunto para atingir o objetivo fixado na fase de planejamento. A equipe trabalha com o conjunto de processos acordados;
Plan
(Planejar)
59
11 Check: uma vez que a entrega foi realizada, a equipe se rene e verifica a sada,
Fundamentos do Scrum
O ncleo em torno do qual a escala ocorre a equipe Scrum. Um projeto com 800
60
pessoas ser composto por 100 equipes de 8 pessoas, ento a dificuldade encontra-se
em examinar como coordenar o trabalho dessas equipes, mantendo a produtividade de
cada equipe Scrum individual. Tambm importante examinar como dimensionar projetos,
independentemente do nmero de pessoas que envolvem, bem como o tipo de aplicao,
o tipo de sistema, o nmero de lugares em que o desenvolvimento precisa ocorrer e outras
dimenses de escala relevantes.
Infraestrutura
Antes de escalar qualquer projeto, uma infraestrutura adequada deve ser colocada em
Tudo o que suporta o esforo da escala deve ser concebido e implementado antes do escalonamento do projeto; todo esse trabalho feito em Sprints. Scrum exige que cada Sprint
produza um incremento de funcionalidade do produto potencialmente utilizvel, e esse
requisito pode ser cumprido se meses so necessrios para conceber e implementar uma
infraestrutura para escalar o projeto.
Na verdade, embora menos funcionalidade de negcio seja criada durante as Sprints iniciais
nas quais a infraestrutura ser criada, ainda necessrio demonstrar algumas funcionalidades de negcios no final. Na verdade, ainda mais importante faz-lo, porque isso
permite que a infraestrutura seja testada com o trabalho de desenvolvimento de funcionalidade medida que a mesma evolui.
Os requisitos no funcionais para construir a infraestrutura de escala so uma priori-
dade elevada no Product Backlog, porque devem ser concludos antes de escala em si.
Como a funcionalidade de negcios deve ser demonstrada no final de cada Sprint, esses
requisitos no funcionais so misturados com a funcionalidade de negcios de mais alta
prioridade. Se um pedao de funcionalidade de negcios depende de um requisito no
funcional, o requisito no funcional deve ser priorizado no Product Backlog para ser
desenvolvido antes ou em paralelo com a funcionalidade de negcios.
Staging
O processo de definio e priorizao dos requisitos no funcionais para escala chamado
de Staging. Staging ocorre antes do incio do primeiro Sprint e leva apenas um dia, durante
o qual os requisitos de escala para o projeto so determinados e colocados no Product
Backlog. Por exemplo, se voc est escalando o projeto para usar vrias equipes, os
seguintes requisitos no funcionais devem ser adicionados ao backlog do produto:
11 Decompor a arquitetura de negcios para suportar o desenvolvimento de interfaces
de vrias equipes;
11 Decompor a arquitetura de sistemas para suportar o desenvolvimento de interfaces
de vrias equipes;
11 Se necessrio, definir e implementar um ambiente para suportar diversas equipes
alocadas em ambientes distribudos.
Aps esses requisitos no funcionais para dimensionamento serem colocados no Product
Backlog, as Sprints podem comear. No entanto, apenas uma equipe pode iniciar seus trabalhos at a infraestrutura de escala estar no lugar, como no claro haver mecanismo para
coordenar o trabalho de vrias equipes no mesmo perodo.
Veja a figura 4.2 para uma representao do Product Backlog inicial com todos os requisitos no funcionais adequados para o tipo de Staging imaginado.
61
Equipe nica
Figura 4.2
Sprints de Escala.
Vrias equipes
Backlog do produto
Requisitos funcionais
Requisitos no funcionais
Sprint e colaboram para selecionar uma combinao de requisitos funcionais e no funcionais. A equipe ento inicia Sprints e iteram tantas vezes quanto necessrio, at que
a infraestrutura para a encenao esteja no lugar. Nesse ponto, as reunies de planejamento das Sprints para cada uma das vrias equipes de Sprint podem ser realizadas.
Cada nova equipe semeada com um membro da equipe original, que serve como
especialista da nova equipe em infraestrutura e arquitetura do projeto.
Equipes distribudas
H alguns anos, as equipes co-instaladas eram a norma: se tornou difcil encontrar uma
equipe distribuda geograficamente. Agora, o inverso parece ser verdadeiro: uma surpresa quando uma organizao tem toda a equipe trabalhando no mesmo edifcio. Com
a prevalncia de equipes espalhadas por todo o mundo, ou pelo menos atravs de fusos
horrios distintos, importante considerar quo bem Scrum funciona quando uma
equipe est geograficamente distribuda.
Um equvoco comum que Scrum no uma boa metodologia para uma equipe geograficamente dispersa. O argumento do Scrum pela preferncia por uma comunicao face
Fundamentos do Scrum
a face faz com que muitos pensem que escolher equipes distribudas seja m escolha.
62
Felizmente, esse argumento falso. Embora seja verdade que uma equipe local sempre
vai superar a equipe distribuda equivalente (Ramasubbu e Balan 2007), Scrum pode
realmente ajudar as equipes geograficamente distribudas.
Existem algumas regras do Scrum para equipes distribudas que veremos a seguir, e
dizem respeito basicamente forma com que as cerimnias devem acontecer e como
a equipe deve ser disposta. A razo para isso que uma diferena de fuso horrio
tem muito impacto sobre a forma como uma equipe trabalha. Na verdade, possui um
impacto muito maior do que a distncia geogrfica em si.
da Sprint. As estratgias podem ser referenciadas pelos seus nomes descritivos: a teleconferncia longa e duas teleconferncias. A seguir, analisamos as vantagens e desvantagens de cada uma dessas abordagens.
Teleconferncia longa
a abordagem padro seguida pela maioria das equipes, e consiste em ligar para um
simulando o formato de reunio pessoal. Todo o trabalho de uma reunio de planejamento de Sprint regular realizado nessa reunio. Quando ela se encerra, a Sprint deve
estar completamente planejada como se a equipe fosse local.
Vantagens
Desvantagens
Duas teleconferncias
Para algumas equipes, simplesmente impraticvel planejar a reunio de planejamento
Vantagens
Desvantagens
Tabela 4.2
Duas
teleconferncias.
63
Daily Scrum
A Scrum diria introduz um conjunto de novos desafios em relao reunio de pla-
Teleconferncia nica
Talvez a abordagem mais comum e aquela que inicialmente tentada pela maioria das
equipes fazer com que todos os participantes da equipe entrem juntos em um nico
telefonema. Para as equipes coincidindo em fusos horrio uns dos outros, essa uma
excelente abordagem. Infelizmente, a abordagem se deteriora rapidamente quando o
nmero de fusos horrios aumenta. Eventualmente, as equipes mais amplamente
Tabela 4.3
Teleconferncia
nica.
Desvantagens
Reunio escrita
Para minimizar o trabalho de horas de telefonemas para alguns locais, algumas equipes
Fundamentos do Scrum
niente para o maior nmero de membros da equipe, com outros membros da equipe par-
64
chamada transformada em uma atualizao diria escrita. Por exemplo, o compromisso assumido parece mais forte quando um membro da equipe diz: Eu vou fazer isso
hoje, do que quando as mesmas palavras so escritas. Talvez isso seja porque a
Tabela 4.4
Reunio escrita.
Vantagens
Desvantagens
Reunies regionais
A terceira e ltima abordagem para a reunio de Scrum diria ter um conjunto de reu-
nies regionais seguidas por algum esforo para compartilhar a questes-chave de cada
uma dessas reunies. Se uma equipe dividida em duas cidades muito distantes, por
exemplo, cada cidade pode ter sua prpria reunio diria.
Esse seria o caso, por exemplo, para uma equipe com membros em escritrios da
empresa em So Francisco, nos EUA, e Londres, na Inglaterra, que possuem intervalos
de horas de diferena.
s vezes, uma equipe distribuda tem alguns escritrios com sobreposio de horas de
trabalho, alm de um escritrio mais remoto nesses casos, os locais com horrios sobrepostos podem ter um Scrum dirio, j a localizao mais remota teria sua prpria reunio.
As reunies regionais, se todo mundo est presente em um escritrio, ou de discagem em
uma chamada entre as diversas cidades, so, ento, geralmente seguidas por uma comunicao adicional, de modo que cada equipe est consciente do trabalho das outras equipes.
Uma maneira de realizar essa comunicao um telefonema com pelo menos um
Vantagens
Desvantagens
Tabela 4.5
Reunies regionais.
65
Szcrum of Scrums
O Scrum dos Scrums usado por vrias equipes para coordenar seu trabalho. Envolve
maioria dos Scrum dos Scrums no so dirias e, em segundo lugar, a maioria das
equipes, ocasionalmente, mudam quem participa dessas reunies.
dirias quanto das reunies de planejamento da Sprint. Assim como reunies de planejamento de Sprint, essas reunies no so realizadas diariamente, ento membros da
equipe se sentem mais disponveis para participar fora do horrio normal de trabalho.
Dicas gerenciais
Alguns pontos finais a considerar em equipes virtualmente discretas so os que seguem:
11 Decida como distribuir as equipes: uma equipe colaborativa em uma localidade ou
equipes deliberadamente distribudas;
11 Tente criar coerncia;
11 Entenda as diferenas culturais significativas
Fundamentos do Scrum
66
Se tanto a reviso e a
retrospectiva foram
curtas, alguns membros
da equipe podem
preferir agend-las uma
logo aps a outra.
Outras equipes podem
preferir agend-las um
dia logo aps o outro.
jetos com Scrum. A maioria ser obrigada a suportar um perodo em que alguns projetos
foram transferidos para Scrum, enquanto outros ainda no. Isso pode ser porque seria
muito perturbador para a transio de toda a empresa de uma s vez, porque seria
perturbador para fazer uma mudana processo no meio do curso para um projeto particular, ou qualquer nmero de outras razes.
So basicamente trs os cenrios onde essa mistura pode acontecer:
11 Sequencial a princpio: a confluncia de Scrum e desenvolvimento sequencial no
incio do projeto geralmente ocorrem quando uma organizao tem obstculos de
aprovao do projeto. Livrar-se desses obstculos requer geralmente que a equipe
Scrum anule qualquer pendncia em relao aos documentos e crie uma especificao, plano de projeto ou outro artefato que necessrio para aprovao. Depois
que um projeto em cascata for aprovado, ele executado como um projeto normal
de Scrum;
11 Sequencial no final: quando as caractersticas de Scrum e sequenciais se encontram
no fim do projeto, geralmente dizem respeito s fases de teste. s vezes, essa conflutestadores ou a garantia de qualidade como um grupo separado que se engajou no
final para verificar e validar o produto. Outras vezes, a caracterstica sequencial no
final ocorre quando h um link externo para um grupo de operaes, por exemplo, se
exige que alguns testes ocorram no final com um grupo externo ao time. Tipicamente,
no final do projeto, a equipe tem se acostumado sua nova forma gil de trabalhar,
por isso continua a usar o mximo de Scrum quanto possvel, mesmo no final. Em
outras palavras, a equipe continua a trabalhar em sprints, realizar reunies de planejamento sprints, tm reunies dirias, e assim por diante;
67
11 Sequencial no meio: a maneira mais complicada em que Scrum tem de interagir com
Governana
Uma das razes pelas quais muitas organizaes adotam uma abordagem sequencial
68
Conformidade a padres
Nem todas as equipes ou mesmo departamentos de desenvolvimento de software tm
o luxo de ter o controle completo sobre seu processo de desenvolvimento. Por exemplo,
clientes terceirizados durante o desenvolvimento do contrato muitas vezes requerem
que fornecedores sejam certificados CMMI Nvel 5, o que requer que os desenvolvedores
de software sigam algumas das melhores prticas estabelecidas.
Alm disso, alguns produtos de software so entregues em setores regulados e cumprem
com normas como a ISO 9001.
Nenhum desses padres prescreve um ciclo de vida que contraditrio como o Scrum.
Como cumprir normas na organizao raramente opcional, equipes Scrum devem preocupar-se com a melhor forma de cumpri-las, comeando em alguns casos com a questo de
saber se isso vai ser possvel com um processo Scrum. Nesta sesso, vamos estudar como
equipes de Scrum podem ficar em conformidade com ISO 9001 e CMMI, dois dos padres
mais comuns com que Scrum precisa coexistir. A partir deles, podemos generalizar algumas
estratgias de enfrentamento em outras situaes de conformidade.
ISO 9001
A Organizao Internacional de Normalizao (ISO) mantm o padro 9001, que normal-
mente designado em sua inteireza como ISO 9001:2000 ou ISO 9001:2008, ambos os
quais indicam o ano de uma verso especfica do padro. A certificao ISO 9001 no se
destina a garantir que os produtos de uma organizao atinjam um nvel de qualidade
especfico. Em vez disso, a certificao indica que a organizao segue um conjunto de
prticas formais no desenvolvimento de seus produtos. Uma grande parte do esforo
em conformidade com a ISO 9001 a criao de um sistema de gesto da qualidade, que
geralmente um longo documento ou conjunto de pginas da web que descrevem as
prticas de qualidade seguidas pela organizao.
Primavera Systems, desenvolvedora de sistemas de gerenciamento de projetos e portflio,
criou o seu sistema de gesto da qualidade ao longo de um perodo de dez meses.
workshop incluiu uma representao multifuncional dos desenvolvedores. Primavera
j tinha experincia substancial com prticas geis no momento em que iniciou o seu
esforo ISO 9001.
Em tal ambiente, seria natural para os funcionrios se preocuparem com a perda de agilidade com a introduo de ISO 9001. Bill McMichael, da Primavera, e Marc Lombardi, um
consultor com experincia em ISO 9001, trabalharam juntos por iniciativa e chegaram
concluso de que a documentao no diminuiu a sua agilidade. O mantra foi prover
apenas documentao suficiente e referncias que fossem realmente teis para ajudar
com a garantia do processo que j existisse.
69
CMMI
Desde que o primeiro projeto gil surgiu do lodo primordial, as empresas tm se pergun-
Conseguindo conformidade
De maneira geral, conseguimos estabelecer que Scrum compatvel com ISO 9001 e
CMMI, tanto teoricamente quanto empiricamente. Para tornar Scrum conforme a sua
organizao, um passo a passo pode ser seguido:
1. Coloque esforo suficiente no Product Backlog.
2. Tente deixar o Product Backlog conforme padres previamente existentes
na organizao.
3. Considere o uso de checklists.
4. Automatize testes e a gerao de builds.
5. Use uma ferramenta de gerenciamento de projetos geis.
6. Mova-se devagar, mas de forma estvel.
7. Trabalhe com seu auditor no processo ao qual voc deseja ficar conforme.
8. Traga ajuda externa, se necessrio, como um Scrum Master.
nizao no formato em que ela estava antes do incio da transio se inicia. Transies
70
11 Recursos humanos: equipes Scrum comeam a fazer muito bem at que chega o
tempo de reviso anual. De repente, todo mundo percebe que eles sero novamente
avaliados e a receber aumentos, com base exclusivamente no desempenho individual. A reviso anual pode ter um campo para avaliar se um indivduo se d bem com
os outros, mas no final do dia contribuies e o herosmo individual o que importante em termos de aumentos e promoes. impossvel pensar em adotar um processo fundado sobre uma preferncia por indivduos e interaes sobre processos
e ferramentas sem envolver o departamento de recursos humanos. Na organizao
tpica, esse grupo pode ter ainda mais influncia sobre como as pessoas percebem
seus trabalhos e atuar neles do que os gerentes funcionais desses indivduos;
11 Instalaes: muito mais fcil ser gil quando toda a equipe est no mesmo local.
Mas quando um grupo de instalaes torna to tudo mais difcil, ou quando se
impede que as equipes Scrum usem o espao da parede para os grficos de manejo
e outros dados importantes do projeto, as equipes se tornam desmoralizadas.
Torna-se mais difcil manter o impulso de se tornar melhor em Scrum quando
parece que todo mundo est contra. O ambiente fsico em que trabalhamos tem
uma influncia direta sobre ns. Considere as mensagens conflitantes enviadas
quando uma empresa proclama as pessoas so nosso maior patrimnio, enquanto
o conjunto de instalaes probe pendurar grficos de burndown nas paredes. A
verdadeira mensagem alta e clara:
As paredes so um bem maior.;
11 PMO: sem pensar em como seu projeto se refere a um PMO existente, uma equipe
Scrum inicia com uma atitude de dane-se a papelada e processo. Isso cria um
inimigo no PMO, um grupo que j estava inquieto sobre os experimentos iniciais
da organizao com Scrum. O PMO responde convencendo gerncia do departamento que no tem problemas com Scrum, desde que ele seja complementado por
um conjunto de documentos e prticas. O PMO muitas vezes tem um enorme peso
poltico e experincia do projeto. Ao conseguir que essa parte da organizao esteja
de acordo com Scrum, no s se evita uma possvel fonte de resistncia, mas tambm
se beneficia da sua experincia. Os membros do PMO podem se tornar guardies de
auto-organizao, melhoria contnua, propriedade, comunicao, experimentao,
colaborao e outros valores.
Quando Scrum erroneamente encarado apenas como uma mudana dentro do grupo
de desenvolvimento, a gravidade organizacional criada pelos departamentos de fora da
TI pode puxar o grupo de desenvolvimento de volta para onde tudo comeou. possvel
ignorar as implicaes do Scrum sobre esses grupos e ser bem-sucedido, por algum
tempo. Eventualmente; porm, ser necessrio envolver com eles para criar uma tran-
71
Atividades
Cada Sprint um bloco de iterao que segue um ciclo PDCA e entrega um incremento de
funcionalidades prontas para serem incorporadas no software. Um ciclo PDCA, tambm
conhecido como o crculo de Deming, um mtodo de gerenciamento iterativo de quatro
Fundamentos do Scrum
72
O curso aborda os principais conceitos do Scrum, apresentando aos alunos os fundamentos do gerenciamento
de projetos geis, as vantagens e desvantagens da utilizao desta metodologia de trabalho e como o processo
de transio para esta prtica ocorre nas organizaes.
dologia Scrum, compreendendo seus processos, papis,
entregas acontecem.