Domain Game – Uma dinâmica para todos

Desenvolver um produto requer muita comunicação. Os desafios de se transferir conhecimento são grandes. Bem como o desafio de se ter um bom ambiente onde desenvolvedores, testers e outros papéis técnicos consigam se comunicar com eficácia e eficiência com aqueles que dominam o negócio acerca do produto.

Foi tendo este desafio em mente que criei o “Domain Game”.

O Domain Game é um Agile game que visa auxiliar a ardua tarefa de disseminação de conhecimento, de uma forma simples e divertida.

O Domain Game se baseia no Domain Drive Design onde, através do Domain Model e a Ubiquitous Language podem ser geradas perguntas que são apresentadas ao Time de desenvolvimento. Vamos explicar a dinâmica.

O Product Owner junto do Domain Expert, Analista de Negócios e Clientes geram uma série de perguntas em torno de Domain Model do produto, exemplo:

Digamos que estamos tratando do desenvolvimento de um software de Nota Fiscal Eletrônica, podemos formular algumas questões:

  • O que significa NFe?
  • Para que serve uma Nota Fiscal?
  • O que siginifica DANF?
  • O que siginifica ICMS?
  • O que signifca ISS?
  • Qual a diferença entre tributo, imposto e taxa?
  • É correto afimar que existem mais tributos que impostos?
  • Quando é emitida uma Nota Fiscal Eletrônica?

Uma vez geradas estas perguntas, podemos reunir todos envolvidos possíveis numa sala.

Product Owner, Analistas de Negócio, Domain Expert e Cliente irão fazer o papel do “Caixa”. Tanto o Caixa quanto cada membro do Time começam o jogo com uma quantidade de bombons, semelhante ao “stack” do Poker.

O Caixa irá realizar uma pergunta para um membro do Time por vez. Se o membro do Time acertar a pergunta, ele recebe um bombom do Caixa. Se ele errar a resposta, ele dá um bombom para o caixa.

O jogo pode ficar ainda mais interessante. Caso o Caixa realize uma pergunta a um membro do Time, e este dar uma resposta e outro membro do Time achar que aquela não foi a resposta correta e quiser responder a pergunta do Caixa, ele pode desafiar a resposta do membro anterior. Aí, a quantidade de bombons envolvidas na aposta aumenta.

 

 

 

 

 

 

 

 

 

Quem acertar, leva os bombons envolvidos na disputa. Se ambos errarem o Caixa leva tudo.

O jogo não tem uma busca por vencedor. O ideal é que se estipule um Time Box para se jogar. Ao final do tempo, uma boa dica é juntar os bombons e repartir entre todos, com todo mundo que estiver por perto, pelo caminho e etc.

Ao final do jogo, podemos fazer um Retrospectiva para avaliar como o Domain Model  está absorvido pelo Time. Nesta Retrospectiva podemos verificar tais pontos:

  • Entendimento sobre o Domínio: O Time teve muitas duvidas quanto as perguntas realizadas?
  • Entendimento sobre a lingaguem do Domínio: O Time compreende os jargões e metáforas?
  • Ambiente saudável: O jogo foi jogado de forma descontraída e alegre? Houve pressão?

O Domain Game não tem regras especifícas. Ele tem diretriz. Você pode adaptá-lo para jogar em pares, grupos, usar tabuleiros. Busque apenas criar um bom ambiente e através dele, fortalecer o entendimento do Domínio.

O Domain Game é um jogo integrativo. Visa aproximar o Cliente e especialistas do Negócio ao Time de desenvolvimento, gerando uma interação mais amigável e sustentável.

Eu já utilizei o jogo em Domínio muito complexos e com várias pessoas envolvidas e os resultados foram bons. Geralmente o aplico no início do desenvolvimento do produto ou de um novo módulo, para podermos validar nosso entendimento.

Eu apresentei o Domain Game em uma Talk no Agile Brazil 2011.

Aqui estão os slides da apresentação.

Utilize também e compartilhe os resultados.

Anúncios