Tese

Fazer do código a fonte de verdade de um produto deixa o sentido dele do lado de fora

Info

Escrito originalmente em francês. Traduzido por IA — o sentido foi preservado, não a prosa.

Ângulo

O código de um produto estabelece como ele funciona e não carrega o sentido dele: a regra que você só consegue enunciar depois de ler cinco arquivos, os casos particulares de um objeto, as palavras que os clientes usam, o alcance de uma noção que muda de uma aplicação para outra não se leem ali, e se repartem entre o núcleo do código, o banco de dados, as telas e as traduções. Esse sentido existe, no entanto, na cabeça de algumas pessoas, e se transmitia muito bem enquanto dava para bater na porta do colega certo. Duas coisas tornam isso insustentável hoje: cada área reconstitui esse modelo por conta própria — documentação, licitações, treinamento, suporte — a um custo que não aparece em orçamento nenhum; e um agente não bate em porta nenhuma: o que você não escreveu, ele preenche de forma plausível, coerente e às vezes falsa. Escrever o modelo do produto — os objetos, os vínculos nomeados por verbos, as regras, as palavras — não substitui, portanto, o código: é a única forma de tornar aproveitável aquilo sobre o que ele dá fé.

Síntese

O deslocamento que fez do código a referência estava certo: ele eliminou o trabalho de manter atualizados documentos que descreviam outra coisa que não a realidade. Essas notas dizem o que ele deixou de lado, e por que a conta chega agora.

Elas se respondem em três planos. Primeiro, sobre a natureza do que falta: não um relato nem uma definição isolada, mas uma estrutura — objetos ligados por verbos precisos, regras enunciadas em uma frase, um léxico de vários andares. Depois, sobre a dispersão: esse sentido não está ausente, está espalhado, e cada um dos quatro lugares onde ele se deposita diz o que os outros calam — com, como resultado, as contradições internas que só aparecem quando você os coloca lado a lado. Por fim, sobre a economia: a reconstituição permanente não custava nada visível enquanto era humana, e a passagem para destinatários que não podem perguntar faz o preço aparecer.

O benefício não se limita à documentação. Uma regra escrita em linguagem de negócio já é um teste como está; um relato de cliente se qualifica mecanicamente conforme contradiga uma regra escrita ou revele uma regra nunca estabelecida; uma noção sem lugar de definição para de produzir três saldos diferentes em três telas. São usos distintos de um mesmo artefato, e é isso que distingue esse trabalho de mais uma documentação.

Tensões / contradições

Nada disso foi medido. O mecanismo é claro — você elimina a parte adivinhada —, mas a fase de exploração ainda não começou, e nenhuma comparação entre demandas tratadas com e sem o referencial foi feita. As notas que carregam os usos descrevem, portanto, uma expectativa, ali onde as que carregam o custo descrevem uma constatação.

Segunda tensão, com a doutrina do código como fonte de verdade: o referencial reintroduz um artefato escrito à mão, portanto sujeito a divergir do produto — exatamente o que o deslocamento para o código tinha eliminado. A resposta sustentada aqui é uma fronteira interna, o corpo regenerável e as diferenças mantidas; ela ainda precisa ser testada ao longo do tempo.

Questões

  • Que parte do modelo mental de um produto não tem chance alguma de ser escrita, porque só se formula no momento em que uma pergunta precisa a exige?
  • O que acontece com o artefato quando duas aplicações de uma mesma suíte dão sentidos diferentes à mesma palavra: uma ficha por alcance, ou uma ficha que carrega os dois?
  • Em que condições as áreas que não leem código — suporte, pré-venda, treinamento — contribuem para esse referencial em vez de apenas consumi-lo?