< Insights

Definition of Ready (DoR): exemplos e como fazer

  • Desenvolvimento de Software

O tempo de uma equipe é muito precioso para que comecem a trabalhar em atividades que ainda tem pontos em aberto ou definições mal feitas, e que irão gerar retrabalho ou espera deles. Neste ponto o desenvolvimento de software tem alguns pontos em comum com a pastelaria, pois não é possível ir fritando um pastel e escolher o sabor depois. 

Neste ponto a utilização de técnicas como o DoR pode ajudar a aumentar a produtividade e qualidade. Confira como neste post.

Funcionamento e utilidade do definition of ready I Foto: Pixabay

Aqui será apresentado esse conceito e como se dá seu funcionamento, que utilizado da forma correta ajudará no planejamento do desenvolvimento dos itens do backlog do produto. 

O que é Definition of Ready?

Definition of ready, conhecido pela sigla DoR, que traduzido para o português significa definição de pronto, trata-se de um acordo de trabalho entre o time de Desenvolvimento e Product Owner, aplicado a todas as histórias de usuários. O objetivo é que o time inicie os trabalhos somente quando os itens do backlog estiverem  100% detalhados e acertados. 

Em outras palavras, o DoR é um checklist de requisitos que determinada história ou tarefa está pronta para execução pelo time. 

Para esse conceito ficar mais fácil, pense no seguinte exemplo: quando você decide fazer um bolo, antes de iniciar o preparo, é necessário que você olhe no armário ou na despensa de sua casa se lá contém todos os ingredientes descritos na receita. Caso tenha, aí sim você pode iniciar o preparo do bolo. Caso não tenha, você precisa providenciar o que está faltando. Essa verificação faz parte do processo e é muito importante.

Mesmo que fazer um bolo seja um exemplo simples, dentro das corporações, quando falamos de definition of ready, a ideia é a mesma.Antes de ser repassado ao time o PO deve garantir que os itens estejam atendendo os critérios de “Ready”.

Ou seja, preparados, suficientemente descritos e compreendidos por todo o time de desenvolvimento. Somente assim, eles terão condições de planejá-lo e estabelecer um compromisso em relação à implementação no produto. 

É importante não confundir DoR com DoD, pois na tradução os dois se reduzem a Definição de Pronto. O DoR pode ser traduzido para Definição de Pronto e DoD para Definição de Feito.

Definition of ready: outros conceitos importantes

Agora que já apresentamos a ideia principal do DoR, para compreensão plena desse modelo de metodologia ágil, é necessário ter um conhecimento breve ou, pelo menos, uma noção do significado de alguns termos.

Product Owner, backlog, Sprint e Scrum, por exemplo, são palavras que fazem parte desse contexto e são conhecimentos importantes dentro da  metodologia ágil. Por isso, vamos explicar o que é cada um desses conceitos que estão totalmente interligados. 

Product Owner

Product Owner ou simplesmente PO, criado inicialmente pelo framework SCRUM, é um dos papéis primordiais para a transformação ágil em uma empresa e, consequentemente, para o sucesso de um projeto. Em ações de desenvolvimento de software, o PO tem a atribuição de maximizar o valor resultante do produto. A responsabilidade de tornar o item “ready” é dele. 

É ele quem gerencia o backlog e, a partir disso, o time de desenvolvimento planeja as atividades que serão realizadas em cada Sprint de desenvolvimento. Isto é, o PO é responsável por idealizar um serviço ou produto, desde a realização de pesquisas de mercado até a definição do sucesso da solução, definindo o que será feito e quando será feito, trazendo um objetivo a equipe. 

Além disso, é importante destacar que o Product Owner deve ser o ponto de convergência entre o time de desenvolvimento e o cliente. Portanto, é fundamental que ele tenha a habilidade de transitar tanto na área de tecnologia quanto na de negócios. 

Backlog

Backlog é um termo geralmente usado nos modelos ágeis de gestão para se referir a uma lista das tarefas necessárias para a entrega de um produto. Nessa lista ordenada, contém funcionalidades, requisitos e tudo que é necessário em um produto.

Esse termo engloba técnicas de organização e priorização que o tornam um dos artefatos mais importantes na realização de um projeto ágil bem-sucedido. Ao invés de ter uma lista de tarefas tradicional, é recomendado ter um backlog para gerar mais transparência durante o desenvolvimento do projeto.

Além disso, nivelar o entendimento de todos a respeito do que precisa ser feito e também maximizar a possibilidade de constantes avaliações e adaptações durante o processo.

Itens

No contexto do desenvolvimento de software, pode-se pensar em quatro tipos de itens que fazem parte do backlog:

  • Conjunto de desejos dos stakeholders do projeto, que geralmente são divididos entre funcionalidades e interfaces do sistema;
  • Atividades técnicas mapeadas pelo time de desenvolvimento indispensáveis para o funcionamento do software;
  • Itens de melhoria contínua que costumam estar relacionados a questão de usabilidade e performance do produto
  • Conhecimentos específicos que precisam ser adquiridos para desenvolver o produto

Sprint

Sprint é um conceito utilizado no Scrum, que consiste em cada uma das etapas de um projeto, determinadas em espaços específicos de tempo. Trata-se de uma reunião de pessoas envolvidas em um projeto para promover o seu desenvolvimento. 

Em cada uma das fases representadas por ele, deve ser concluído um trabalho específico, que será preparado e enviado para uma revisão. Após a conclusão de um, uma nova Sprint se inicia. 

Como montar a definição de pronto

Uma forma simples de montar esta definição é através de um workshop com os envolvidos buscando identificar os critérios de uma história “bem definida”. Provavelmente este critério incluirá o INVEST.

Procure identificar também quais foram os blockers que ocorreram ultimamente, e se possível adicione mais alguns critérios para evitar impedimentos no futuro.

Vale lembrar que esta definição é dinâmica, podendo ser adicionado ou excluídos itens a qualquer momento.

Exemplos de Definition of Ready

Depois dessa explicação sobre o conceito de definition of ready, suas etapas e seu funcionamento, vamos exemplificar alguns itens que precisam estar na lista do DoR.

  • História de usuário devem ser escritos com o padrão de escrita INVEST;
  • Histórias de usuários devem possuir ao menos um critério de aceite, que precisam estar claros;
  • Histórias de usuário devem possuir wireframe de baixa fidelidade;
  • Serviço de integração disponível para consulta;
  • Design e HTML prontos;
  • Dados para teste;
  • Acesso GET/POST a aplicação.

Portanto, pode-se observar que o definition of ready é uma técnica  utilizada dentro das metodologias ágeis que pode facilitar o processo de desenvolvimento de seu projeto e garantir o sucesso do mesmo. 

Insights do nosso time

Obtenha insights do nosso time de especialistas sobre metodologias de desenvolvimento de software, linguagens, tecnologia e muito mais para apoiar o seu time na operação e estratégia de negócio.