O papel de organizar o trânsito das tarefas: Task Dispatcher
Quando um pedido chega, a primeira dificuldade é sempre a mesma: "de quem é esse trabalho?". Veja um exemplo: "pense na estrutura do novo artigo e deixe o rascunho pronto". À primeira vista, parece um pedido só, mas por dentro há dois trabalhos amarrados juntos. Definir a estrutura é tarefa de quem organiza o plano; escrever o rascunho é tarefa de quem escreve. Se você entrega o pacote inteiro para uma pessoa só, quem recebe acaba passando do próprio posto e tenta resolver as duas coisas de uma vez. E, na maioria das vezes, não dá certo.
O Task Dispatcher (o papel que lê o pedido que chegou e decide apenas para qual função ele vai) existe para cuidar especificamente dessa primeira bifurcação. É quem distribui o trabalho, quem organiza o trânsito.
Quando um pedido se parte em dois
Vamos acompanhar aquele pedido de "pensar na estrutura e deixar o rascunho pronto". O que o Task Dispatcher lê primeiro não é o texto do pedido em si, mas os tipos de trabalho que estão dentro dele. "Pensar na estrutura" é o posto de quem organiza o plano; "preparar o rascunho" é o posto de quem escreve. As duas coisas parecem próximas, mas exigem julgamentos diferentes. A estrutura se decide olhando o meio de publicação e a ordem em que as coisas saem; o rascunho é escolher as palavras e transformá-las em texto.
Se o pacote inteiro vai para uma pessoa só, o rascunho pode começar a andar antes de a estrutura estar fechada, ou então ficar parado esperando a estrutura. Justamente por ser um pedido em que a ordem importa, o Task Dispatcher parte o pedido em dois e entrega primeiro a "decisão sobre a estrutura" para quem organiza o plano. Só quando volta a resposta de que a estrutura está fechada é que ele remonta o pedido no formato "faça o rascunho com esta estrutura" e entrega a quem escreve. Depois de entregar, ele tira as mãos e apenas espera cada resultado. O que o papel de distribuir decide vai até aí: como dividir o pedido e em que ordem entregar. Ele não mexe no conteúdo da estrutura nem no texto.
Separar na cabeça é diferente de separar como função
Pode parecer que bastaria a mesma pessoa alternar a mentalidade: "agora estou na cabeça de distribuir", "agora estou na cabeça de escrever". Mas, na prática, essa é uma divisão que funciona mal. Quando a troca acontece só dentro da cabeça, mesmo achando que trocou, restam as conveniências do papel anterior. Se você decide a distribuição ainda com o olhar de quem escreve, nasce a tentação de pensar: "isso eu consigo escrever aqui mesmo, então vou pular a parte de entregar depois".
Quando as funções estão separadas fisicamente, essa tentação nem chega a surgir. A função chamada Task Dispatcher simplesmente não recebe os meios de escrever artigos. Mesmo querendo escrever, o desenho não permite, então não há espaço para hesitar. Em vez de contar com a força de vontade, estreitamos o próprio alcance do que é possível fazer. Separar papéis, por enquanto, é nesse sentido que usamos a expressão.
O custo de separar
É claro que separar dá trabalho. Comparado a resolver um pedido inteiro sozinho até o fim, mudar o destinatário no meio do caminho, esperar o resultado e entregar de novo para o próximo aumenta o número de passos, sem dúvida.
No momento em que chega o pedido "pense na estrutura e deixe o rascunho pronto", o Task Dispatcher primeiro gasta um tempo lendo e interpretando o texto do pedido. Se ele dividir às pressas e de qualquer jeito, quem recebe começa a trabalhar sobre uma premissa errada. É o tipo de cena em que a decisão sobre a estrutura ainda não está fechada e quem escreve toca o rascunho adiante por conta própria. Para evitar isso, só resta segurar o pedido de rascunho até a estrutura voltar. Em casos urgentes, essa própria espera parece um desvio. É um tempo em que, se alguém carregasse tudo sozinho até o fim, talvez pudesse continuar mexendo as mãos ali mesmo, mesmo em dúvida.
Ainda assim, separamos porque, graças a esse passo a mais, depois é possível rastrear "quem tomou qual decisão" quando olhamos para trás. Tanto um desvio na estrutura quanto um desvio na qualidade do rascunho: dá para saber em qual posto aconteceu. Escolhemos poder explicar depois, em vez de velocidade.
No começo desta série, escrevemos a mesma coisa sobre as decisões pesadas da organização. O desenho do Task Dispatcher leva esse raciocínio para a porta de entrada do trabalho miúdo do dia a dia. Não é um papel chamativo, mas, por enquanto, é aqui que fica quem levanta a mão primeiro nesta organização.