[{"data":1,"prerenderedAt":532},["ShallowReactive",2],{"article-alternates":3,"article-\u002Fes\u002Flifestyle\u002Flinear-async-standup-12-personas-sin-reuniones":13},{"i18nKey":4,"paths":5},"lifestyle-001-2026-06",{"de":6,"en":7,"es":8,"fr":9,"it":10,"ru":11,"tr":12},"\u002Fde\u002Flifestyle\u002Flinear-async-standup-meeting-free-week-12-person-team","\u002Fen\u002Flifestyle\u002Flinear-async-standup-meeting-free-week","\u002Fes\u002Flifestyle\u002Flinear-async-standup-equipo-12-personas-sin-reuniones","\u002Ffr\u002Flifestyle\u002Flinear-async-standup-equipe-12-personnes-sans-reunions","\u002Fit\u002Flifestyle\u002Flinear-async-standup-team-senza-riunioni","\u002Fru\u002Flifestyle\u002Flinear-async-standup-12-person-team-meeting-free-week","\u002Ftr\u002Flifestyle\u002Flinear-async-standup-12-kisilik-ekipte-toplantisiz-hafta",{"_path":14,"_dir":15,"_draft":16,"_partial":16,"_locale":17,"title":18,"description":19,"publishedAt":20,"modifiedAt":20,"category":15,"i18nKey":4,"tags":21,"readingTime":27,"author":28,"body":29,"_type":526,"_id":527,"_source":528,"_file":529,"_stem":530,"_extension":531},"\u002Fes\u002Flifestyle\u002Flinear-async-standup-12-personas-sin-reuniones","lifestyle",false,"","Linear + Async Standup: Una Semana Sin Reuniones en Equipo de 12 Personas","Gestión de ciclos, actualizaciones diarias y escalado de bloqueos para coordinación de equipos async-first. Sin reportes, solo operación.","2026-06-03",[22,23,24,25,26],"async-work","linear","coordinacion-equipos","cycle-management","remote-work",8,"Roibase",{"type":30,"children":31,"toc":511},"root",[32,40,47,52,57,62,149,154,161,175,184,189,194,200,213,221,241,246,252,257,262,282,287,293,298,306,311,316,351,356,362,367,390,395,400,406,418,423,452,457,463,468,501,506],{"type":33,"tag":34,"props":35,"children":36},"element","p",{},[37],{"type":38,"value":39},"text","Cada notificación de llamada síncrona interrumpe el período de concentración profunda de 23 minutos de un miembro del equipo (investigación UC Irvine, 2023). En un equipo de 12 personas, un standup diario consume 40 minutos, lo que equivale a 240 minutos × 12 personas = 2.880 minutos semanales (48 horas) de pérdida. La cultura de trabajo async-first no elimina esta pérdida — la transforma en un sistema de reporte medible y rastreable. La gestión de ciclos en Linear y la disciplina de actualizaciones diarias async convierten la coordinación de equipos de reuniones a operación. Este artículo describe el workflow concreto de 8 años de liderazgo de equipo en Roibase.",{"type":33,"tag":41,"props":42,"children":44},"h2",{"id":43},"disciplina-de-ciclo-estimación-fibonacci-y-ritmo-semanal",[45],{"type":38,"value":46},"Disciplina de Ciclo: Estimación Fibonacci y Ritmo Semanal",{"type":33,"tag":34,"props":48,"children":49},{},[50],{"type":38,"value":51},"En Linear, cada ciclo dura 1 semana. No es sprint — es ciclo. El término \"sprint\" genera la percepción de \"sprint final\"; ciclo implica repetición ritmica. Cada lunes comienza un ciclo nuevo, el viernes por la tarde se publica el resumen del ciclo. Dentro del ciclo, los issues están en uno de 3 estados: Backlog, In Progress, Done.",{"type":33,"tag":34,"props":53,"children":54},{},[55],{"type":38,"value":56},"Usamos el sistema de puntos Fibonacci: 1, 2, 3, 5, 8. 1 punto = menos de 2 horas de trabajo; 8 puntos = 1 día de trabajo. No se aceptan issues de 13 puntos o más — descomposición es obligatoria. Esta disciplina no es estimación — está basada en datos empíricos históricos. El panel \"Cycle Analytics\" de Linear muestra la velocidad promedio del equipo (en Roibase alcanzamos ~42 puntos por semana).",{"type":33,"tag":34,"props":58,"children":59},{},[60],{"type":38,"value":61},"Al inicio de cada ciclo, completamos 3 columnas:",{"type":33,"tag":63,"props":64,"children":65},"table",{},[66,90],{"type":33,"tag":67,"props":68,"children":69},"thead",{},[70],{"type":33,"tag":71,"props":72,"children":73},"tr",{},[74,80,85],{"type":33,"tag":75,"props":76,"children":77},"th",{},[78],{"type":38,"value":79},"Columna",{"type":33,"tag":75,"props":81,"children":82},{},[83],{"type":38,"value":84},"Contenido",{"type":33,"tag":75,"props":86,"children":87},{},[88],{"type":38,"value":89},"Responsable",{"type":33,"tag":91,"props":92,"children":93},"tbody",{},[94,113,131],{"type":33,"tag":71,"props":95,"children":96},{},[97,103,108],{"type":33,"tag":98,"props":99,"children":100},"td",{},[101],{"type":38,"value":102},"Priority",{"type":33,"tag":98,"props":104,"children":105},{},[106],{"type":38,"value":107},"Bloqueador de cliente, bug de ingresos crítico, feature con deadline",{"type":33,"tag":98,"props":109,"children":110},{},[111],{"type":38,"value":112},"Product Lead",{"type":33,"tag":71,"props":114,"children":115},{},[116,121,126],{"type":33,"tag":98,"props":117,"children":118},{},[119],{"type":38,"value":120},"Next Up",{"type":33,"tag":98,"props":122,"children":123},{},[124],{"type":38,"value":125},"Issues que se abordarán si se completa Priority",{"type":33,"tag":98,"props":127,"children":128},{},[129],{"type":38,"value":130},"Engineering Lead",{"type":33,"tag":71,"props":132,"children":133},{},[134,139,144],{"type":33,"tag":98,"props":135,"children":136},{},[137],{"type":38,"value":138},"Icebox",{"type":33,"tag":98,"props":140,"children":141},{},[142],{"type":38,"value":143},"Trabajo para los próximos 2 ciclos, no cabe en este",{"type":33,"tag":98,"props":145,"children":146},{},[147],{"type":38,"value":148},"Team",{"type":33,"tag":34,"props":150,"children":151},{},[152],{"type":38,"value":153},"La columna Priority no cambia a mitad de ciclo — los requerimientos que violen esta regla avanzan al siguiente ciclo. Excepción: bug P0 (producción caída, fallo de pagos). Esta disciplina evita la inflación de la palabra \"urgente\".",{"type":33,"tag":155,"props":156,"children":158},"h3",{"id":157},"actualización-diaria-async-reporte-basado-en-texto",[159],{"type":38,"value":160},"Actualización Diaria Async: Reporte Basado en Texto",{"type":33,"tag":34,"props":162,"children":163},{},[164,166,173],{"type":38,"value":165},"Existe un canal Slack ",{"type":33,"tag":167,"props":168,"children":170},"code",{"className":169},[],[171],{"type":38,"value":172},"#daily-updates",{"type":38,"value":174},". Cada miembro del equipo escribe 3 líneas al comenzar el día:",{"type":33,"tag":176,"props":177,"children":179},"pre",{"code":178},"Ayer: Implementé lógica de reintentos de webhook Stripe (LIN-482, 5pt) — merged\nHoy: Arreglando test intermitente de Cypress en checkout (LIN-490, 3pt)\nBloqueador: Necesito aprobación de diseño para el nuevo modal de onboarding (CC @DesignLead)\n",[180],{"type":33,"tag":167,"props":181,"children":182},{"__ignoreMap":17},[183],{"type":38,"value":178},{"type":33,"tag":34,"props":185,"children":186},{},[187],{"type":38,"value":188},"Este formato es fijo — texto libre no es permitido. ID de issue Linear es obligatorio (LIN-xxx), estimación en puntos obligatoria. Si no hay bloqueador, no escriban esa línea — si el miembro no está bloqueado, no hay necesidad de reportarlo.",{"type":33,"tag":34,"props":190,"children":191},{},[192],{"type":38,"value":193},"Las actualizaciones se envían entre 09:00-10:30 (según zona horaria local). Si se envían tarde, un bot de recordatorio se activa (webhook de Linear + automatización en Slack). Esta disciplina elimina la pregunta \"¿quién está haciendo qué?\" — la respuesta ya se compartió antes de preguntar.",{"type":33,"tag":41,"props":195,"children":197},{"id":196},"patrón-de-escalado-de-bloqueos-regla-de-4-horas",[198],{"type":38,"value":199},"Patrón de Escalado de Bloqueos: Regla de 4 Horas",{"type":33,"tag":34,"props":201,"children":202},{},[203,205,211],{"type":38,"value":204},"Si un miembro está atascado en el mismo issue por más de 4 horas, se requiere intervención manual. En Linear, se agrega la etiqueta ",{"type":33,"tag":167,"props":206,"children":208},{"className":207},[],[209],{"type":38,"value":210},"blocked",{"type":38,"value":212}," al issue y se etiqueta a la persona relevante en Slack:",{"type":33,"tag":176,"props":214,"children":216},{"code":215},"LIN-490 blocked — No puedo hacer seed de BD en entorno de Cypress.\n@DevOpsLead: ¿El script de seed en el pipeline de CI no está funcionando?\n",[217],{"type":33,"tag":167,"props":218,"children":219},{"__ignoreMap":17},[220],{"type":38,"value":215},{"type":33,"tag":34,"props":222,"children":223},{},[224,226,232,234,239],{"type":38,"value":225},"Este mensaje va al canal ",{"type":33,"tag":167,"props":227,"children":229},{"className":228},[],[230],{"type":38,"value":231},"#blockers",{"type":38,"value":233},", no a ",{"type":33,"tag":167,"props":235,"children":237},{"className":236},[],[238],{"type":38,"value":172},{"type":38,"value":240},". Se abre un thread bajo el mensaje para discutir la solución. Una vez resuelta, se comenta en el issue de Linear: \"Bloqueador resuelto — el script de seed no veía el archivo .env, lo agregué a Docker Compose.\"",{"type":33,"tag":34,"props":242,"children":243},{},[244],{"type":38,"value":245},"La regla de 4 horas rompe la cultura de \"héroe solitario\". En Roibase, el escalado promedio de bloqueos es 2.3 issues por ciclo — si es más bajo, el equipo no está tomando riesgos suficientes (seleccionando trabajo fácil); si es más alto, la complejidad del scope debe ajustarse.",{"type":33,"tag":155,"props":247,"children":249},{"id":248},"tiempo-de-espera-async-para-code-review",[250],{"type":38,"value":251},"Tiempo de Espera Async para Code Review",{"type":33,"tag":34,"props":253,"children":254},{},[255],{"type":38,"value":256},"Cuando se abre un pull request (PR), Linear lo vincula automáticamente al issue (integración GitHub). Después de abrir el PR, el miembro no espera — comienza el siguiente issue en orden de prioridad. SLA de review: al menos 1 persona debe revisar en 8 horas.",{"type":33,"tag":34,"props":258,"children":259},{},[260],{"type":38,"value":261},"Reglas de review:",{"type":33,"tag":263,"props":264,"children":265},"ul",{},[266,272,277],{"type":33,"tag":267,"props":268,"children":269},"li",{},[270],{"type":38,"value":271},"PR mayor a 400 líneas debe descomponerse (la calidad del review baja)",{"type":33,"tag":267,"props":273,"children":274},{},[275],{"type":38,"value":276},"Coverage de tests inferior a 80% = rechazo automático (check de CI)",{"type":33,"tag":267,"props":278,"children":279},{},[280],{"type":38,"value":281},"Aprobación requerida de 2 personas (lead + 1 par)",{"type":33,"tag":34,"props":283,"children":284},{},[285],{"type":38,"value":286},"Durante la revisión, la discusión síncrona está PROHIBIDA. El reviewer comenta, el autor responde — hasta que el thread cierre, no hay merge. Esta disciplina elimina la tentación de \"¿Hablamos en Zoom?\".",{"type":33,"tag":41,"props":288,"children":290},{"id":289},"resumen-de-ciclo-los-viernes-retrospectiva-numérica",[291],{"type":38,"value":292},"Resumen de Ciclo los Viernes: Retrospectiva Numérica",{"type":33,"tag":34,"props":294,"children":295},{},[296],{"type":38,"value":297},"Cada viernes a las 16:00, el \"Cycle Completion Report\" de Linear se ejecuta. Esta automatización envía a Slack:",{"type":33,"tag":176,"props":299,"children":301},{"code":300},"Resumen Ciclo 2026-S22:\nCompletados: 38 puntos (objetivo: 42)\nPendientes: 2 issues (LIN-495, LIN-501)\nCantidad de bloqueadores: 3\nTiempo promedio de ciclo: 2.1 días\n",[302],{"type":33,"tag":167,"props":303,"children":304},{"__ignoreMap":17},[305],{"type":38,"value":300},{"type":33,"tag":34,"props":307,"children":308},{},[309],{"type":38,"value":310},"Si hay más de 2 pendientes, el miembro da prioridad en la siguiente columna de ciclo. Más de 3 pendientes significa error en la planificación de scope — la capacidad del ciclo debe reducirse.",{"type":33,"tag":34,"props":312,"children":313},{},[314],{"type":38,"value":315},"El resumen del ciclo se publica en Notion. No es reunión — es documento basado en texto. Contiene:",{"type":33,"tag":317,"props":318,"children":319},"ol",{},[320,331,341],{"type":33,"tag":267,"props":321,"children":322},{},[323,329],{"type":33,"tag":324,"props":325,"children":326},"strong",{},[327],{"type":38,"value":328},"Trabajo completado:",{"type":38,"value":330}," Resumen corto de cada issue (1 oración)",{"type":33,"tag":267,"props":332,"children":333},{},[334,339],{"type":33,"tag":324,"props":335,"children":336},{},[337],{"type":38,"value":338},"Aprendizajes:",{"type":38,"value":340}," Deuda técnica, oportunidades de mejora en tooling",{"type":33,"tag":267,"props":342,"children":343},{},[344,349],{"type":33,"tag":324,"props":345,"children":346},{},[347],{"type":38,"value":348},"Enfoque del siguiente ciclo:",{"type":38,"value":350}," Áreas en las que nos enfocaremos la próxima semana",{"type":33,"tag":34,"props":352,"children":353},{},[354],{"type":38,"value":355},"Después de publicar, los miembros comentan — \"LIN-482: La lógica de reintentos de Stripe debe probarse en producción\". Este feedback entra en la planificación del siguiente ciclo.",{"type":33,"tag":155,"props":357,"children":359},{"id":358},"patrón-de-pendientes-y-disciplina-de-scope",[360],{"type":38,"value":361},"Patrón de Pendientes y Disciplina de Scope",{"type":33,"tag":34,"props":363,"children":364},{},[365],{"type":38,"value":366},"Los issues pendientes ocurren por 1 de 2 razones:",{"type":33,"tag":317,"props":368,"children":369},{},[370,380],{"type":33,"tag":267,"props":371,"children":372},{},[373,378],{"type":33,"tag":324,"props":374,"children":375},{},[376],{"type":38,"value":377},"Subestimación:",{"type":38,"value":379}," Se estimó en 5 puntos pero resultó ser 8",{"type":33,"tag":267,"props":381,"children":382},{},[383,388],{"type":33,"tag":324,"props":384,"children":385},{},[386],{"type":38,"value":387},"Bloqueador externo:",{"type":38,"value":389}," Espera de aprobación de diseño, dependencia fuera del equipo",{"type":33,"tag":34,"props":391,"children":392},{},[393],{"type":38,"value":394},"En el primer caso, el issue se actualiza retrospectivamente (Linear tiene campo \"Actual Effort\"). Este dato calibra futuras estimaciones. En el segundo caso, el issue pasa a la columna Priority — cuando se resuelve el bloqueador, debe cerrarse rápidamente.",{"type":33,"tag":34,"props":396,"children":397},{},[398],{"type":38,"value":399},"Si hay pendientes 3 ciclos consecutivos, la capacidad es insuficiente. En Roibase aplicamos un \"ciclo de enfriamiento\" de 2 semanas: no aceptamos features nuevas, solo limpiamos deuda técnica (tests intermitentes, dependencias obsoletas, brechas de documentación).",{"type":33,"tag":41,"props":401,"children":403},{"id":402},"semana-sin-reuniones-situaciones-síncrona-excepcionales",[404],{"type":38,"value":405},"Semana Sin Reuniones: Situaciones Síncrona Excepcionales",{"type":33,"tag":34,"props":407,"children":408},{},[409,411,416],{"type":38,"value":410},"Async-first no significa cero reuniones — significa minimizar reuniones obligatorias. En Roibase hay solo 1 reunión síncrona por semana: ",{"type":33,"tag":324,"props":412,"children":413},{},[414],{"type":38,"value":415},"Planificación Bimensual",{"type":38,"value":417}," (cada 2 semanas, 60 minutos). En esta reunión el equipo discute roadmap de 4 semanas — desde la vista \"Projects\" de Linear.",{"type":33,"tag":34,"props":419,"children":420},{},[421],{"type":38,"value":422},"Situaciones que requieren reunión síncrona:",{"type":33,"tag":263,"props":424,"children":425},{},[426,431,447],{"type":33,"tag":267,"props":427,"children":428},{},[429],{"type":38,"value":430},"Decisión arquitectónica (ejemplo: migración de monolito a microservicios)",{"type":33,"tag":267,"props":432,"children":433},{},[434,436,445],{"type":38,"value":435},"Alineación con cliente (en contexto de agencia, proyectos cross-functional como ",{"type":33,"tag":437,"props":438,"children":442},"a",{"href":439,"rel":440},"https:\u002F\u002Fwww.roibase.com.tr\u002Fes\u002Fbranding",[441],"nofollow",[443],{"type":38,"value":444},"Identidad de Marca & Branding",{"type":38,"value":446},")",{"type":33,"tag":267,"props":448,"children":449},{},[450],{"type":38,"value":451},"Resolución de conflictos (desacuerdo en code review sin consenso)",{"type":33,"tag":34,"props":453,"children":454},{},[455],{"type":38,"value":456},"Esto ocurre ~0.4 veces por ciclo — es decir, 1 reunión cada 2.5 ciclos. Las reuniones tienen límite de 30 minutos, la agenda se comparte en Notion con anticipación, y terminan con notas de decisión.",{"type":33,"tag":41,"props":458,"children":460},{"id":459},"convertir-disciplina-async-en-operación",[461],{"type":38,"value":462},"Convertir Disciplina Async en Operación",{"type":33,"tag":34,"props":464,"children":465},{},[466],{"type":38,"value":467},"La cultura async no es \"flexible\" — requiere disciplina rigurosa. Los 3 pilares de esta disciplina en Roibase:",{"type":33,"tag":317,"props":469,"children":470},{},[471,481,491],{"type":33,"tag":267,"props":472,"children":473},{},[474,479],{"type":33,"tag":324,"props":475,"children":476},{},[477],{"type":38,"value":478},"Comunicación text-first:",{"type":38,"value":480}," No hay mensajes de voz en Slack, no hay videos Loom (excepción: onboarding)",{"type":33,"tag":267,"props":482,"children":483},{},[484,489],{"type":33,"tag":324,"props":485,"children":486},{},[487],{"type":38,"value":488},"SLA de respuesta:",{"type":38,"value":490}," Bloqueador en 2 horas, mensaje normal en 8 horas",{"type":33,"tag":267,"props":492,"children":493},{},[494,499],{"type":33,"tag":324,"props":495,"children":496},{},[497],{"type":38,"value":498},"Respeto a zona horaria:",{"type":38,"value":500}," Si alguien envía mensaje después de las 19:00 locales, debe desactivar notificaciones (usar Slack scheduled send)",{"type":33,"tag":34,"props":502,"children":503},{},[504],{"type":38,"value":505},"Esta estructura funciona porque cada miembro protege su propio tiempo de concentración profunda. La función \"Focus Time\" de Linear crea un bloque de 4 horas en el calendario — sin notificaciones, Slack cerrado, solo código o iteración de diseño.",{"type":33,"tag":34,"props":507,"children":508},{},[509],{"type":38,"value":510},"La coordinación async-first de equipos no es reducir reuniones — es crear ritmo para mejorar la calidad de decisión. Cuando la disciplina de ciclo, las actualizaciones diarias y el escalado de bloqueos se alinean, los miembros obtienen respuesta antes de preguntar. Esta estructura reduce el tiempo de reunión de 48 horas semanales a 1 hora en un equipo de 12 personas. Las 47 horas restantes van a trabajo profundo.",{"title":17,"searchDepth":512,"depth":512,"links":513},3,[514,518,521,524,525],{"id":43,"depth":515,"text":46,"children":516},2,[517],{"id":157,"depth":512,"text":160},{"id":196,"depth":515,"text":199,"children":519},[520],{"id":248,"depth":512,"text":251},{"id":289,"depth":515,"text":292,"children":522},[523],{"id":358,"depth":512,"text":361},{"id":402,"depth":515,"text":405},{"id":459,"depth":515,"text":462},"markdown","content:es:lifestyle:linear-async-standup-12-personas-sin-reuniones.md","content","es\u002Flifestyle\u002Flinear-async-standup-12-personas-sin-reuniones.md","es\u002Flifestyle\u002Flinear-async-standup-12-personas-sin-reuniones","md",1782079499334]