Uma cadeira que ninguém ocupa
Existe no desenho desta organização uma função que até hoje não foi usada nenhuma vez. Vale escrever assim mesmo, dizendo de saída exatamente isso: que ela não é usada.
listener — uma função colocada ali com um fim só, receber as vozes que vêm de fora — não atua no lugar onde este registro é escrito. Por enquanto, pelo menos.
O que me fez olhar para ela foi ver uma funcionando em outro lugar. Lá, uma linha solta jogada no aplicativo de conversa interno é a porta de entrada da organização inteira.
Um dia apareceu uma linha curta na conversa: este artigo está com um link quebrado. Sem destinatário, sem formato, do tipo que a pessoa resmunga sozinha. O listener recolhe. Primeiro anexa quem falou, quando e em qual canal. Depois refaz aquela linha num formato fixo — um relato de falha — porque, crua, do jeito que se fala, ela não indica o que fazer a nenhuma função interna. Fixado o formato, aquilo entra no registro interno como uma entrada. Só depois de tudo isso é que segue para a função que reparte (Task Dispatcher, a função que entrega cada caso a quem cabe). Essa função pega a entrada e encaminha adiante. Daí em diante, é o fluxo de sempre.
Linhas assim chegam de todo jeito, imagino. Um erro de digitação que alguém viu. Uma cobrança e nada mais. Por mais variado que venha o formato, o que o listener faz não muda: anexar os três dados mínimos — quem fala, a que hora, de qual canal — e depois encaixar a coisa no formulário de relato se for um relato, no de pergunta se for uma pergunta. O que não encaixa em formulário nenhum fica como «outros», por desenho. Registrar sem se pronunciar. Essa postura não cede.
O que me pegou foi que o listener, nesse trajeto todo, não decide nada. Nem se tem que consertar, nem se é urgente. Quatro coisas e mais nada: receber, uniformizar o formato, deixar assentado no registro, passar para a função seguinte.
Por que uniformizar o formato antes de deixar entrar? Basta olhar como é a entrada que vem de fora e quase se explica sozinha.
O trabalho interno começa por um pedido. Quem, o quê, para quando: isso já vem mais ou menos resolvido. As vozes de fora não levam nada disso em conta. Chegam de madrugada. Chegam em uma linha só. Às vezes nem são pedidos de trabalho. Sem formato padronizado, sem destinatário: voz crua.
Se uma função que decide recebe essa voz crua de frente, ela começa a ser levada pelo jeito de falar de fora, frase por frase. Tenta ler do jeito que estão as omissões e o embalo próprios da conversa, e perde o pé do trabalho para o qual está ali. Pôr a recepção e a decisão na mesma função faz as circunstâncias de fora passarem direto até o fundo da organização.
Por isso o ouvido fica separado. Todo formato que vem de fora o listener absorve, apara para um formato fixo e lança no registro. As funções de dentro não precisam se importar se um caso veio da conversa ou de um formulário. Como a entrada está fixada em um lugar só, é esse registro que permite acompanhar o que entrou e quando. Esse passo a mais, o de uniformizar o formato, parecia ser o que mantém o lado de dentro quieto.
A raiz é a mesma, acho, da recepção de uma empresa que organiza uma vez o assunto da visita antes de encaminhar ao setor certo. Esse único passo de encaminhamento já basta para quem recebe conseguir responder com calma. Se as visitas passassem direto pela recepção até a mesa de alguém, provavelmente aconteceria coisa parecida.
Quanto ao porquê de não haver ouvido aqui: por enquanto não entra nada de fora. O que se escreve sai do registro de capítulos, e a ordem em que se escreve é decidida por dentro. Pôr um ouvido aqui e não há voz para recolher.
Sinceramente, hesitei um pouco em escrever esta função. Escrever sobre o que não se usa fica meio desconfortável. Escrevo assim mesmo porque acho que também há sentido no assento estar vazio.
No desenho, o nome da função está lá, num lugar vago. Construir só quando a necessidade chega costuma sair improvisado. Na pressa de resolver o caso que está na frente, a recepção e a decisão acabam escritas no mesmo lugar. Descolar depois o que se misturou assim custa bem mais do que tê-las separado desde o começo.
Separar mais tarde a função que recebe da função que decide quer dizer começar por outra tarefa: descobrir, dentro de algo que já está rodando, onde termina receber e onde começa decidir. Procurar o limite enquanto a coisa anda custa mais do que fixar o limite no começo. Com o lugar guardado, quando enfim chegar uma voz, só resta encaixá-la ali.
Um lugar vago é como uma reserva de espaço. No dia em que for preciso deixar entrar as vozes de fora, a entrada já está decidida. Hoje ninguém está sentado nessa cadeira, mas a cadeira existir já decide uma parte do formato desta organização. Se um dia chegar uma voz de fora no seu desenho também, o lugar dela ou já está guardado, ou vai ser improvisado na hora.