E se você tivesse a oportunidade de redesenhar a estrutura do seu time e/ou da sua empresa do zero? Como você criaria os sistemas e os fluxos de trabalho que resultariam em uma boa experiência para o seu usuário? Fim a fim? Em com base em tudo isso, já idealizando, como estes sistemas responderiam a mudanças? De maneira imediata? Na velocidade da internet?
A lei de Conway é sobre isso…
A Lei de Conway é uma teoria criada pelo cientista da computação/programador Melvin Conway em 1967.
A Lei afirma que “As organizações que projetam sistemas são obrigadas a produzir designs que são cópias das estruturas de comunicação dessas organizações”. A teoria ganhou popularidade quando foi citada por Fred Brooks no icônico livro “The Mythical Man Month”.
Resposta curta: Comunicação
A comunicação entre os engenheiros, desenvolvedores, técnicos, etc, e a empresa/organização deve ser clara, concisa, “cheia de significado”, e com uma compreensão sólida do assunto.
As pessoas geralmente são ruins em ler mentes 😬 e, portanto, sem uma comunicação boa, os desenvolvedores de software ficam com uma interpretação baseada no “achismo” do que o produto deve fazer e para que…
Quando a comunicação entre os membros do time é ruim (Engenharia, SRE, DevOps e etc), mesmo um simples mal-entendido pode resultar em uma experiência de usuário completamente desarticulada, o que se traduz em quebra na retenção de clientes e outros pontos de falha de longo prazo… e isto vale para os dois lados, os gestores também precisam estar alinhados e cientes dos limites da sua equipe, bem como engajados em facilitar as rotinas de trabalho.
Como em qualquer relacionamento, a comunicação pobre leva a diversos problemas como:
-> Demora na disseminação de informações estratégicas e/ou táticas
É quando a informação demora demais para chegar nas pessoas que de fato entregam o trabalho, e quando finalmente chega ela não é mais relevante, gerando a perca de interesse, desperdício de tempo no planejamento, e desgaste de mão de obra qualificada.
-> Cada um por si
Não compartilhar informações é um sintoma da falha de comunicação entre as áreas, levando a um problema generalizado onde cada um cuida do seu trabalho, e criando aquele comportamento de “Challenger”, o que obviamente torna ruim o ambiente de trabalho, a moral do time fica baixa e, por fim, afeta a qualidade do produto.
-> Confusão
Obviamente a comunicação ruim leva à confusão, que por sua vez leva a síndrome de scapegoating, onde alguém no grupo é culpado por todos pecados, permitindo assim a troca incessante de responsabilidades, e abrindo espaço para gestores fracos se esconderem, ou esconderem seus resultados, atrás de membros do time… ou acabar culpando o céu, a terra e o mar.
-> Mudança constante de trajetória
A mudança de objetivo é um problema comum nas trincheiras de TI, e é uma das piores experiêncais que você pode ter em sua carreira… nada pode te preparar para a descepção que vai sentir depois de passar horas, dias, meses, trabalhando em um projeto “disruptivo”, para depois saber que lhe foi passada a direção errada e, que você vai ter que começar “tudo de novo”.
-> Liderança fraca
A arrogância geralmente leva a aquela situação onde o gestor é lento para escutar e rápido para retrucar… eles acabam perdendo a oportunidade de receber feedbacks importantes dos membros do time, clientes e outras fontes importantes, isso claramente gera um impacto negativo no time e na qualidade de entrega do produto.
Colaboração é a “chave”, o “exercício” e o “modo operacional” para se prevenir de basicamente tudo o que foi escrito até agora. Bons times trabalham na união de suas forças, assim como no suporte mútuo em momentos de fraqueza e fragilidade. Ninguém sabe de tudo, e mesmo que você seja um ACE da programação, engenharia, automação e tenha mais experiência que todos os membros do time juntos, isso não te dá o direito de ignorar todos e se recusar a ouvir suas opiniões… o único resultado deste tipo de comportamento será perder, sem dúvida alguma, a oportunidade de aprender algo novo e se tornar uma pessoa melhor.
E mesmo com a colaboração ativa, alguns cuidados ainda são necessários:
-> Evitar reuniões (meetings) desnecessárias
Atualmente existem formas ilimitadas de passar a informação adiante, muitas delas Assíncronas
e que demandam pouquíssimo esforço, e existem muitas… muitas… ferramentas para isso, como por exemplo o Slack, o velho e bom Email e qualquer outra que você conheça. Pode perguntar para qualquer Pro Cowboy Coder, Vulcan SRE ou DevOps SS Ultra Instinct, pergunte o que na opinião deles é o maior ofensor em sua rotina de trabalho, e eles vão te responder com uma Macro: Meetings 🤣
-> Documentação
É… eu sei que pode parecer uma opinião meio contaminada e direcionada, mas eu acredito que uma documentação apropriada é uma das responsabilidades obrigatórias de um bom profissional de TI ou de qualquer outro tipo de segmento, e que é chave para o sucesso da empresa. Vamos lá! O que é pior do que meetings incessantes, do que ter que ficar cambaleando por aí atrás de pedaços de informação até conseguir reunir o suficiente para poder trabalhar? Empresas como Amazon, Microsoft e Google não são o que são hoje por acidente… eles são “Mestres” em documentar e compartilhar!
-> Feedback
Líderes e liderados precisam exercitar: ouvir uns aos outros. Os líderes precisam encorajar a humildade, a sede por conhecimento entre seus liderados assim como também a alta liderança… Ninguém sabe tudo, e se alguém se levantar para falar de um problema, precisa ser ouvido e levado à sério.
-> Treinamento
Assim como muito bem ilustrado no livro The Phoenix Project: “Um grande time performa melhor quando pratica. A prática cria habitos, e os habitos levam a masterização de qualquer processo ou habilidade”
O pensamento crítico e não aceitar qualquer buzzword ou magic bullet, é o requisito básico para se manter atualizado e, especialmente para os Tech Leaders que precisam determinar o ritmo dentro do time, servir de exemplo, e se manter up-to-date com as melhores práticas e, as melhores ferramentas.
A Lei de Conway é um conceito poderoso, uma lição para ponderarmos sobre: como a forma que a empresa se comunica reflete diretamente na entrega de seu produto e/ou serviço.
ツ
cya! 🎶🎶🎶