O túnel que ficou esperando
Arquitetura: quem decide como as partes do sistema se encaixam, e deixa lugar para o que ainda vai existir


O capítulo do gestor de linha terminou com o trem das onze e meia levando trezentas pessoas para casa. O Raimundo só pôde pôr um trem a mais porque, muitos anos antes, alguém desenhou a linha com espaço para isso, e este capítulo volta ao tempo em que o metrô inteiro ainda era um desenho numa prancheta.
Você já viu um sistema em que cada mudança pequena quebra uma coisa do outro lado. Quase ninguém pergunta quem decidiu, lá no começo, que as partes desse sistema ficariam tão grudadas.
As decisões do começo de um sistema são as mais caras de mudar depois.
A prancheta de vinte e dois anos atrás
Na prancheta da imagem que abre este capítulo está preso um projeto antigo, com as linhas de metrô em traços contínuos e as estações marcadas por círculos. Da estação do centro sai uma linha tracejada, em verde, para um lado onde ainda não há estação nenhuma. Na borda da prancheta ficam o compasso, a régua e o lápis, e ao lado, um cesto de projetos enrolados e, num banquinho, um capacete de obra.
O projeto é da Teresa, a engenheira que planejou as estações do mesmo metrô vinte e dois anos atrás. Antes de qualquer obra, a equipe de seis engenheiros da Teresa estudou o solo, o movimento das avenidas e o crescimento da cidade. A Teresa decidiu onde cada estação ia nascer, como os túneis iam se cruzar e onde a energia seria mais estável.
Oitenta metros para nada
Ao desenhar a estação do centro, a Teresa pediu uma coisa que ninguém entendeu. A Teresa queria construir, embaixo da estação, um pedaço de túnel de oitenta metros, fechado nas duas pontas, sem trilho e sem destino, para uma linha que talvez um dia cruzasse ali. A obra ficaria oito por cento mais cara.
O comitê do orçamento achou desperdício. Ninguém sabia se a outra linha ia existir, e oito por cento era muito dinheiro para um túnel vazio.
Pare aqui um segundo e responda como se você fosse do comitê. Você aprovava pagar por um túnel que talvez nunca fosse usado?
O pedaço que não dava para fazer depois
A Teresa explicou a conta. Cavar aqueles oitenta metros com a obra aberta custava oito por cento a mais. Cavar os mesmos oitenta metros embaixo de uma estação funcionando, com trens passando por cima, custaria anos de obra e meses de estação fechada.
A Teresa não pediu a outra linha inteira, nem a outra estação. A Teresa pediu só o pedaço que seria quase impossível fazer depois.
O comitê aprovou. O túnel ficou vazio por vinte e dois anos.
Neste ano, a linha nova chegou ao centro, entrou pelo túnel que esperava, e a estação do centro não fechou um dia sequer. A arquitetura boa não tenta prever tudo, e deixa espaço só onde mudar depois sairia caro demais.
O túnel vazio custou oito por cento, e evitou fechar a estação mais movimentada da cidade.
O pagamento separado do resto
Na empresa de ingressos, o Ciro é o arquiteto de software, que em inglês se chama software architect. Arquitetura de software é o conjunto das decisões que dizem como as partes de um sistema se encaixam, e por isso dizem o que vai ser fácil ou difícil de mudar depois.
Quatro anos atrás, quando a empresa era pequena, o Ciro decidiu separar o sistema de pagamento do resto do site. Cada parte ficou em computadores próprios, e as duas partes conversam trocando recados, sem uma parte precisar saber como a outra funciona por dentro. Na época, a separação pareceu exagero para uma empresa daquele tamanho.
Na manhã da venda, a separação do Ciro foi o túnel da Teresa. A Ivone conseguiu pôr mais computadores só no pagamento, sem mexer no site inteiro. A fila virtual da Sueli entrou na frente do pagamento sem que ninguém reescrevesse o pagamento.
Só um túnel, e não a linha inteira
O Ciro também diz não ao futuro. Quando a diretoria falou do programa de pontos, o Ciro não construiu a estrutura dos pontos antes da hora, porque ninguém sabia se os pontos iam sair. O Ciro só deixou o cadastro dos clientes fácil de aumentar, para os pontos entrarem depois sem obra grande, e anotou o motivo.
O Ciro escreve, num documento, o porquê de cada decisão importante, com o que foi considerado e o que foi deixado de lado.
O mercado chama esse documento de registro de decisões de arquitetura (architecture decision record). Uma decisão sem o motivo escrito parece erro para quem chega depois, e é desfeita justamente por quem não sabia por que ela existia.
A Teresa construiu só os oitenta metros que seriam caros depois, e o Ciro separou só o pagamento.
Como saber se o desenho do metrô combina com você
Quatro perguntas para saber se desenhar o sistema é o seu caminho
As quatro perguntas cabem numa conversa curta. A arquitetura costuma ser trabalho de quem já tem anos de experiência, e quem está começando aprende primeiro a entender as decisões que já existem.
A Teresa não pensou em tudo. A Teresa pensou no pedaço que seria quase impossível fazer com a estação funcionando.
A Teresa pagou oito por cento pelos oitenta metros, e nada pela linha inteira. A área pede a medida certa entre o desperdício e a falta de espaço.
O registro do Ciro diz por que o pagamento ficou separado. Sem esse registro, alguém juntaria as partes de novo para ganhar uma semana.
O comitê não entendia de túnel. A Teresa ganhou a discussão com a conta do custo de agora contra o custo de depois.
Na arquitetura, a pergunta mais útil é o que vai custar caro mudar depois.
práticaLevar para a entrevista
Três perguntas que mostram se você entende as decisões que deixam um sistema fácil de mudar.abrir
Nas três perguntas abaixo existe a mesma tentação: desenhar o sistema mais completo e mais dividido que você consegue imaginar. Só que nenhuma das três perguntas está medindo o tamanho do seu desenho. As três estão medindo se você sabe onde vale cavar o túnel antes, e onde não vale.
“Como você organizaria um sistema pequeno que pode crescer?”
A pergunta parece pedir um desenho grande, e é sobre a medida do desenho.
- Que você separa o que tem motivo para mudar sozinho
- Que você mantém simples o que não tem motivo
- Um caso seu em que a separação ajudou
- Separar tudo, como as empresas gigantes fazem
- Não separar nada e resolver depois
- Responder com nome de tecnologia, sem o motivo
“No sistema de agenda que fiz para um salão, deixei separada a parte que manda o lembrete para a cliente, porque eu não sabia se a dona ia querer mensagem ou e-mail. Quando ela pediu e-mail, troquei só aquela parte, em uma tarde. O resto eu não separei, porque não tinha motivo, e o código ficou mais simples de entender.”
“Eu separaria tudo em várias partes pequenas, como as grandes empresas fazem.”
As grandes empresas separam porque têm o problema de tamanho delas. A resposta constrói a linha inteira para uma cidade que ainda não existe.
“Me conta de uma decisão técnica sua que você teve de desfazer.”
Esta pergunta mede se você aprende com as decisões, e não só com os erros de digitação.
- Contar por que a decisão fez sentido na época
- Dizer o que mudou para a decisão deixar de servir
- Contar o que você fez para a próxima pessoa não repetir
- Dizer que nunca precisou desfazer nada
- Culpar quem pediu a primeira versão
- Contar o erro sem dizer o que aprendeu
“No estágio, decidi guardar os pedidos numa planilha compartilhada, porque era rápido e eram poucos pedidos. Com dois mil pedidos, a planilha travava. Levei uma semana para passar tudo para um banco de dados, e escrevi o motivo da primeira decisão e o da segunda, para o próximo estagiário entender as duas.”
“Eu nunca precisei desfazer nada.”
Toda decisão de arquitetura vence um dia. Quem nunca desfez nada ainda não ficou tempo suficiente com um sistema.
“Como você explicaria a quem decide o dinheiro por que gastar mais agora?”
A pergunta procura a Teresa diante do comitê.
- Que você compara o custo de agora com o custo de depois
- Que você pede só o pedaço que fica caro depois
- Que você admite que o futuro pode não chegar
- Que você explica sem palavra técnica
- Que você respeita quem cuida do dinheiro
- Que você aceita um não, se a conta não fechar
“Na reforma da casa da minha mãe, o pedreiro sugeriu deixar um cano vazio na parede, para um dia ter um banheiro em cima. Minha mãe achou desperdício. Fiz a conta com ela: o cano custava cem reais, e quebrar a parede depois custaria uns três mil. Minha mãe topou, e dois anos depois o banheiro saiu sem quebrar nada.”
“Eu diria que é uma boa prática de mercado.”
“Boa prática” não convence o comitê. A conta dos cem reais contra os três mil convence.
práticaLevar para o trabalho
Três situações do dia a dia de quem cuida da arquitetura.abrir
O time pediu para juntar duas partes do sistema, para a entrega sair mais rápido
Essa situação aparece sempre que o prazo aperta. O erro comum é juntar as partes em silêncio, ou recusar o pedido sem mostrar o custo de juntar.
- Que você diga o que a junção ganha agora
- Que você diga o que a junção custa depois
- Que você proponha um caminho se a pressa for maior
- Que você junte sem contar o custo
- Que você recuse sem explicar
- Que você trate a separação como questão de gosto
“A gente consegue juntar, e a entrega desta semana sai mais rápido. O custo vem depois: com as duas partes juntas, cada mudança no pagamento mexe no site inteiro, e na venda grande a Ivone não consegue reforçar só o pagamento. Prefiro manter separado. Se a pressa for maior, a gente junta e anota para separar no mês que vem.”
A fala põe as duas contas na mesa, e deixa anotado o motivo, para quem decidir agora e para quem chegar depois.
Você quer preparar o sistema para um futuro que ninguém pediu
Essa vontade aparece em quem gosta de arquitetura. O erro comum é construir a linha inteira para uma estação que ninguém sabe se vai existir.
- Que você pergunte se existe algum sinal de que o futuro vem
- Que você deixe só o espaço que sairia caro depois
- Que você anote o que deixou de construir, e por quê
- Que você construa o futuro inteiro por precaução
- Que você ignore o futuro de propósito
- Que você gaste o tempo do time sem combinar
Para o time: “Pensei em deixar pronto o espaço para o programa de pontos. Antes, quero saber se existe algum número dizendo que os pontos vão sair. Se esse número não existe, eu deixo só o cadastro dos clientes fácil de aumentar, e não construo os pontos agora.”
A fala segura a vontade de construir com a mesma pergunta que a Teresa fez: qual pedaço seria caro fazer depois.
Você chegou ao time e achou uma decisão que parece errada
Essa situação acontece no primeiro mês de quase todo emprego. O erro comum é desfazer a decisão para mostrar serviço, sem perguntar por que a decisão existe.
- Que você procure o motivo antes de mexer
- Que você pergunte a quem decidiu
- Que você proponha a mudança com o motivo novo escrito
- Que você desfaça a decisão para mostrar serviço
- Que você chame a decisão de erro na frente do time
- Que você aceite calado o que não entendeu
“Achei estranho o pagamento rodar separado do site, porque cada mudança pede duas entregas. Antes de propor juntar, li o registro de decisões e entendi que o motivo era a venda grande. Ciro, esse motivo ainda vale para as vendas deste ano, ou dá para rever?”
A fala mostra que você leu o motivo antes de mexer, e deixa a decisão com quem conhece a história do túnel.
Uma decisão que parece errada quase sempre tem um motivo, e o motivo escrito evita que alguém feche o túnel da Teresa por engano.
O que muda daqui em diante
O túnel de oitenta metros esperou vinte e dois anos, e a linha nova chegou sem fechar a estação do centro.