Como Começar com o Desenvolvimento Ágil Usando o Framework Scrum

A base do framework Scrum foi introduzida em 1986 por Hirotaka Takeuchi e Ikujiro Nonaka em um artigo da Harvard Business Review intitulado “O Novo Jogo de Desenvolvimento de Novos Produtos”. Os autores descreveram dois métodos para gerenciar o desenvolvimento de produtos. Algumas equipes trabalham como corredores de revezamento em linha reta, passando o bastão conforme avançam. Outras equipes atuam como jogadores de rugby em uma única partida, passando a bola de volta e para frente conforme necessário.

Takeuchi e Nonaka concluíram que o método de corrida de revezamento usado no sistema de planejamento em fases da NASA estava ultrapassado. Argumentaram que o modelo de rugby forneceria às empresas as ferramentas necessárias para competir em um mundo comercial global.

Em 1993, Jeff Sutherland, John Scumniotales e Jeff McKenna experimentaram o desenvolvimento de software Scrum na empresa de software Easel Corp. Em 1995, Ken Schwaber e Sutherland, juntamente com outros, incluindo McKenna e Scumniotales, publicaram um artigo intitulado “Processo de Desenvolvimento Scrum”. Isso provocou uma mudança significativa que levou os desenvolvedores a questionar a eficácia do modelo clássico de desenvolvimento de software em cascata.

Em novembro de 2020, Sutherland e Schwaber lançaram uma versão atualizada de “O Guia Scrum”, que contém a definição oficial do Scrum.

Relação entre Scrum e Ágil

Ágil é uma abordagem de desenvolvimento e planejamento de projetos. Como explicado no Manifesto Ágil, possui uma filosofia ou estrutura geral que orienta os métodos que estão abaixo dela. Scrum é um dos vários métodos ágeis.

Scrum pode ser visto como uma forma prática de implementar Ágil. Assim como o Ágil, Scrum inclui um conjunto de valores e princípios. Equipes de desenvolvimento integram o Scrum à sua estratégia ágil para adicionar uma camada de especificidade.

Um princípio do desenvolvimento ágil é que os membros da equipe discutam regularmente como melhorar a eficiência e, em seguida, ajustem seu comportamento de acordo. Scrum incorpora um processo formal para ajudar as equipes a fazer isso. Reuniões diárias permitem que a equipe reflita sobre o que precisa ser feito nas próximas 24 horas e adapte sua abordagem com base em expectativas ou obstáculos encontrados.

Outro princípio ágil reconhece que o melhor trabalho vem de equipes autônomas. O Scrum Master desempenha um papel fundamental aqui. Ele fornece à equipe o que é necessário para concluir o trabalho e a liberdade para traçar seu próprio caminho. Em seguida, atua como um líder servidor, guiando a equipe na resolução de problemas, na consecução de metas e na resolução de conflitos.

Pilares e Valores do Scrum

Os três pilares do Scrum são Adaptação, Inspeção e Transparência.

  1. Adaptação. As equipes ajustam continuamente sua abordagem para resolver problemas e adotam novos métodos quando surgem novos problemas.
  2. Inspeção. As equipes refletem consistentemente e avaliam seu próprio desempenho.
  3. Transparência. A equipe trabalha em um ambiente aberto em que todos os membros compreendem os processos uns dos outros e estão cientes dos desafios enfrentados pelos demais.

Os Cinco Valores Centrais do Scrum

Esses valores sustentam os três pilares:

  1. Compromisso. A equipe é autônoma e todos estão comprometidos em concluir o trabalho acordado.
  2. Coragem. A equipe atua como um todo — triunfando ou falhando juntos. Os membros fazem o que é certo e enfrentam questões difíceis.
  3. Foco. As distrações são limitadas, e a equipe se concentra no trabalho que precisa ser feito hoje.
  4. Transparência. A equipe dedica tempo para compartilhar o que está indo bem e o que precisa ser melhorado.
  5. Respeito. Os membros da equipe têm diferentes pontos fortes, e os pontos fortes de cada pessoa são respeitados. Ninguém é culpado ao tentar encontrar soluções para problemas.

O Scrum é um framework de gestão de projetos que enfatiza trabalho em equipe, responsabilidade e progresso iterativo em direção a objetivos bem definidos. O framework começa com uma premissa simples: comece com o que pode ser visto ou conhecido. Em seguida, acompanhe o progresso e ajuste conforme necessário.

O Scrum é comumente parte do desenvolvimento ágil de software. Ele recebeu seu nome de uma formação de rugby na qual todos têm um papel. Os papéis no Scrum no desenvolvimento de software incluem:

  • Proprietário do Produto — Essa pessoa atua como intermediária entre a equipe de desenvolvimento e o cliente. O Proprietário do Produto garante que as expectativas sobre o produto final sejam comunicadas e alinhadas.
  • Mestre do Scrum — Conhecido como facilitador do projeto. Eles garantem que as melhores práticas do Scrum sejam seguidas. Devem ser excelentes líderes e gestores de projetos, com habilidades em colaboração, resolução de conflitos e melhoria de processos.
  • Equipe de Desenvolvimento — Membros da Equipe de Desenvolvimento do Scrum trabalham juntos para criar e testar versões incrementais do produto final. Os desenvolvedores devem compreender o Scrum e as práticas de desenvolvimento ágil.

What is Scrum Team? - Scrum Guide

O que é o Processo Scrum?

O processo Scrum incentiva os profissionais a usar o que têm e avaliar continuamente o que funciona e o que não funciona. Uma boa comunicação é essencial e ocorre por meio de reuniões (chamadas de “eventos”).

Os eventos do Scrum incluem os seguintes:

Scrum Events

  • Reunião Diária (Daily Scrum) — Trata-se de uma reunião diária curta e em pé realizada no mesmo horário e local todos os dias. Nesses encontros, a equipe revisa o que foi concluído no dia anterior e planeja o que será feito nas próximas 24 horas. É o momento em que os membros da equipe discutem quaisquer problemas que possam impedir a conclusão do projeto.
  • Sprint — Um Sprint é um período fixo (geralmente de 30 dias) durante o qual o trabalho deve ser concluído. Um novo Sprint começa imediatamente após o término do anterior.
  • Reunião de Planejamento do Sprint — Nestas reuniões, todos participam na definição de metas. Como mínimo, o resultado é pelo menos um incremento — uma parte funcional do software.
  • Revisão do Sprint — É a hora de demonstrar o incremento.
  • Retrospectiva do Sprint — A Retrospectiva do Sprint é uma reunião realizada após o término do Sprint. Durante esta reunião, todos refletem sobre o processo. Exercícios de desenvolvimento de equipe também podem ser incluídos. Um dos principais objetivos deste evento é a melhoria contínua.

O que são os Artefatos do Scrum?

É útil revisar os artefatos do Scrum durante as reuniões de planejamento do Sprint. Os artefatos do Scrum incluem os seguintes:

Scrum Artifacts

  • Backlog do Produto — Trata-se da lista de trabalhos ainda pendentes. Durante as sessões de aprimoramento do backlog do produto, a equipe de desenvolvimento trabalha com o proprietário do negócio para priorizar o backlog. O backlog do produto pode ser aprimorado em um processo chamado aprimoramento do backlog.
  • Backlog do Sprint — Trata-se da lista de tarefas que devem ser concluídas antes de entregar os itens selecionados do backlog do produto. Essas tarefas são divididas em histórias de usuário com tempo definido.
  • Incremento do Produto — Representa o que foi concluído durante um Sprint — todos os itens do backlog do produto concluídos nesse Sprint — mais tudo criado em Sprints anteriores. O Incremento do Produto reflete o progresso realizado.
  • Gráfico de Baixa de Trabalho — Um Gráfico de Burn Down é uma representação visual da quantidade de trabalho restante. Ele possui um eixo Y que mostra o trabalho e um eixo X que mostra o tempo. Idealmente, o gráfico mostra uma tendência descendente à medida que o trabalho restante diminui para zero ao longo do tempo.

Benefícios do Método Scrum

Os principais benefícios do Scrum incluem:

  • Produtos de Alta Qualidade — A fase de retrospectiva do Sprint no processo Scrum se baseia em feedback e melhoria contínua. Como resultado, equipes de desenvolvimento que utilizam este método conseguem entregar produtos de alta qualidade.
  • Trabalho em Equipe — O Scrum cria equipes coesas de desenvolvimento de software que se comunicam eficazmente, cumprir prazos e resolver problemas juntas. Os membros confiam e respeitam uns aos outros e entendem que o tempo é valioso. Isso pode significar limitar as reuniões diárias a janelas de tempo rigorosas. Algumas equipes de software incluem um “sprint de hack” em seu processo, permitindo que os desenvolvedores explorem novos conceitos, testem ideias e assumam a responsabilidade pelo produto.
  • Flexibilidade — Com o Scrum, as equipes devem adaptar suas ferramentas e processos a novas circunstâncias. As definições de produto podem evoluir conforme o desenvolvimento avança, e equipes eficazes entregam essas mudanças ao longo de várias iterações. Reuniões regulares do Product Backlog permitem que a equipe reavaliar a prioridade antes que os itens entrem em um Sprint.
  • Risco Reduzido — O Scrum se concentra em velocidade de entrega previsível e sustentável e em feedback consistente, dando às equipes a oportunidade de reduzir o risco cedo e frequentemente. Se uma ideia não funcionar, os Sprints curtos permitem que a equipe falhe rapidamente, tornando a falha gerenciável.
  • Tempo de Lançamento Mais Curto — O Scrum é projetado para lançar produtos e funcionalidades em incrementos previsíveis usando Sprints bem definidos. Lançar funcionalidades não exige concluir todo o produto. Os Sprints são projetados para adicionar funcionalidades entregáveis em cada incremento. O produto completo composto por essas funcionalidades é chamado de produto complexo.
  • Retorno sobre Investimento (ROI) Maior — As vantagens combinadas do Scrum levam a um ROI maior. O feedback contínuo reduz erros custosos no final do processo e resulta em melhor qualidade do produto com menos defeitos. Tempo de lançamento mais curto e lançamentos incrementais trazem receita mais rapidamente.

Leave a Reply