Guia básico de introdução ao Scrum
Tempo de leitura: cerca de 9 minutos
Os softwares mudaram muito nas últimas décadas (Nem precisava dizer, né?). E os mais importante: eles continuam mudando. Naturalmente, o processo de desenvolvimento de softwares também muda.
Dito isso, é insustentável inventar constantemente novos processos de desenvolvimento de softwares. Não seria melhor criar um processo de desenvolvimento flexível o suficiente para acomodar os avanços e as mudanças no desenvolvimento de softwares? É aqui que entra a abordagem Agile para desenvolvimento de softwares.
A abordagem Agile para desenvolvimento de softwares é uma abordagem iterativa e adaptável. Este artigo detalha uma das estruturas Agile mais usadas: a metodologia Scrum.
O que é Scrum?
A metodologia Scrum (também chamada de estrutura Scrum) é uma estrutura Agile usada no desenvolvimento de softwares.
E o que isso significa, exatamente?
Os processos tradicionais de desenvolvimento de softwares operam de forma linear. Primeiro planeja, depois desenvolve, depois testa e assim por diante. A abordagem Agile, por outro lado, é iterativa. Os projetos são divididos em períodos curtos, chamados "sprints", que geralmente duram entre duas semanas e um mês.
Em cada sprint, o time de desenvolvimento adiciona e aprimora funcionalidades para entregar, gradualmente, o melhor produto possível. O desenvolvimento e os testes acontecem com frequência e muitas vezes se sobrepõem. Quer saber mais sobre a abordagem Agile no desenvolvimento de softwares? Confira nosso artigo dedicado a esse tópico!
São várias as estruturas dentro da abordagem Agile. O Scrum, já mencionado, é uma dessas estruturas.
A metodologia Scrum se caracteriza pelo foco no trabalho em equipe e na colaboração. Aliás, o termo "Scrum" vem do rúgbi e se refere a uma parte do jogo que exige um esforço coordenado da equipe. Em cada sprint, os times Scrum se reúnem diariamente para acompanhar o progresso, identificar e transpor obstáculos e manter o projeto em andamento (abordaremos os tipos de reuniões Scrum mais à frente!).
Princípios do Scrum
A estrutura Scrum gira em torno de seis princípios fundamentais. Cada aspecto da metodologia Scrum, das reuniões diárias de sprint aos artefatos Scrum, reflete esses princípios. Vamos ver cada um deles! Os seis princípios fundamentais do Scrum são:
1. Controle sobre os processos empíricos: com foco na transparência, na adaptação e na avaliação frequente, a metodologia Scrum serve para as equipes de desenvolvimento testarem e melhorarem os produtos em cada estágio do processo.
2. Auto-organização: para que a estrutura Scrum funcione, cada membro da equipe deve aceitar integralmente o processo. Isso exige um alto nível de independência e de auto-organização.
3. Colaboração: para entregar o melhor produto possível, a equipe de desenvolvimento de softwares precisa trabalhar em conjunto. Ao longo de cada ciclo, as equipes devem compartilhar responsabilidade e prestar contas. É como um casamento: juntos no sucesso e no fracasso.
4. Priorização com base no valor: uma das características marcantes do Scrum é a flexibilidade. Para se adaptar e atender às novas demandas e requisitos do projeto, os times Scrum devem avaliar e priorizar constantemente cada tarefa a ser realizada.
5. Time-boxing: na metodologia Scrum, cada elemento de um sprint tem uma linha do tempo claramente definida. O sprint em si dura duas semanas, mas as reuniões diárias também operam numa linha do tempo que sempre é respeitada.
6. Desenvolvimento iterativo: como o Scrum é uma estrutura Agile, os produtos são criados de modo iterativo. Isso resulta na melhoria constante, na flexibilidade e, por fim, num produto de alta qualidade.
Time Scrum: como é composto?
Você já viu o termo “time Scrum” neste artigo; agora vamos ver o que ele significa. Por um lado, ele é autoexplicativo: time Scrum é simplesmente uma equipe de desenvolvimento de softwares que usa a estrutura Scrum. Mas não é só isso.
Para que cada sprint opere sem problemas, a metodologia Scrum descreve três funções — muitas vezes chamadas de funções Scrum — que todo time Scrum deve incluir: proprietário do produto, equipe de desenvolvimento e mestre Scrum. A seção a seguir detalha cada função e as respectivas responsabilidades.
Proprietário do produto
Para entregar o melhor produto possível, a equipe de desenvolvimento precisa saber as necessidades e expectativas do cliente. É preciso haver uma linha de comunicação aberta entre as duas partes. E como se faz isso? É aqui que entra o proprietário do produto.
O proprietário do produto é responsável por conhecer o produto por dentro e por fora. Sendo o principal ponto de contato entre o cliente e a equipe de desenvolvimento, ele deve transformar os requisitos do cliente em itens práticos; ou seja, deve criar e manter o backlog do produto.
Todo time Scrum tem um proprietário do produto, função que nunca deve ser compartilhada.
Equipe de desenvolvimento
Este termo é bem direto: a equipe de desenvolvimento envolve as pessoas que desenvolvem o produto. No Scrum, ela deve ser pequena e oferecer aptidões variadas; normalmente, um time Scrum inclui designers e programadores.
Você se lembra dos princípios fundamentais do Scrum? É onde entra a colaboração. Os membros do time Scrum de desenvolvimento devem treinar outros membros da equipe para evitar gargalos. Como o time Scrum de desenvolvimento é responsável pela codificação, os membros são responsáveis por estimar e alocar o tempo e os recursos necessários a cada item da lista de backlog.
Scrum Master
Se você ainda não notou uma coisa, vamos deixar bem claro: a estrutura Scrum exige muitas reuniões. E alguém tem que agendar, coordenar e moderar essas reuniões. É aqui que o mestre Scrum entra.
O domínio do mestre envolve tudo relacionado ao Scrum. Como a equipe está implementando a metodologia Scrum? Existem áreas a ser aprimoradas ou ajustadas? Como a equipe pode melhorar a cada sprint?
Além disso, ele deve garantir que as reuniões Scrum sejam agendadas e que ocorram sem problemas.
Artefatos Scrum
Já abordamos muitos termos do jargão do Scrum, mas ainda tem mais. No Scrum, o artefato é um mecanismo, ou ferramenta, para gerenciar e concluir o trabalho. São quatro os principais artefatos do Scrum:
Backlog de produtos
O backlog do produto, mantido pelo proprietário do produto, é uma lista de requisitos para o produto final. À medida que as prioridades mudam, o proprietário do produto preenche e reordena o backlog. No início de cada sprint, as equipes Scrum devem selecionar várias tarefas do backlog do produto a serem abordadas durante esse sprint.
Backlog do Sprint
A cada sprint, as tarefas selecionadas no backlog do produto são incluídas no backlog do sprint, que é mantido e usado exclusivamente pela equipe de desenvolvimento. Muitas vezes, essas tarefas são organizadas num quadro Scrum, que é uma estrutura visual para acompanhar o progresso e a prioridade de cada tarefa. As tarefas são classificadas em colunas nesse quadro: histórias, pendentes, em andamento e concluídas. À medida que as tarefas são concluídas, a equipe de desenvolvimento as transfere de coluna.
História de usuário
A história de usuário, ou user stories, é uma forma de descrever os itens no backlog. Essencialmente, backlog do produto é uma lista de funcionalidades que precisam ser incluídas no produto final. A história de usuário descreve essas funcionalidades da perspectiva do usuário final: por que o usuário precisa desse recurso? Como ele ficará na prática?
Incremento do produto
No fim de cada sprint, você terá (tomara!) uma série de tarefas concluídas. Juntas, elas compõem o incremento do produto. Ou seja, o incremento do produto é a versão de trabalho do produto no final de um sprint.
Eventos Scrum
Mencionamos as reuniões Scrum (e quantas delas existem) algumas vezes, mas sem nenhuma explicação. Agora sim, vamos à explicação! A estrutura Scrum gira em torno de vários “eventos”. Alguns dos eventos Scrum mais comuns e importantes são:
Sprint
O sprint é a espinha dorsal da abordagem Agile no desenvolvimento de softwares. É o cerne do processo Scrum. Os sprints, que normalmente duram entre duas e quatro semanas, são a unidade organizadora do Scrum. O trabalho é planejado em sprints, as reuniões são agendadas em torno de sprints etc.
Planejamento da sprints
Ao chegar a um território desconhecido, você não começa simplesmente a dirigir (ou talvez comece, mas as coisas provavelmente não vão terminar bem). É bom consultar um mapa e achar a melhor rota para o seu destino.
Da mesma forma, o time Scrum não seleciona algumas tarefas no backlog e começam o sprint de qualquer jeito. Isso envolve muito planejamento. A reunião de planejamento da sprint, realizada no início de cada sprint, deve durar algumas horas - planeje duas horas para cada semana do seu sprint. Nesse período, você e sua equipe precisam responder a algumas perguntas: O que alcançaremos nesta sprint? Como alcançaremos isso? Seja o mais específico possível.
Reunião diária
As reuniões diárias, também chamadas de scrums diários ou reuniões em pé, são reuniões curtas (idealmente, de quinze minutos) realizadas no mesmo horário todas as manhãs. Nessas reuniões, a equipe de desenvolvimento deve discutir o que foi realizado no dia anterior e o que se espera realizar hoje.
Revisão da sprint
A metodologia Scrum incentiva a transparência entre todas as partes interessadas, E as reuniões de revisão do sprint facilitam isso. Feitas no fim de cada sprint, essas reuniões servem para que o time Scrum apresente o produto (na atual iteração) às outras partes interessadas. Com base no feedback dado na reunião, o proprietário do produto refina o backlog do produto.
Retrospectivas do sprint
Nas reuniões de revisão do sprint, comparecem várias partes interessadas; já as retrospectivas do sprint são só para o time Scrum. Feitas no fim de cada sprint, essas reuniões dão aos membros da equipe a chance de refletir sobre o sprint anterior.
Nas retrospectivas do sprint, faça uma série de perguntas ao seu time Scrum: o que correu bem? O que correu mal? E o mais importante: como melhorarmos no próximo sprint?
Benefícios do Scrum
Esperamos que você tenha aprendido pelo menos o básico do Scrum. E agora? Você precisa decidir se sua equipe pode se beneficiar da metodologia Scrum.
Em grande parte, os benefícios do Scrum vêm do fato de ele ser iterativo. Com a estrutura Scrum, sua equipe se adapta às constantes mudanças do mundo do desenvolvimento de softwares e entrega um produto que fica melhor a cada sprint.
Agora é sua vez! Comece hoje mesmo a usar nosso modelo de quadro Scrum.
Mantenha seus projetos organizadosSobre: Lucidspark
O Lucidspark, um quadro branco virtual que roda na nuvem, é um componente central da Suíte de colaboração visual da Lucid Software. Essa tela digital de última geração reúne equipes para fazer brainstorming, colaborar e consolidar o pensamento coletivo e produzir resoluções práticas, tudo em tempo real. A Lucid tem orgulho de atender às principais empresas de todo o mundo, incluindo clientes como Google, GE e NBC Universal, e 99% das empresas da Fortune 500. A Lucid faz parceria com líderes do setor, como Google, Atlassian e Microsoft. Desde a inauguração, a Lucid recebeu vários prêmios por seus produtos e negócios e pela cultura no local de trabalho. Veja mais informações em lucidspark.com.