Este guia tem o objetivo de orientar na elaboração de spikes, de forma a registrar corretamente o conhecimento obtido nessa atividade, prevista pela metodologia ágil TOTVS.

Clique aqui para ir para o Template para documentação de spikes.

O que é um spike? Qual seu objetivo?

Conforme definição encontrada aqui, spike é uma tarefa destinada a responder uma questão ou obter informação, em vez de produzir um produto. É utilizada quando não é possível estimar com segurança o esforço necessário para a implementação de uma estória.

Apropriando-se da analogia da escalada em rochas, usada neste artigo, durante a escalada, podemos não encontrar pontos de apoio naturais para continuar, sendo necessário cravar grampos (spikes) na parede rochosa para continuar subindo. Isso diminui a velocidade da escalada, mas dá segurança para seguir até o objetivo proposto.

Quando for desenvolver um spike, tente responder as seguintes perguntas:

  • Qual é o problema a ser resolvido?
  • É possível e viável resolvê-lo?
  • Quanto esforço será necessário?

Em suma, o conhecimento produzido e documentado no spike deve ser suficiente para o Product Owner criar estórias do que deve ser feito e para a equipe estimar o trabalho com assertividade.

Quando não usar um spike?

Aqui coloco resumidamente alguns pontos encontrados neste artigo que orientam a não utilizar um spike:

  • Quando a equipe tem dúvida sobre o porque da tarefa;
  • Para detalhar tecnicamente como realizar a tarefa;
  • Para resolver problemas de alta complexidade ou dificuldade;
  • Quando o resultado do spike não está claro;
  • Realizar spikes muito antes da sua implementação efetiva;
  • Para resolver deficit de conhecimento na equipe.

Onde armazenar o documento gerado

Recomenda-se uma pasta específica e de fácil localização para permitir a rápida recuperação de um spike. Dentro desta pasta, os documentos podem ser agrupados por tema, se fizer sentido.

No caso da equipe T-TALK, os spikes devem ser armazenados no seguinte local: Espaço Frameworksp > pasta T-TALK > Spikes.

Estrutura sugerida do documento

Recomenda-se que um documento de spike tenha os seguintes tópicos:

  1. Introdução
  2. Desenvolvimento do estudo
  3. Conclusões
  4. Referências consultadas

Na introdução, deve-se citar qual problema o spike quer resolver ou qual pergunta ele pretende responder. Importante também delimitar o escopo do estudo, indicando abordagens que não serão realizadas, se necessário. É interessante também justificar porque vale a pena conduzir o estudo (é a última chance antes que seja tarde demais para você perceber que gastou tempo a toa).

No desenvolvimento do estudo, deve-se registrar as discussões e procedimentos realizados. Faça uso de citações, gráficos e tabelas, de forma a clarificar as decisões tomadas e as alternativas escolhidas.

Nas conclusões, deve-se informar o resultado do estudo, que basicamente é responder a questão posta no objetivo. Um spike não precisa ser sempre uma resposta positiva. As vezes é necessário investir um tempo para saber que determinada tarefa não é possível de ser realizada. Os motivos para a resposta devem estar claros no desenvolvimento do estudo e nas conclusões. É possível também chegar ao ponto de que será necessário outro spike para se ter uma resposta satisfatória.

As referências consultadas são importantes para permitir que outras pessoas acessando o documento possam aprofundar no tema estudado. Eventualmente, outros insigths podem surgir a partir do ponto de vista de outro membro da equipe que tenha acesso aos mesmos conteúdos, contribuindo para uma melhor proposta de solução.

Criando um spike no TDN

  1. Acesse o template e crie uma cópia do mesmo. Informe "Spikes" como página pai ou a página correspondente ao tema do spike, se ela já existir. Clique em "Copiar".
  2. Altere o título da página, informando a issue do JIRA correspondente ao spike e o título da issue. Por exemplo: DEAITOOLS-249 Criar guideline para documentação de spikes.
  3. Ajuste as datas no quadro à direita do template, acima do índice.
  4. No corpo da página, altere os conteúdos conforme a necessidade.
  5. Salve a página.

Outras recomendações

  • Comparativos devem ser colocados preferencialmente em formato tabular (tabelas).
  • Utilize subtópicos para organizar o conteúdo e facilitar a criação do índice.
  • Utilize labels para facilitar a localização do documento pela busca do TDN.
  • Se for implementado, deve constar nele o link para a issue de implementação no JIRA. A issue usada para desenvolver o spike já constará no título do documento.

Referências consultadas

Para a produção deste guia foram consultados os seguintes materiais: