Escolar Documentos
Profissional Documentos
Cultura Documentos
DE SOFTWARE COM
METODOLOGIAS ÁGEIS
Introdução
Vivemos em uma época em que estamos cada vez mais conectados com
o mundo da tecnologia e as ferramentas que ele oferece. Esse processo
de conexão se tornou natural na vida das pessoas ao longo dos anos,
visto que a tecnologia foi se popularizando e se consolidando cada vez
mais em nossa sociedade. As demandas de desenvolvimento de software
também acompanham essa evolução, e os métodos, outrora tradicionais,
gradativamente são substituídos por ferramentas e metodologias que
dão agilidade ao processo.
Assim sendo, neste capítulo, você vai compreender o que é o Scrum
e entender a sua origem, além de saber quais são as principais diferenças
entre o Scrum e os métodos tradicionais de desenvolvimento de software.
Por fim, você conhecerá como se dá o processo de implementação do
Scrum no dia a dia de uma equipe de desenvolvimento de software.
Apesar de otimizar o tempo, é preciso ter em mente que a qualidade do projeto deve ser
garantida pela equipe que trabalha com a metodologia Scrum. Assim, escopo, tempo,
custo e qualidade devem ser observados pelo time Scrum com muita responsabilidade.
Entretanto, essas características não são motivos para pânico. Elas devem
ser motivadoras, pois ao dominar toda a estrutura que rodeia o Scrum, você
terá a oportunidade de vivenciar os seus benefícios e colher resultados positivos
com a sua implementação.
Mas em que se baseia o Scrum? São três os pilares: transparência, inspeção
e adaptação.
Transparência — Este primeiro pilar indica que tudo aquilo que for signi-
ficativo para o processo deve estar visível e transparente a todos, facilitando
uma comunicação mais assertiva entre os membros da equipe, ou seja, os fatos
são apresentados da forma como estão. Dessa forma, é possível padronizar
as definições sobre as etapas do trabalho, permitindo que haja senso comum
entre o grupo. Sendo assim, há uma relação de confiança, que é estabelecida
com o propósito de que todas as informações que são importantes para o bom
andamento do projeto sejam compartilhadas abertamente entre os envolvidos.
Inspeção — Este pilar indica que deve haver inspeção sobre os trabalhos que
estão sendo realizados, de modo a medir se a equipe está conseguindo atingir os
objetivos. A inspeção tem que ser feita com cautela, de forma a não prejudicar
a equipe, ou seja, em uma frequência que não gere atrasos nas entregas e que
não coloque a equipe em conflito. Ela deve ser conduzida pela equipe Scrum
como um todo. A ideia é verificar como estão o produto, os processos de
desenvolvimento e até mesmo as pessoas envolvidas na execução das tarefas.
Adaptação — Este pilar, por sua vez, indica que podem ocorrer adaptações
ao longo do projeto. Geralmente, elas ocorrem quando, na inspeção, são
identificadas falhas no processo. Estas falhas, também chamadas de desvios,
podem e devem ser ajustadas, a fim de não impactar na entrega final.
O Scrum pode ser direcionado para uso em diferentes objetivos. Segundo
Schwaber e Sutherland (2017), desde a sua concepção, no início dos anos 1990,
o Scrum foi direcionado para diferentes propósitos, tais como:
Comunicação
Início do projeto Planejamento
Estimativas Modelagem
Levantamento de requisitos Construção
Cronograma Análise
Código Entrega
Acompanhamento Projeto
Teste Entrega
Suporte
Feedback
Design thinking é uma abordagem que visa ao desenho de soluções em projetos, com
a proposta de ouvir e se colocar no lugar das pessoas envolvidas, transportando-as
ao centro do processo. O design thinking se utiliza do que há de melhor nas pessoas,
tais como: ser intuitivo, facilidade de reconhecimento de padrões, capacidade de
promover ideias que geram significado emocional, ou seja, que vão além do que é
funcional, entre outros (BROWN, 2018).
Bem- Posto em
Tamanho Método -sucedido risco Cancelado
Equipes que não sabem lidar com autonomia — Os times Scrum têm por
característica fundamental a autonomia, mas muitas equipes, acostumadas ao
modelo tradicional, não sabem lidar com a autogestão. Isso pode desencadear
em uma série de relações conflituosas entre os membros da equipe ágil.
3 Implementando o Scrum
Possivelmente, você pôde perceber que neste capítulo nos dedicamos a entender
o que é o framework Scrum e como ele se destaca em relação às outras abor-
dagens de desenvolvimento. Agora, a partir deste ponto, vamos compreender
como se dá a sua implementação.
8 Scrum
Inicialmente, deve ser definido quem será o dono do produto (do inglês,
product owner). Esse papel será desempenhado por aqueles que irão designar
quais tarefas devem ser realizadas pelo time de desenvolvimento. O olhar
crítico do product owner será muito importante, principalmente na análise de
riscos. Geralmente, o product owner faz a mediação entre o cliente e a equipe.
Uma pessoa deve ser designada a desempenhar o papel de Scrum master.
Ela será responsável por treinar a equipe com a estrutura do Scrum, além de
reduzir ao máximo os obstáculos que estejam impactando a performance do
time.
O próximo passo é, portanto, definir o backlog do produto a ser desen-
volvido. Dizemos que backlog é a coleção de todas as funcionalidades que
precisam ser desenvolvidas para que o software se torne real. Algo importante
a saber sobre o backlog é que ele está em constante atualização, acompanhando
a evolução do produto. Se no decorrer do desenvolvimento surgir a neces-
sidade de adicionar uma nova funcionalidade ao produto, ela entra na lista
do backlog e cabe ao product owner priorizar quais itens do backlog devem
ser desenvolvidos primeiro. O backlog deve ser analisado pela equipe de
desenvolvimento, a fim de identificar se as informações para que determinada
tarefa seja executada são suficientes.
Além disso, os membros da equipe devem analisar o backlog e fazer uma
estimativa de quanto esforço será dedicado para cada tarefa. Esse esforço
não deve ser estimado em horas, mas em tamanhos relativos, como pequeno,
médio e grande, ou em pontos, utilizando a sequência de Fibonacci: 1, 2, 3,
5, 8, 13, etc.
Em seguida, inicia-se a etapa de planejamento do sprint, na qual acontece
a primeira reunião da equipe. Nela, ocorre a definição do sprint backlog, que,
na prática, representa quais são as funcionalidades do backlog dos produtos
que serão desenvolvidos no período da sprint. Geralmente, cada sprint (ciclo
de desenvolvimento de algumas funcionalidades do backlog) dura em torno
de duas a quatro semanas, respeitando o período de, no máximo, um mês.
Assim, durante essa reunião, o time observa todo o backlog e decide quais são
as funcionalidades que serão entregues no período daquela sprint.
Caso essa não seja a primeira sprint do time e já tiverem ocorrido ou-
tras anteriormente, devem ser analisados os números de pontos que foram
concluídos no sprint passado. Essa é uma questão muito importante, visto que
por meio desses pontos é possível mensurar a velocidade do grupo. Quanto
maior o número de pontos, maior é a velocidade da equipe.
Em conjunto com o Scrum, geralmente, as equipes de desenvolvimento
utilizam o quadro de tarefas Kanban, que, de forma bem sucinta, exibe os
Scrum 9
Done — Por fim, nesta última coluna entram as tarefas que já foram concluídas/
testadas e já estão prontas para serem colocadas em produção no sistema.
Uma maneira de substituir o quadro de tarefas Kanban físico é utilizando
ferramentas de software, como o Trello, por exemplo.
Observe na Figura 2 a interface gráfica do Trello. Com esta ferramenta é
possível construir um board (quadro) que representa o projeto que está sendo
desenvolvido pela equipe. Dentro do quadro, você tem acesso a como construir
listas de tarefas. Cada tarefa a ser realizada está organizada em um card
(cartão) diferente dentro da lista, assim como no quadro físico. Entretanto, o
Trello tem muitos outros recursos que auxiliam no gerenciamento de projetos,
como a possibilidade de fazer integrações com outras ferramentas.
10 Scrum
Reunião
diária
A cada
24 horas
Sprint
Duração de até 4 semanas
Backlog Produto
do produto pronto
Planejamento
da sprint Backlog
da sprint Execução da Reunião
Reunião de
sprint de revisão
retrospectiva
(construção
do produto)
BROWN, T. Design thinking: uma metodologia poderosa para decretar o fim das velhas
ideias. Rio de Janeiro: Alta Books, 2018.
CRUZ, F. Scrum e Agile em projetos: guia completo. 2. ed. Rio de Janeiro: Brasport, 2018.
HASTIE, S.; WOJEWODA, S. Standish Group 2015 chaos report: Q&A with Jennifer Lynch.
2015. Disponível em: https://www.infoq.com/articles/standish-chaos-2015. Acesso
em: 3 ago. 2020.
PRESSMAN, R.; MAXIM, B. Engenharia de software. 8. ed. Porto Alegre: AMGH, 2016.
SCHWABER, K.; SUTHERLAND, J. Um guia definitivo para o Scrum: as regras do jogo. [S. l.:
s. n.], 2017. Disponível em: https://www.scrumguides.org/docs/scrumguide/v2017/2017-
-Scrum-Guide-Portuguese-Brazilian.pdf. Acesso em: 3 ago. 2020.
SUTHERLAND, J. Scrum: a arte de fazer o dobro do trabalho na metade do tempo. 2.
ed. São Paulo: Leya, 2016.
12 Scrum
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.