Apostila - Introd Ao Metodo SCRUM
Apostila - Introd Ao Metodo SCRUM
Apostila - Introd Ao Metodo SCRUM
DESENVOLVIMENTO
DE SOFTWARE
Introdução
A transformação digital é o assunto do momento em qualquer organi-
zação. A empresa que não está buscando meios de se reinventar através
da transformação digital está correndo sérios riscos, inclusive no curto
prazo. Para fazer frente a esses desafios, equipes de desenvolvimento de
software buscam meios de entregar as soluções necessárias aos negócios,
cumprindo os prazos (cada vez mais curtos) e o orçamento (cada vez
mais apertado).
Neste capítulo, você vai estudar sobre o método Scrum, os papéis
envolvidos, eventos e regras que permitem o gerenciamento ágil de uma
equipe de desenvolvimento de software. Este conhecimento permitirá
que você participe de times ágeis que utilizam o Scrum com condições
de obter os melhores resultados em relação ao escopo e à qualidade
dos produtos, aos prazos de entrega e, consequentemente, aos custos.
Uma das principais características do Scrum é o aprendizado facilitado
do próprio método. Com um pouco de dedicação, você entenderá o
Scrum e conseguirá aplicá-lo no seu time. Quando uma equipe passa a
dominar o método, a sua principal característica é o autogerenciamento.
O comprometimento mútuo faz com que equipes autogerenciáveis
entreguem resultados inéditos.
2 Introdução ao método Scrum
auto-organizáveis;
multifuncionais;
criativos;
flexíveis;
produtivos.
O Scrum tem três papéis principais, Product Owner (PO), Scrum Master
e Time de Desenvolvimento, que não devem ser confundidos com cargos. Os
papéis são atribuições que cada membro envolvido no Scrum tem, e envolvem
habilidades, responsabilidades e atribuições.
Scrum Master
O Scrum Master é um líder servidor para o Time Scrum. Ele atua de modo
a garantir que o Scrum seja entendido e aplicado dentro do time. Ele atua
como um facilitador, um apoio para o time de desenvolvimento e para o PO
(PRESSMAN; MAXIM, 2016). O Scrum Master apoia o PO e o Time de
Desenvolvimento de diversas formas (SCHWABER; SUTHERLAND, 2017):
2 Eventos do Scrum
O Scrum tem sua execução baseada em eventos que têm objetivos específicos.
A previsibilidade de uma série de eventos tem o intuito de criar regularidade
e reduzir a necessidade de ocorrer outras reuniões que não são previstas no
Scrum. Todos eventos têm uma duração máxima definida, priorizando a pro-
dutividade do time e evitando desperdícios (SCHWABER; SUTHERLAND,
2017).
A Sprint é o evento concentrador do Scrum, em que todos os outros eventos
estão contidos/vinculados. Segundo Pressman e Maxim (2016), a Sprint é um
período definido, que deve ter no máximo 1 mês de duração, em que uma equipe
Scrum se organizará para atingir um objetivo. O início de uma nova Sprint
acontece exatamente quando a anterior se encerra, mantendo um ciclo vivo.
Para Schwaber e Sutherland (2017), algumas regras precisam ser conside-
radas em relação a uma Sprint.
Uma Sprint não pode ter seu término adiado. Chegada a data fim, es-
tando o trabalho totalmente concluído ou não, deve ser formalizado seu
encerramento. Nos eventos de encerramento da Sprint existe previsão
para tratar do trabalho não concluído.
Após o início da Sprint as mudanças só podem ser executadas se não
colocarem em risco o objetivo da Sprint.
As prioridades podem mudar a qualquer momento, mas quanto maior
for o tamanho da Sprint, maior a chance de isso ocorrer. Por isso, a
maioria dos times prefere utilizar Sprints com tempo de 15 dias de
trabalho. Quando o tamanho da Sprint é muito longo, os riscos são
potencializados, pois a necessidade de mudanças é muito mais provável.
Sprint Retrospective
Daily Scrum
24h
Sprint Review
Sprint
1–4 Semanas
Sprint Planning
Apesar do Scrum ser de fácil entendimento, a sua aplicação, com resultados efetivos,
leva um certo tempo. A organização e a equipe têm que ter em mente que precisam
rodar vários ciclos até adaptar o seu meio de trabalho para obter resultados expressivos.
É comum que equipes que tiveram resultados ruins em duas ou três primeiras Sprints
abandonem o método afirmando que ele não funciona. Mas o aprendizado do Scrum
vem exatamente das experiências obtidas em cada ciclo.
3 Artefatos do Scrum
O Scrum é um método que permite a execução de um processo. Todo processo
utiliza artefatos como saídas e entradas de atividades. Eles são a representação
do trabalho da equipe, e permitem que as características de transparência,
inspeção e adaptação do Scrum sejam evidenciadas.
Backlog do produto
Segundo Schwaber e Sutherland (2017), o backlog do produto é composto
por todas as necessidades de desenvolvimento do produto através da visão do
cliente. Prikladnicki, Willi e Milani (2014), por sua vez, afirmam que somente
o PO pode inserir, remover ou reordenar a prioridade de itens. O backlog do
produto é um documento vivo, e nunca estará completo. O PO interagirá cons-
tantemente com as partes interessadas do produto a fim de manter este backlog
priorizado, atualizado e evoluindo (SCHWABER; SUTHERLAND, 2017).
Na Figura 2, temos um exemplo de um backlog de produto de um software
de controle de estoque. Nele estão listados uma série de requisitos funcio-
nais que o software deve atender. O PO deve manter esta lista priorizada e
atualizada, com todas as necessidades do cliente.
Introdução ao método Scrum 11
Backlog da Sprint
O backlog da Sprint é o conjunto de itens do backlog do produto selecionados
para serem desenvolvidos durante a Sprint. Ele também contém o plano para
tornar aquele backlog em um produto real e utilizável pelo cliente (PRIKLAD-
NICKI; WILLI; MILANI, 2014).
Somente o time de desenvolvimento tem autonomia para alterar os itens de
backlog durante uma Sprint. Isso é necessário pois o time tem o controle do
andamento das atividades e poderá decidir se algo pode ser alterado, paralisado
ou adicionado (SCHWABER; SUTHERLAND, 2017).
Na Figura 3, podemos observar uma lista de itens do backlog do produto,
selecionadas para serem desenvolvidas na Sprint 001. Esta seleção ocorre
na reunião de planejamento mediante a análise da capacidade de entrega da
equipe versus os itens do backlog do produto em ordem de prioridade. Quando
a Sprint é executada com sucesso, os itens do backlog da Sprint passam a
fazer parte do Incremento do Produto e podem ser utilizados pelos usuários.
Quadro Kanban
O quadro Kanban é uma ferramenta de gestão visual que representa a carac-
terística de transparência do Scrum. Através de um quadro de tarefas, que
pode ser físico ou digital, a equipe visualiza os itens a serem desenvolvidos e
seu andamento (PRIKLADNICKI; WILLI; MILANI, 2014).
A divisão das colunas do quadro, que são os espaços em que os itens
podem ser alocados, geralmente é entre “Backlog”, “A fazer”, “Fazendo” e
“Pronto”. Estas divisões também podem ser personalizadas de acordo com a
necessidade da equipe, mas devem seguir a tendência do ágil — simplicidade.
Incremento
Espera-se que ao final de cada Sprint o time de desenvolvimento entregue uma
nova versão do produto que contenha os itens do backlog da Sprint para uso
pelo cliente. A equipe de desenvolvimento deve ter a visão que o cliente pode
decidir por publicar em produção aquele incremento do produto, portanto sua
qualidade deve estar ajustada às necessidades do cliente (PRIKLADNICKI;
WILLI; MILANI, 2014).
Definição de pronto
Este conceito é muito importante numa equipe Scrum. Podem existir vários
entendimentos do que seja “Pronto” para um item do Sprint backlog. Para um
determinado membro do time a definição de pronto pode significar que o item
foi acoplado ao código fonte sem causar erros. Já na visão de um tester, pode
significar “sem bugs”. E na visão de um analista de negócios, que atende às
necessidades do cliente (SCHWABER; SUTHERLAND, 2017).
É, no entanto, o consenso em torno desta definição que balizará a decisão
de quantos itens podem ser selecionados na reunião de planejamento. Afinal,
toda a equipe terá o mesmo entendimento do que é o “pronto”, permitindo
assim definir o quanto de capacidade produtiva a equipe possui. Com um
time de Scrum em constante evolução, é esperado que a definição de “pronto”
também siga evoluindo, considerando cada vez mais critérios de qualidade.
Introdução ao método Scrum 13
O Scrum pode e deve ser implantado nos mais diversos ambientes organizacionais,
até mesmo nos mais tradicionais. A prova disso é o que aconteceu no Departamento
Federal de Investigação dos Estados Unidos (FBI) com o projeto Sentinel. Depois de
10 anos atuando neste projeto que estava perto do seu cancelamento, decidiu-se por
adotar o Scrum como última medida (SUTHERLAND, 2016).
O backlog do produto foi organizado em 670 histórias de usuário que foram de-
senvolvidas em 21 Sprints com 15 dias de duração. Se ao final da Sprint nem todas
histórias estavam prontas, mesmo assim a equipe apresentava as histórias finalizadas,
e apenas as que passassem nos testes eram dadas como concluídas. Desta forma o
projeto foi concluído cumprindo as metas de escopo, custo e prazo (REBELO, 2012).
O projeto foi tão bem-visto dentro do governo americano, que outros órgãos de-
cidiram adotar o Scrum, como o Departamento de Defesa, o Gabinete de Prestação
de Contas do Governo, a Nasa, o Escritório de Patentes e Marcas, o Departamento
de Relacionamento dos Veteranos e a Secretaria da Receita Federal (REBELO, 2012).
Os links para sites da web fornecidos neste capítulo foram todos testados, e seu fun-
cionamento foi comprovado no momento da publicação do material. No entanto, a
rede é extremamente dinâmica; suas páginas estão constantemente mudando de
local e conteúdo. Assim, os editores declaram não ter qualquer responsabilidade
sobre qualidade, precisão ou integralidade das informações referidas em tais links.