Páginas

Pesquisar neste blog

16 de julho de 2020

Artefatos do Scrum


Esse post faz parte de uma série sobre Scrum e descreve os Artefatos do Scrum

A série é composta pelos posts:

Artefatos

Os artefatos do Scrum foram desenvolvidos para manter a transparência do que está sendo executado, e para garantir que todos da equipe tenham um entendimento do artefato.

O Scrum possui os seguintes artefatos:
  • Product Backlog
  • Sprint Backlog
  • Incremento

Product Backlog

O Product Backlog é uma lista ordenada de tudo o que é necessário para o produto. É a única fonte de informações dos requisitos das alterações que podem ser feitas no produto.
 
O Product Owner é o responsável pelo Product Backlog, incluindo o conteúdo, a disponibilidade e a ordenação.
 
O Product Backlog nunca está completo. A primeira versão possui somente os requisitos iniciais conhecidos até o momento. Conforme o produto vai evoluindo o Product Backlog vai evoluindo também.  

O Product Backlog é dinâmico porque o produto passa por diversas fases, e enquanto o produto existir o Product Backlog deve existir também.
 
O Product Backlog lista todas as características, funções, requisitos, melhorias e correções que constituem as alterações que podem ser feitas no produto para as próximas distribuições.
 
Os itens do Product Backlog possuem os atributos de descrição, ordem, estimativa e valor.
 
Conforme o produto for sendo utilizado e o mercado começar a dar retorno sobre o produto, o Product Backlog vai crescendo e se tornando uma lista cada vez maior. Os requisitos nunca param de sofrer alterações. Mudanças nos requisitos de negócios como, por exemplo, mudanças fiscais, mudanças de condições de mercado ou mudanças tecnológicas podem promover alterações no Product Backlog.
 
O refinamento do Product Backlog é o ato de incluir detalhes, estimativas e dar ordem aos itens. Este é um processo onde o Product Owner e a equipe de desenvolvimento colabora nos detalhes dos itens. 

Durante o refinamento os itens são revisados. A equipe do Scrum decide onde e quando o refinamento deve ser realizado. Ele não deve consumir mais do que 10% da capacidade da equipe de desenvolvimento. Entretanto os itens do Product Backlog podem ser atualizados a qualquer momento pelo Product Owner.
 
Os itens ordenados na posição mais alta são normalmente mais detalhados e claros do que os itens ordenados nas posições mais baixas. As estimativas dos itens mais claros e detalhados são também mais precisos.
 
Os itens do Product Backlog que irão ocupar a equipe de desenvolvimento no próximo Sprint são os que poderão atingir os status Done, dentro de um período de um Sprint.
 
Os itens que podem ser executados pela equipe de desenvolvimento, ou seja, que podem assumir o status Done são considerados como Ready para a seleção do Sprint Planning.
 
A equipe de desenvolvimento é a responsável por todas as estimativas. O Product Owner pode auxiliar a equipe de desenvolvimento no entendimento ou selecionando algumas trocas de itens, mas as pessoas que irão trabalhar no desenvolvimento é que definem a estimativa final.

A Figura abaixo exibe o exemplo de um Product Backlog do projeto de uma Biblioteca Virtual.



Sprint Backlog

O Sprint Backlog é criado pela equipe de desenvolvimento. Possui a previsão sobre qual funcionalidade estará presente no próximo Incremento, e o trabalho necessário para entregar essa funcionalidade.

O Sprint Backlog torna visível todo o trabalho que a equipe de desenvolvimento identifica como necessário para atingir o Sprint Goal

A equipe de desenvolvimento modifica o Sprint Backlog durante todo o Sprint. Conforme novos trabalhos são necessários, a equipe inclui os novos trabalhos. A estimativa sofre atualizações à medida que o trabalho é completado. Quando elementos do plano são considerados desnecessários, eles são removidos. Somente a equipe de desenvolvimento pode alterar o Sprint Backlog durante um Sprint.
 
O Sprint Backlog é um retrato em tempo real altamente visível, do trabalho que a equipe de desenvolvimento espera cumprir durante o Sprint, e ele pertence somente à equipe de desenvolvimento.

O progresso do Sprint pode ser monitorado através da verificação do trabalho pendente. A qualquer momento durante o Sprint o total de trabalho faltante pode ser visualizado. A equipe de desenvolvimento monitora o total de trabalho faltante pelo menos uma vez ao dia, durante o Daily Scrum.

A Figura abaixo exibe o exemplo de um Sprint Backlog do projeto de uma Biblioteca Virtual.


Incremento

O incremento é a soma de todos os itens completados do Product Backlog durante o Sprint, e o valor de todos os incrementos de todos os Sprint anteriores.
 
No final do Sprint o novo incremento deve estar com o estado Done, o que significa que ele está em condições de usabilidade independentemente do Product Owner resolver lançar ou não.

Quando um item do Product Backlog ou um Incremento é definido com o estado Done todos devem estar cientes do significado de Done. Apesar de o significado poder variar significativamente entre os membros do Scrum Team, os membros devem compartilhar o significado para que o trabalho esteja completo e a transparência garantida. 
 
A mesma definição guia a equipe de desenvolvimento em quantos itens do Product Backlog podem ser selecionados durante um Sprint Planning. O propósito de cada Sprint é entregar Incrementos de funcionalidades potencialmente prontas para lançamento, que aderem à definição de Done do Scrum Team.
 
A equipe de desenvolvimento entrega um Incremento de funcionalidade do produto a cada Sprint. Esse Incremento é utilizável, portanto o Product Owner pode optar pelo lançamento.
 
O Scrum Team deve seguir a definição de Done se o Incremento é parte da convenção padrão ou orientação da organização de desenvolvimento. Se a definição de Done para um Incremento não é uma convenção na organização de desenvolvimento, a equipe de desenvolvimento do Scrum Team deve definir uma definição de Done apropriada para o produto.

Se existem múltiplos Scrum Team trabalhando no sistema ou lançamento do produto, a equipe de desenvolvimento de todos os Scrum Team, devem mutuamente definir o significado de Done.
 
Cada Incremento é um aditivo de todos os Incrementos anteriores e completamente testados, garantindo que todos os Incrementos trabalhem juntos.
 
Conforme o Scrum Team vai amadurecendo, é esperado que suas definições de Done sejam expandidas a fim de incluir critérios mais rigorosos para melhorar a qualidade. Qualquer produto ou sistema deveria ter uma definição de Done que é um padrão para qualquer trabalho executado.