Um guia breve e simples de Scrum

Enquanto trabalha para criar seu aplicativo web ou móvel, você provavelmente ouvirá os desenvolvedores mencionarem o desenvolvimento ágil de software e o framework Scrum logo no início. Nesta publicação, vamos esclarecer esses termos e apresentar um ciclo típico do Scrum.
tl;dr: Scrum é um framework ágil leve que funciona em ciclos curtos e iterativos (por exemplo, duas semanas), ao final dos quais a equipe de desenvolvimento entrega software funcional e recebe feedback das partes interessadas. As diferentes reuniões e os artefatos incorporados ao Scrum permitem que a equipe se mantenha organizada e transparente enquanto se adapta continuamente a esse feedback.
O que são Agile e Scrum?
Agile é uma abordagem de desenvolvimento de software que destaca a importância de colaborar com o cliente, adaptar-se a requisitos que mudam, entregar valor continuamente e trabalhar em uma equipe que se organiza por conta própria e busca melhorar sua eficiência constantemente. Baseia-se em alguns dos princípios que orientam os processos de fabricação da Toyota desde a década de 1950, como o trabalho sustentável e evitar o desperdício de recursos. Essas ideias começaram a ser adaptadas ao desenvolvimento de software na década de 1990 e foram consolidadas no Manifesto para Desenvolvimento Ágil de Software em 2001 por 17 desenvolvedores de software que buscavam melhorar as práticas da época.
Scrum é um framework ágil que permite às equipes de desenvolvimento organizar a si mesmas e seu trabalho. Oferece formas práticas de aplicar os princípios ágeis ao trabalho diário. No Scrum, o trabalho é concluído em ciclos curtos e iterativos chamados sprints, e o progresso é medido por meio da gestão de um backlog do produto, mas vamos aprofundar esses conceitos em breve. Scrum trata de comunicação clara e transparência, inspeção do trabalho da equipe para buscar melhorias e adaptação dos processos para otimizar o uso do tempo e dos recursos.
Então, o que exatamente é um «sprint»?
Um sprint é o intervalo de tempo definido que engloba incrementos de trabalho no Scrum. É um período regular e predeterminado que varia de uma semana a um mês. Na sophilabs, geralmente trabalhamos em sprints de duas semanas. Ao final de um sprint, a equipe de desenvolvimento entrega software utilizável. As partes interessadas dão seu feedback à equipe, que determina como pode melhorar durante o próximo sprint.
O que são os «artefatos» do Scrum?
No Scrum, os artefatos são os documentos que ajudam a equipe de desenvolvimento a acompanhar seu trabalho e manter a transparência com o cliente e entre seus integrantes. Cada artefato tem uma finalidade específica.
Backlog do produto
Em poucas palavras, o backlog do produto é uma lista descritiva de todos os elementos de que o produto precisará. Cada requisito normalmente assume a forma de uma história de usuário, que descreve brevemente um recurso específico e o objetivo que ele ajudaria o usuário a alcançar. Uma história de usuário costuma seguir este formato: Como [tipo de usuário], quero [um recurso ou funcionalidade], para que eu possa [alcançar meu objetivo].
As histórias de usuário mantêm as necessidades do usuário e o valor de negócio em primeiro plano durante todo o processo de desenvolvimento. Podem incluir critérios de aceitação, que são os atributos específicos que detalham como atender à funcionalidade e costumam ser próprios de cada recurso.
No backlog do produto, as histórias de usuário são priorizadas conforme as necessidades das partes interessadas do produto. As histórias no topo da lista também devem ser as mais específicas e refinadas, para que a equipe de desenvolvimento tenha clareza sobre o que envolvem e possa adicioná-las facilmente ao próximo sprint.
Backlog do sprint
O backlog do sprint é a lista de histórias de usuário que a equipe concluirá em determinado sprint. É um subconjunto do backlog do produto, geralmente retirado do topo da lista.
Quadro Scrum
O quadro Scrum acompanha as tarefas em que a equipe está trabalhando durante o sprint atual. Cada tarefa deve ficar em uma de pelo menos três colunas; normalmente essas categorias incluem A fazer, Em andamento e Concluído. O quadro Scrum ajuda os integrantes da equipe a assumir responsabilidade pelo trabalho e permite transparência sobre o progresso da equipe ao longo do sprint.
Os integrantes da equipe usam a Definição de Pronto (DOD) para determinar quando cada recurso ou história de usuário está completo. A DOD é um acordo entre a equipe Scrum e as partes interessadas sobre a qualidade e os elementos funcionais que cada recurso deve ter para ser considerado concluído e potencialmente lançado.
Gráfico burn-down/up
Um gráfico burn-down ou burn-up mostra quanto a equipe realizou ao longo de um período. O tempo aparece no eixo horizontal x, e o escopo do projeto é representado no eixo vertical y.
Quem compõe uma equipe Scrum?
No Scrum, existem três papéis definidos dentro de uma equipe de desenvolvimento. Vamos ver quais são.
Product Owner
O Product Owner é responsável por maximizar o valor que o produto em desenvolvimento entrega às partes interessadas. Ele alcança esse objetivo garantindo que todas as necessidades do produto descritas pelas partes interessadas estejam devidamente documentadas e organizadas no backlog do produto.
O Product Owner pode ser alguém do lado do cliente (por exemplo, quem funda uma startup ou um executivo de tecnologia) ou do lado do fornecedor de software (na sophilabs, nossos gerentes de produto podem assumir esse papel). Isso depende do quanto uma pessoa empreendedora quer participar do processo de desenvolvimento de software.
Scrum Master
O Scrum Master é responsável por orientar a equipe ao longo do processo Scrum, acompanhá-la diante dos desafios e oferecer apoio quando seus integrantes encontram obstáculos. É a pessoa especialista da equipe em Scrum e Agile.
Integrante da equipe
Os integrantes da equipe são os designers e desenvolvedores de software que projetam e constroem o produto. São responsáveis por se comunicar abertamente, colaborar para resolver problemas e trabalhar juntos para melhorar a eficiência da equipe.
Como funciona um sprint?
Agora que entendemos como a equipe Scrum é estruturada e quais materiais são usados para organizar o trabalho e acompanhar o progresso, é hora de ver o Scrum em ação. Para isso, vamos analisar as cerimônias do Scrum que acontecem ao longo do sprint. Cerimônia é o termo que o Scrum usa para os diferentes eventos e reuniões desse framework. Existem quatro tipos de cerimônia realizados em cada sprint.
Planejamento do sprint
A equipe realiza essa reunião no início de cada sprint. O objetivo do planejamento do sprint é determinar a coisa mais valiosa que pode ser construída em seguida para o produto e definir um objetivo concreto que a equipe se comprometa a cumprir até o final do sprint. Para isso, a equipe escolhe no backlog do produto histórias de usuário alinhadas a esse objetivo e adequadas para o sprint. Por fim, define um plano tático de como esse trabalho será realizado.
Daily Scrum
Às vezes também chamado de standup, o daily Scrum é uma reunião breve (de no máximo 15 minutos) realizada pela equipe todos os dias. Cada integrante compartilha o trabalho que concluiu ou os desafios que enfrentou desde o último daily Scrum. A equipe também aproveita essa oportunidade para começar a pensar em soluções para os obstáculos que seus integrantes possam estar enfrentando. O daily Scrum mantém todos alinhados sobre o progresso em direção ao objetivo do sprint e as questões que precisam abordar.
Revisão do sprint
A revisão do sprint acontece ao final de cada sprint. É uma reunião na qual a equipe Scrum mostra às partes interessadas o progresso por meio de uma demonstração do software funcional construído durante aquele sprint. As partes interessadas dão seu feedback (geralmente documentado como novas histórias de usuário ou tarefas no backlog do produto), permitindo que a equipe continue melhorando o produto conforme suas necessidades.
Retrospectiva do sprint
Essa reunião acontece depois da revisão do sprint e antes da próxima sessão de planejamento. Durante a retrospectiva do sprint, ou retro, a equipe de desenvolvimento (geralmente sem as partes interessadas) examina como trabalhou em conjunto no último sprint. Seus integrantes compartilham o que acham que foi bem e o que poderia melhorar. O objetivo da retrospectiva é que a equipe identifique áreas de melhoria e chegue a um consenso sobre como melhorá-las. É uma das maneiras pelas quais o Scrum apoia mudanças incrementais e incentiva a melhoria contínua.
Considerações finais
Scrum é um framework leve que ajuda as equipes a se manterem organizadas e ágeis. Na sophilabs, adoramos a maneira como o Scrum facilita a comunicação constante dentro da equipe e o feedback regular das partes interessadas.
Esperamos que nossa breve introdução ao Scrum tenha ajudado você a entender os conceitos básicos! 1 Se precisar de uma revisão rápida ou quiser aprender mais termos e conceitos ágeis, veja nosso prático Glossário de desenvolvimento ágil.
-
Para uma explicação mais detalhada do Scrum, veja o Guia Scrum oficial. ↩