CTO Fraccional
Volver al Blog
Equipos

Estructura de equipos:
comunicación y entrega de producto

Por qué los equipos se traban - estructura y patrones de comunicación

Hay una frase atribuida a un conocido político argentino que dice:

"Si querés que algo no se haga, creá una comisión."

La Ley de Conway en acción

Más o menos en la misma época en que ese político estaba en el poder, Melvin E. Conway publicó su paper "How Do Committees Invent?". Ahí introdujo lo que hoy conocemos como la Ley de Conway:

"Any organization that designs a system will produce a design whose structure is a copy of the organization's communication structure."

¿Alguna vez viste una homepage sobrecargada que parecía más una lucha de poder entre departamentos que una experiencia amigable para el usuario?

Ejemplo de diseño por comité
Daniel Rabinovich (COO de Mercado Libre) / Diseño por comité

Eso es la Ley de Conway en acción. Los equipos terminan entregando el organigrama.

Cómo la estructura de equipos impacta en la entrega de producto

¿Alguna vez viste equipos frenados esperando a otros equipos? ¿O servicios nombrados por su implementación interna en lugar del modelo de negocio al que sirven? Eso es la Ley de Conway en acción: tu producto termina siendo un espejo de los patrones de comunicación de tu organización.

Consciente o inconscientemente, las empresas diseñan sistemas que reflejan cómo se comunican internamente, o chocan contra una pared cuando intentan ir en contra de esos patrones.

El auge del trabajo remoto solo amplificó estos desafíos, haciendo que las estructuras claras de comunicación sean más críticas que nunca.

Desafíos de estructura en equipos remotos
"When Cultures Collide" - Desafíos de estructura en equipos remotos

Muchas empresas intentan superponer frameworks "ágiles" sobre silos y jerarquías rígidas, pero ningún diseño de software puede arreglar estructuras organizacionales que introducen fricción y demoras.

Modernizar arquitecturas no es solo un esfuerzo técnico; requiere alinear la comunicación del equipo con los objetivos del producto. Por ejemplo, migrar a microservices no va a ayudar si tu equipo opera como una sola unidad grande.

Supongamos que contratás una agencia que te ofrece cuatro equipos de desarrolladores frontend y backend, y un DBA centralizado para manejar los cambios en la base de datos (esto viene de un ejemplo de Team Topologies):

Team Topologies - Cuatro equipos trabajando en un sistema de software
Team Topologies - Cuatro equipos trabajando en un sistema de software

Esta estructura va a llevar naturalmente a componentes separados de frontend y backend, y a una base de datos compartida:

Team Topologies - Arquitectura de software resultante de una organización de cuatro equipos
Team Topologies - Arquitectura resultante de una organización de cuatro equipos

Un DBA compartido fomenta una base de datos única, y separar los roles de frontend y backend lleva a capas separadas. Si tu objetivo es ownership descentralizado de los datos, esta estructura va a jugar en tu contra.

La Maniobra Inversa de Conway

Si tus equipos moldean tu arquitectura, ¿qué pasa cuando necesitás una arquitectura diferente? Acá es donde entra la Maniobra Inversa de Conway: en lugar de dejar que la estructura de los equipos dicte el diseño de tu software, reorganizás tus equipos para que coincidan con la arquitectura deseada.

Esta estrategia, destacada en el libro Accelerate, implica alinear tus equipos con la arquitectura que va a soportar entregas rápidas e independientes. Cuando tus equipos están organizados para minimizar dependencias y cuellos de botella, pueden desplegar más rápido y con menos problemas de coordinación.

Por ejemplo, si apuntás a microservices con ownership descentralizado de datos, los límites de los equipos deberían reflejar los límites de los servicios, con cada equipo siendo dueño de una porción del producto y sus datos. Una estructura de equipo cohesiva y autónoma reduce la necesidad de comunicación constante de alto ancho de banda, algo crucial para escalar sin fricción.

Diseño de equipos para arquitectura de microservices con data stores independientes
Diseño de equipos para arquitectura de microservices con data stores independientes

Sin embargo, esto no es fácil. No podés simplemente dividir equipos existentes y esperar que funcione. La mayoría de las startups no deberían empezar con microservices.

¿El camino más inteligente? Un monolito modular. Un solo deployment con límites internos bien definidos, donde los módulos son dueños de sus datos y se comunican a través de interfaces limpias. Todos los beneficios organizacionales de pensar en servicios, sin los dolores de cabeza de los sistemas distribuidos.

Cuando eventualmente necesites escalar una parte específica del sistema, esos límites de módulos se convierten en tus puntos de extracción. El Strangler Fig Pattern te permite desprender servicios gradualmente, pero solo cuando el dolor de mantenerlos juntos supera el costo de separarlos.

Strangler Fig Pattern - Migración gradual de monolito a microservices
Strangler Fig Pattern / Fuente: Confluent Developer

El objetivo no es solo técnico. Es crear estructuras de equipo que potencien la velocidad, la colaboración y el ownership, habilitando crecimiento e innovación a escala.

¿Te gustó este artículo?

Suscribite para enterarte cuando publique el próximo.

Ezequiel Actis Grosso

Ezequiel Actis Grosso

Fractional CTO

Ayudando a startups y scale-ups en las Américas a construir mejores productos con GenAI, SaaS y soluciones cloud. 25+ años haciendo software.

Seguir en LinkedIn

¿Necesitás ayuda para alinear equipos y entrega de producto?

Como CTO fraccional, ayudo a empresas a arreglar estructuras de equipo y gestionar equipos distribuidos de manera efectiva. Hablemos.

Reservá una Consulta Gratis