09/09/2017

SCRUM

Scrum é o principal modelo ágil utilizado hoje para gerenciar projetos e é baseado nas melhores práticas aceitas atualmente pelo mercado, utilizadas e provadas por décadas.

Desta forma, podemos dizer que é definido através de uma teoria forjada por processos empíricos. Ao contrário do que muitos pensam, o Scrum vem sendo utilizado para o desenvolvimento de produtos complexos desde o início dos anos 90.

O que o Scrum NÃO é ?

Scrum NÃO é um processo ou uma técnica para o desenvolvimento de produtos.

O que o Scrum é, então ?

Este modelo é considerado um framework dentro do qual você pode empregar diversos processos e técnicas. O papel do Scrum é fazer transparecer a eficácia relativa das suas práticas de desenvolvimento para que você possa melhorá-las, enquanto provê um framework dentro do qual produtos complexos podem ser desenvolvidos.

Abaixo apresento uma ilustração do Framework Scrum:

Scrum Framework

Sendo assim, o Scrum é fundamentado na teoria de controle de processos empíricos, empregando uma abordagem iterativa e incremental para otimizar a previsibilidade e controlar riscos.

Atualmente três pilares sustentam cada implementação de controle de processos empíricos.  São eles:

O primeiro pilar é a transparência

  • A transparência garante que aspectos do processo que afetam o resultado devem ser visíveis para aqueles que gerenciam os resultados;

O segundo pilar é a inspeção

  • Os diversos aspectos do processo devem ser inspecionados com uma frequência suficiente para que variações inaceitáveis no processo possam ser detectadas;

O terceiro pilar é a adaptação

  • Se for determinado, a partir da inspeção, que um ou mais aspectos do processo estão fora dos limites aceitáveis e que o produto resultante será inaceitável, ele deverá ajustar o processo ou o material sendo processado. Esse ajuste deve ser feito o mais rápido possível para minimizar desvios posteriores.

Inspeção e Adaptação

Segundo os pilares do Scrum, existem hoje, três pontos para inspeção e adaptação em Scrum:

Daily Scrum

  • É uma reunião utilizada para inspecionar o progresso em direção à Meta da Sprint e para realizar adaptações que otimizem o valor do próximo dia de trabalho.

Reuniões de Planejamento e Revisão da Sprint

  • São utilizadas para inspecionar o progresso em direção à Meta da Release e para fazer as adaptações que otimizem o valor da próxima Sprint;

Retrospectiva da Sprint

  • É utilizada para revisar a Sprint passada e definir quais adaptações tornarão a próxima Sprint mais produtiva.

Dentro do framework Scrum existe um conjunto formado por Times de Scrum e seus papéis associados, Time-Boxes (eventos com duração fixa), Artefatos e Regras.

Papéis do Scrum

Scrum Master

  • É o responsável por garantir que o processo seja compreendido e seguido (não é necessariamente um gerente de projetos).

Product Owner

  • É responsável por maximizar o valor do trabalho que o Time de Scrum executa.

Membros do Time

  • São as pessoas que executam o trabalho propriamente dito. O Time consiste em desenvolvedores com todas as habilidades necessárias para transformar os requisitos do Product Owner em um pedaço potencialmente entregável do produto ao final da Sprint.

Um fato relevante a ser aprestado sobre o Scrum é que o mesmo não utiliza cronogramas e sim eventos com duração fixa, que são chamados de “Time Boxs”, o que cria uma regularidade temporal.

Exemplo disso são as reuniões de planejamento da release, a reunião de planejamento de Sprint, a Sprint em si, a Daily Scrum (reunião diária), a revisão da Sprint e a retrospectiva da Sprint. Todos estes itens citados fazem utilização de Time Box.

Estamos falando sobre Sprint, mas o que exatamente seria uma Sprint?

A Sprint é o cerne do framework Scrum. É uma iteração de um mês ou menos (depende de cada projeto), de duração consistente com o esforço de desenvolvimento.  Todas as Sprints devem utilizar o mesmo modelo de Scrum e devem ter como resultado um incremento do produto final que é potencialmente entregável.

Sempre uma Sprint inicia imediatamente quando a anterior finaliza.

Principais Artefatos

Product Backlog – É uma lista priorizada de tudo que pode ser necessário no produto.

Backlog do Produto

Sprint Backlog – É uma lista de tarefas para transformar o Product Backlog, por uma Sprint, em um incremento do produto potencialmente entregável.

Backlog da Sprint

Um Burndown de Sprint mede os itens do Sprint Backlog restantes ao longo do tempo de uma Sprint.Scrum Burndown