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.
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.
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:
- Introdução
- Desenvolvimento do estudo
- Conclusões
- 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
- 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".
- 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.
- Ajuste as datas no quadro à direita do template, acima do índice.
- No corpo da página, altere os conteúdos conforme a necessidade.
- 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: