Scrum para Iniciantes: o que é, como funciona, benefícios e cargos!

Se você é da TI – principalmente da área de desenvolvimento – já deve ter escutado sobre Scrum em algum momento. Isso por ser um termo muito ligado a área de projetos e de desenvolvimento de software. Aliás, sempre surge aquela famosa dúvida:

“Scrum é um processo, metodologia, cultura ou framework?”

Se você chegou até esse post procurando apenas pela resposta a essa questão. Calma, continue lendo, pois logo irei esclarecer essa “polêmica”.

Você pode sim ir direto para a resposta, mas te encorajo fortemente a ler todo o artigo. Tenho certeza que você não irá se arrepender. Vai acabar se apaixonando pelo Scrum! Modéstia a parte, o post ficou bem completo. Nesse post, iremos aprender sobre:

  • A história do Scrum: de onde ele veio e o que define sua aplicação em um projeto;
  • Os benefícios de utilizá-lo com a sua equipe, seja no trabalho, na universidade ou em projetos pessoais;
  • As subdivisões do Scrum;
  • Os principais cargos e papeis.

Além, é claro, dar boas dicas sobre como aprender muito mais sobre o assunto. Pronto para desvendar o mundo do Scrum? Vamos lá!

Rugby e a origem do Scrum

Antes de mais nada, vamos a definição de Scrum! Ele faz parte das metodologias ágeis de desenvolvimento. Mas isso não significa que o Scrum é classificado como uma metodologia. Na verdade, o Scrum é oficialmente considerado um framework. Sim, um framework! Além de especificar etapas, prazos e cargos dentro de um projeto de software, o Scrum também engloba uma série de parâmetros, procedimentos e nomenclaturas próprias.

A curiosidade dessa história é a sua origem, que começou longe da computação. Foi na indústria automobilística que os japoneses Takeuchi e Nonaka perceberam, durante os anos 80, que projetos com equipes multidisciplinares eram mais produtivos. Eles deram o nome de Scrum porque esse era um termo ligado ao esporte Rugby que, por sua vez, é similar à forma como a metodologia é aplicada.

No Rugby, o time define um objetivo: mover a bola em direção ao gol. Então esse time organiza-se em uma formação que exige a colaboração de todos. Se um dos seus jogadores não estiver comprometido com a sua função, pode fazer o time inteiro cair. Sendo assim, baseado nessa filosofia, Takeuchi e Nonaka criaram a primeira versão do framework.

No setor de tecnologia, a primeira implementação com sucesso foi feita por Jeff Sutherland, Jeff McKenna e John Scumniotales. Eles documentaram todo o processo de aplicação em sua empresa, em 1993. Em 1995, Ken Schwaber ajudou a disseminar a metodologia pelo mundo, tornando-a popular como é hoje.

Benefícios do framework ágil

Os benefícios de aplicação do Scrum são inúmeros. Muito disso é devido a sua origem baseada em metodologias industriais de sucesso, como o Sistema Toyota de Produção. A grande habilidade desse framework é a de traduzir conceitos que deram certo na indústria, para empresas de software e projetos em geral.

Entrega contínua

Uma das maiores vantagens de utilizar o Scrum é a entrega contínua. No modelo tradicional de desenvolvimento de software, costuma-se entregar uma versão final pronta e adicionar alterações apenas após a entrega. No Scrum, a ideia é bem diferente.

Trabalha-se com o famoso MVP (Minimum Viable Product – Produto Mínimo Viável). O foco é desenvolver as principais funcionalidades do produto e entregá-las assim que elas estiverem prontas. Isso agiliza o desenvolvimento do projeto, acelera as entregas que mais importam para o cliente e permite que sejam feitas alterações no projeto ao longo desse processo, não apenas depois da entrega final. Logo, é possível evitar bastante retrabalho!

Ao contrário do método tradicional de desenvolvimento de software, com o Scrum o foco é realizar entregas de alto valor ao cliente. Isto é, prioriza-se as funcionalidades de maior valor de negócio para que, antes mesmo do desenvolvimento do produto terminar, já se possa entregar algo palpável e utilizável para o cliente.

Isso permite o lançamento de um produto que atenda as necessidades mais valiosas do usuário em menor tempo. E o cliente consegue perceber rapidamente aonde e como o seu dinheiro está sendo investido.

Projetos de alta qualidade

Outro benefício atribuído a aplicação do Scrum é a alta qualidade das entregas do projeto. Como as entregas são feitas incrementalmente, valida-se continuamente o produto. É possível corrigir erros, problemas e possíveis bugs em todas as etapas do projeto, assim que forem percebidos.

Isso faz com que as entregas sejam as melhores possíveis em termos de qualidade. Além de abreviar o processo de correção de bugs após a entrega final.

Transparência do projeto

A total transparência do projeto é também um grande benefício do framework. Como as equipes são focadas em um projeto, a ideia é haver total visibilidade do progresso para todos os membros da equipe. Uma das formas de fazer isso é através do Daily Scrum – você já vai entender o que é isso, segura o coração! – e de um quadro Scrum.

Este quadro tem como objetivo mostrar em que etapa o projeto está, quais tarefas faltam ser realizadas e quem está responsável por cada uma delas. O quadro é organizado por categorias. Entre as categorias mais conhecidas, temos a famosa trinca: “To do” (para fazer), “Doing” (fazendo) e “Done” (pronto). Utiliza-se post-its para colocar cada atividade do projeto em suas determinadas situações.

IMPORTANTE: na grande maioria dos projetos que usam o Scrum, só a trinca citada acima não é suficiente. É muito comum termos também as categorias Product Backlog, Sprint Backlog, Stories, Test e Release.

“Ok, já sei por que adotar essa metodologia. Agora quero saber como ela funciona!”

Seu pedido é uma ordem, vamos lá!

Framework e Processo

Para que o Scrum funcione com qualidade e eficiência, é necessário que ele atenda alguns requisitos. Como são muitas nomenclaturas e diferentes especificações, vamos listar abaixo as mais importantes e explicar porque você deve conhecê-las.

Product Backlog

É a primeira etapa do quadro. Nela estão listados todos os requisitos que devem ser desenvolvidos e suas respectivas prioridades. Nessa lista, encontram-se as funcionalidades que serão entregues para o cliente. Trata-se de uma espécie de documento que pode ter alterações a qualquer instante, devido ao caráter mutável de projetos com Scrum. Como falei antes, essa característica é uma das vantagens da metodologia, já que se torna adaptável às mudanças que ocorrem durante o desenvolvimento.

Tendo o Product Backlog devidamente populado, parte-se para o Sprint Backlog.

Sprint Backlog

Trata-se da lista de tarefas que obtiveram as maiores prioridades no Product Backlog. Estas tarefas serão desenvolvidas durante os Sprints. Como não é possível fazer tudo de uma vez só, antes de cada Sprint, uma reunião chamada de Sprint Planning Meeting é realizada. Essa reunião é realizada justamente para definir quais tarefas entraram naquele determinado Sprint.

Tá confuso, certo? Bom, vamos resumir cada termo:

  • Sprint Backlog: uma tarefa ou atividade que precisa ser realizada para o projeto avançar;
  • Sprint: período de tempo pré-determinado no início de cada projeto (podem ser dias ou semanas). É o tempo que cada equipe terá para desenvolver e se comprometer com as atividades de determinado Sprint;
  • Sprint Planning Meeting: reunião de planejamento de cada Sprint. Em outras palavras, é a reunião que define quais atividades serão desenvolvidas naquela Sprint (período de tempo). A cada nova Sprint, uma nova Sprint Planning Meeting é realizada por consequência. Vale ressaltar que essas reuniões são pontos altos do Scrum, pois são nelas que se discutem os pontos que devem ser priorizados em seguida, bem como, dificuldades que foram identificadas e os métodos para resolvê-las.

Na Becode, por exemplo, a nossa Sprint dura uma semana (7 dias), a nossa Sprint Planning Meeting é toda segunda-feira e o Sprint Backlog é uma das atividades que nos comprometemos a fazer durante aquela semana.

Daily Scrum:

É uma reunião diária, na qual define-se as tarefas do dia. Essas reuniões podem ter uma série de regras, como podemos ver abaixo:

  • Não deve haver atraso para iniciar esta reunião
  • Geralmente poucas pessoas falam (somente quem precisa falar)
  • Não deve durar mais que 15 minutos
  • Deve haver constância de dia, horário e local
  • Deve-se responder as três perguntas abaixo em toda reunião:
    • O que foi feito de ontem pra hoje?
    • O que será feito hoje?
    • Teve problemas para realizar suas tarefas?

Podem parecer regrinhas um pouco chatas, mas graças a elas temos alguns dos melhores pontos do Scrum, a objetividade e economia de tempo. Foca-se somente no que é necessário (reuniões objetivas), evitando distrações e conversas cruzadas, por exemplo.

Sprint Review Meeting

Nessa reunião revisa-se todo o trabalho feito e apresenta-se as demos ao cliente. Caso não tenha sido possível realizar alguma das tarefas do Sprint a tempo, discute-se o que será possível fazer para contornar o problema.

Com a demo, é possível que o cliente veja o produto em funcionamento e auxilie com feedbacks e sugestões visando alcançar os melhores resultados possíveis.

Sprint Retrospective

Funciona como uma reunião para revisão dos pontos positivos e negativos do sprint que foi realizado. Esta reunião tem o objetivo de rever os erros e acertos do último Sprint. É considerada uma das reuniões mais importantes, já que é a chance de aprender com os erros e replicar ações que renderam bons resultados. Com isso obtém-se uma melhoria contínua dos processos internos.

Cargos e Time Scrum

Dentro da estrutura do Scrum existem funções que estabelecem as responsabilidades de cada pessoa durante o processo de desenvolvimento. Vamos ver quais são essas atribuições agora:

Product Owner

É o responsável por definir os itens que irão compor o Product Backlog e por dirigir o Sprint Planning Meeting. Ele é quem se responsabiliza por não trazer requisitos com prioridade baixa para o Sprint em questão, deixando-os para os Sprints posteriores.

Scrum Master

O Scrum Master assegura que as melhores práticas da metodologia estão sendo aplicadas. Ele também atua como um facilitador, procurando gerenciar cada Daily Scrum e retirar as barreiras que possam aparecer nessas reuniões.

Geralmente, o Scrum Master é como se fosse um gerente de projetos, já que ele irá conduzir a equipe. Entretanto, o Scrum Master não necessariamente precisa ter formação gerencial.

Scrum Team

O Scrum Team é composto pelos desenvolvedores. A ideia é não haver outras subdivisões, apenas uma equipe tradicional de desenvolvimento, contando de 5 a 9 membros preferencialmente. Contudo, se o time for composto por muitas pessoas, é importante considerar a possibilidade de montar mais de um Time Scrum. Se for necessário, dividindo as tarefas entre as equipes.

Nesse caso, como são muitos membros, a forma de fazer com que isso funcione é aplicando o conceito de “Scrum of Scrums”. A ideia é que cada equipe tenha uma pessoa que participe das “Scrum of Scrums Meetings”. Reunião que irá visar o alinhamento entre os demais times.

Essas “Scrum of Scrums Meetings” acontecem em paralelo com os Daily Scrums, mas não existe necessidade de serem diárias. A frequência delas vai depender da forma de trabalho de cada empresa, mas deve ocorrer pelo menos uma vez por semana.

O caminho para ser um Scrum Master!

O Scrum foi criado para tornar o trabalho de desenvolvimento muito melhor, principalmente para equipes grandes e/ou que estejam alocadas em locais diferentes. Mesmo que você não seja desenvolvedor, vale a pena conhecer esse framework. Ele tem sido utilizado também por empresas de diversas outras especialidades: dentro da TI, como infraestrutura e suporte; e fora do universo da tecnologia, em equipes de Marketing e projetos de outras áreas.

Bom, se você gostou e quer saber mais sobre o assunto e se tornar um Scrum Master (por que não?), eu sugiro você começar com um curso de Scrum completo! Para assim, entender tudo sobre o framework e todas as nomenclaturas, processos, boas práticas e cargos. Depois, você pode fazer simulados das provas de certificação para avaliar seus conhecimentos. Assim, você se prepara para passar na prova de certificação e, claro, para aplicar o framework ágil mais famoso do mundo no seu dia a dia.

Restando qualquer dúvida, deixe o seu comentário que teremos prazer em responder! Se você já utiliza métodos ágeis, conta pra gente como tem sido sua experiência, ok? Espero que esse post tenha ajudado você a entender um pouco mais sobre esse framework tão bacana! Até a próxima e sucesso na carreira!

 

Curso Online de Scrum Total - Formação Completa | Becode

Written by Becode

Nascemos para ser a sua fonte descomplicada de informações e aprendizado em programação e desenvolvimento. Por isso, aqui você encontra diversos materiais gratuitos, ebooks, posts, quizes, além de recomendações para os melhores cursos online da web. Esperamos que você goste!

8 tecnologias e ferramentas DevOps que você precisa conhecer! | Becode

8 tecnologias e ferramentas DevOps que você precisa conhecer!

O que é PHP e porque você precisa aprender HOJE! | Becode

O que é PHP e porque você precisa aprender HOJE!