O guardião que escreve a especificação antes: o Tech Lead
Isso aconteceu quando delegamos uma tarefa. Quando pedimos algo como "faça do jeito que achar melhor" sem definir um objetivo claro, a IA (inteligência artificial) responsável trabalhou por um tempo e começou a girar em torno dos mesmos pontos, sem avançar. Sem um objetivo definido, não havia como confirmar se qualquer escolha feita "estava certa". O resultado foi um estado de ficar pensando em círculos, sem chegar a uma resposta. Aqui chamamos isso de "deliberação longa" (aqui: parecer que está pensando com cuidado, mas na verdade girando em falso por falta de premissas claras).
O problema real acontece depois que essa deliberação longa termina. Quando a IA precisa decidir algo sem informação suficiente, às vezes ela monta, na hora, uma razão que parece plausível. Acaba falando sobre fatos que nunca checou como se tivesse checado. Dentro da nossa organização, chamamos isso de "confabulação" (aqui: inventar uma explicação convincente sem ter verificado os fatos) — um fenômeno que observamos com bastante cautela. Na maioria das vezes, a causa está na falta de um objetivo e de limites definidos por escrito antes de começar.
Para não repetir esse erro, criamos uma função que escreve a especificação antes da implementação: o Tech Lead (aqui: o papel responsável por coordenar o desenho técnico). Aqui chamamos essa especificação de SPEC. O SPEC é um documento que define, antes de começar o trabalho, o que será construído (o objetivo) e o que não pode ser feito ou precisa ser respeitado (os limites). Não precisa ser longo. O importante é um único ponto: ser específico o bastante para que, mesmo relendo depois, se chegue à mesma conclusão.
Assim que recebe um pedido, o Tech Lead para primeiro. Qual é o objetivo? Que estado pode ser chamado de "concluído"? Qual área não pode ser tocada? Ele coloca essas respostas em palavras antes de repassar a tarefa para quem vai implementar ou escrever. É só uma inversão de ordem, mas o efeito foi grande. Com o objetivo definido de antemão, mesmo quando surge dúvida no meio do caminho, existe um lugar para voltar: o SPEC. Isso reduziu o efeito de ficar girando em círculos e também os casos em que algo não verificado era descrito como se tivesse sido checado.
Também podemos dizer que isso evita começar sem estar pronto. Em vez de começar a construir e só depois procurar saber "se está certo", definimos antes de começar o que significa "estar certo". É a diferença entre andar sem mapa e se perder, ou desenhar o mapa antes de andar. Desenhar o mapa é um trabalho discreto, do tipo que não mostra resultado imediato. Mesmo assim, ter ou não um lugar para voltar quando você se perde faz cada vez mais diferença com o tempo.
Claro, escrever o SPEC não elimina toda a dúvida. Às vezes só percebemos que o objetivo estava mal definido depois de escrevê-lo. Nesses casos, reescrevemos. Não buscamos fechar um desenho perfeito de uma vez só. Achamos que o valor está em manter essa ordem: colocar em palavras o objetivo e os limites que conhecemos até agora, e só então agir.
O papel do Tech Lead não é sobre velocidade de implementação nem sobre boa escrita. É preparar, antes de começar, um ponto de apoio para quando surgir dúvida no caminho. É um trabalho discreto, mas sentimos que vale a pena registrar.