Módulo 1: Why Engineers Need Strategy

Reconociendo la bad strategy, incluso cuando está bien disfrazada

Descripción

En la lección 3 clasificaste las cinco frases del offsite de Mercado, y el resultado fue claro: dos eran una estrategia real, tres eran bad strategy — el término de Rumelt para una estrategia que falla, no por mala suerte en la ejecución, sino porque nunca fue una estrategia real desde el principio. Esa lección se quedó, a propósito, con los casos más fáciles de detectar: una aspiración vacía ("líder de la región"), una meta numérica ("crecer 30%"). Esta lección sube la dificultad. Vas a ver dos patrones adicionales de bad strategy que Rumelt nombra con detalle en su libro —el fluff (relleno con apariencia de sofisticación) y la lista de objetivos disfrazada de estrategia— y, lo más importante para tu criterio como ingeniero, vas a ver un caso donde isRealStrategy se equivoca, para que aprendas a no confiarle el veredicto final a ningún modelo, ni siquiera al tuyo.

Conexión con el módulo. Esta lección reutiliza isRealStrategy, construido en la lección 3, sobre un segundo conjunto de frases —las que aparecieron en el plan anual de Mercado, semanas después del offsite—. El modelo no cambia ni una línea: la única diferencia es la dificultad de los casos que le das a masticar. Esta misma extensión del dataset es, además, la base directa del mini-proyecto de la lección 8.

Una analogía: el eslogan que suena a plan

Imagina una campaña política cuyo lema es "vamos a construir un futuro mejor para todos, con innovación y compromiso". Nadie podría estar en desacuerdo, y sin embargo, después de escucharla completa, no sabes absolutamente nada nuevo sobre qué haría esa persona en el poder que no haría cualquier otra. Compárala con un lema real de campaña —sea cual sea tu postura sobre el contenido— como "vamos a subir el impuesto a las grandes empresas para financiar la educación pública gratuita": ahí sí sabes algo concreto, porque la frase nombra a quién le cuesta (las grandes empresas) y para qué (educación gratuita). La primera frase es más fácil de decir, y por eso mismo, más vacía. Ese contraste —lenguaje que suena sofisticado contra lenguaje que de verdad elige algo, aunque incomode— es exactamente lo que Rumelt llama fluff: usar palabras complejas, abstractas o de moda para dar la sensación de profundidad estratégica, sin que haya, debajo de esas palabras, ninguna elección real.

Ejemplo trabajado: el segundo offsite de Mercado

Semanas después del primer offsite, el equipo de Mercado se reunió otra vez para el plan anual. De esa reunión salieron tres frases nuevas. Vamos a correr, sobre ellas, el mismo isRealStrategy de la lección 3, sin cambiarle una línea.

function isRealStrategy(statement) {
  const text = statement.toLowerCase();
  const tradeoffSignals = ['en vez de', 'en lugar de', 'sacrificando', 'a costa de', 'no vamos a', 'renunciando a'];
  const vagueAspirationSignals = ['lider', 'numero uno', 'clase mundial', 'la mejor', 'el mejor', 'los mejores'];
  const bareGoalPattern = /\d+\s?%/;

  const hasTradeoff = tradeoffSignals.some((s) => text.includes(s));
  const hasVagueAspiration = vagueAspirationSignals.some((s) => text.includes(s));
  const hasBareGoal = bareGoalPattern.test(text);

  if (hasTradeoff) return { verdict: 'strategy', reason: 'declara una eleccion con trade-off explicito: dice que NO va a hacer, o que sacrifica' };
  if (hasVagueAspiration) return { verdict: 'bad_strategy', reason: 'es una aspiracion vaga ("lider", "clase mundial") sin ninguna eleccion concreta detras' };
  if (hasBareGoal) return { verdict: 'bad_strategy', reason: 'es un objetivo numerico (una meta de negocio), no una eleccion sobre donde jugar o como ganar' };
  return { verdict: 'bad_strategy', reason: 'no declara ninguna eleccion ni trade-off identificable' };
}

const newStatements = [
  'Nuestra estrategia es maximizar sinergias omnicanal aprovechando nuestro ecosystem-centric value proposition.',
  'Nuestros objetivos son: crecer GMV, mejorar NPS, reducir el churn de vendedores, aumentar la retencion de compradores y expandir a 3 paises nuevos.',
  'Nos vamos a enfocar en el cliente en vez de en la competencia.',
];

console.log('=== Segundo offsite: frases nuevas del plan anual ===\n');
newStatements.forEach((s, i) => {
  const r = isRealStrategy(s);
  console.log((i + 1) + '. "' + s + '"');
  console.log('   -> ' + r.verdict + ' (' + r.reason + ')\n');
});

Qué esperar. Al correr el archivo con Node, la salida es exactamente esta:

=== Segundo offsite: frases nuevas del plan anual ===

1. "Nuestra estrategia es maximizar sinergias omnicanal aprovechando nuestro ecosystem-centric value proposition."
   -> bad_strategy (no declara ninguna eleccion ni trade-off identificable)

2. "Nuestros objetivos son: crecer GMV, mejorar NPS, reducir el churn de vendedores, aumentar la retencion de compradores y expandir a 3 paises nuevos."
   -> bad_strategy (no declara ninguna eleccion ni trade-off identificable)

3. "Nos vamos a enfocar en el cliente en vez de en la competencia."
   -> strategy (declara una eleccion con trade-off explicito: dice que NO va a hacer, o que sacrifica)

Las tres frases merecen una lectura por separado, porque cada una prueba algo distinto sobre los límites del modelo.

La frase 1 es fluff en su forma más pura: "maximizar sinergias omnicanal aprovechando nuestro ecosystem-centric value proposition" suena, a primera escucha, más sofisticada que "vamos a ser líderes de la región" — usa vocabulario de consultoría, términos en inglés, la palabra "estrategia" en la propia frase. Pero si le quitas el barniz, no dice absolutamente nada verificable: ¿qué es una "sinergia omnicanal"? ¿Qué channels, específicamente? ¿Qué se sacrifica para lograrlo? El modelo la clasifica correctamente como bad_strategy, no porque reconozca el fluff como concepto —el modelo no "entiende" nada—, sino porque, casualmente, ninguna de las palabras complicadas activa la señal de trade-off. El fluff, por su propia naturaleza, casi nunca contiene una renuncia explícita — es, precisamente, lenguaje diseñado para sonar seguro sin comprometerse a nada — y por eso cae, casi siempre, en la rama por defecto del modelo.

La frase 2 es el segundo patrón de bad strategy que Rumelt nombra: una lista de objetivos disfrazada de estrategia. Cinco metas distintas —GMV, NPS, churn, retención, expansión a tres países— presentadas juntas, sin ningún orden de prioridad ni ninguna elección de cuál importa más que las demás. Rumelt es tajante sobre esto: una lista de objetivos no es una estrategia, aunque cada objetivo individual sea razonable, porque no dice cómo se logran, y sobre todo no dice qué se sacrifica cuando dos de esos cinco objetivos entran en conflicto (¿qué pasa si expandir a tres países nuevos requiere gastar el presupuesto que hubiera bajado el churn de vendedores?). El modelo la marca correctamente como bad_strategy.

La frase 3 es la más importante de las tres, porque aquí el modelo se equivoca. "Nos vamos a enfocar en el cliente en vez de en la competencia" contiene la señal en vez de, así que isRealStrategy la clasifica como strategy. Pero léela con cuidado: ¿qué segmento específico de cliente? ¿Qué haría Mercado distinto, en la práctica, si "se enfocara en el cliente" en vez de "en la competencia"? La frase tiene la forma gramatical de un trade-off —un "en vez de" bien puesto—, pero no nombra ningún sacrificio concreto ni verificable. Es, en el fondo, tan vacía como "vamos a ser líderes de la región", solo que está mejor disfrazada: alguien aprendió que las frases con "en vez de" suenan a estrategia real, y construyó una que tiene la forma sin el contenido.

Por qué el modelo se equivoca, y qué hacer con eso

isRealStrategy busca una señal de superficie —ciertas palabras y patrones de texto—, no el contenido real de la elección. Eso lo hace rápido y útil para un primer filtro sobre un conjunto grande de frases, pero también lo hace gameable: cualquiera que sepa qué palabras activan el veredicto strategy puede escribir una frase que las contenga sin comprometerse a nada de verdad. Este no es un defecto que se pueda arreglar agregando más palabras a la lista de señales — es una limitación estructural de cualquier modelo que juzga texto por patrones superficiales en vez de por su significado real, y es exactamente la razón por la que este módulo, desde la lección 3, insiste en que el modelo estructura el juicio, no lo reemplaza.

La prueba real, la que ningún modelo de texto puede automatizar del todo, es esta: ¿el trade-off nombrado es específico y verificable? Compara la frase 3 de esta lección ("nos enfocamos en el cliente en vez de en la competencia" — vago, no dice qué cliente ni qué acción cambia) con la frase 5 del offsite original de la lección 3 ("no vamos a construir un motor de búsqueda mejor que el del gigante genérico; ese esfuerzo lo invertimos en curaduría humana y vendedores locales de confianza" — específico: nombra la acción exacta que NO se hace, y la acción exacta en la que se invierte en su lugar). La diferencia no está en la gramática de las dos frases —las dos usan una construcción de trade-off—; está en si, después de leerlas, sabes algo nuevo y accionable sobre qué va a hacer diferente el equipo. Esa pregunta, "¿sé algo nuevo y accionable después de leer esto?", es el chequeo final que tienes que aplicar tú, después de que el modelo haga su primer filtro rápido.

Errores comunes

Confiar en el veredicto del modelo sin leer la frase completa. Qué pasa: alguien corre isRealStrategy sobre un documento largo de planeación, ve que varias frases salen marcadas como strategy, y las acepta como estrategia real sin volver a leerlas con criterio humano. Por qué pasa: un veredicto automatizado se siente más objetivo y definitivo que una lectura crítica propia, aunque el modelo, como acabas de ver, se puede engañar con una sola palabra bien puesta. Cómo detectarlo: es, literalmente, el caso de la frase 3 de esta lección — pasa el filtro, y sin embargo no dice nada específico. Cómo corregirlo: usa el modelo como un primer filtro rápido sobre un conjunto grande de frases, nunca como el veredicto final. Toda frase que el modelo marque como strategy todavía necesita la pregunta humana: ¿esto es específico y verificable, o solo tiene la forma correcta?

Usar la palabra "estrategia" para dar peso a una lista de objetivos. Qué pasa: un documento titula una sección "Nuestra estrategia" y debajo enumera varias metas de negocio —igual que la frase 2 de esta lección—, como si el título por sí solo convirtiera la lista en algo distinto de lo que es. Por qué pasa: la palabra "estrategia" suena a más autoridad y más rigor que "objetivos" o "metas", y usarla se siente como elevar el documento sin necesidad de hacer el trabajo real de elegir. Cómo detectarlo: si puedes reordenar los ítems de la lista sin que el sentido cambie —los cinco objetivos de la frase 2 funcionan en cualquier orden—, es una señal de que no hay una jerarquía ni una elección real detrás, solo una enumeración. Cómo corregirlo: una lista de objetivos se convierte en estrategia cuando alguien decide, explícitamente, cuál de esos objetivos manda cuando dos entran en conflicto, y qué se sacrifica para perseguir el prioritario. Sin esa decisión, sigue siendo una lista, sin importar el título que lleve encima.

Aprender a "hackear" el criterio en vez de a razonar con él. Qué pasa: alguien, después de ver el criterio de isRealStrategy, empieza a escribir frases que contienen deliberadamente las palabras que activan strategy ("en vez de", "sacrificando"), sin que la elección de fondo sea real —exactamente lo que pasó, sin mala intención pero con el mismo efecto, en la frase 3 de esta lección—. Por qué pasa: una vez que un criterio se vuelve conocido, es tentador optimizar para pasarlo en vez de optimizar para el objetivo real que el criterio intentaba medir — es el mismo fenómeno, a pequeña escala, que sucede cuando cualquier métrica se convierte en objetivo. Cómo detectarlo: la frase suena a fórmula ("X en vez de Y") sin que X ni Y sean específicos o verificables. Cómo corregirlo: recuerda siempre la pregunta de fondo detrás del criterio — no es "¿contiene la palabra correcta?", es "¿elegí algo real, con un costo real?". El criterio de texto es un atajo hacia esa pregunta, nunca un sustituto de ella.

Ejercicios

Ejercicio 1 — Encuentra el fluff. Reescribe la frase 1 de esta lección ("maximizar sinergias omnicanal aprovechando nuestro ecosystem-centric value proposition") en un español simple, sin ninguna palabra de moda, tal como se la explicarías a un familiar que no trabaja en tecnología. ¿Qué te dice el ejercicio sobre cuánto contenido real tenía la frase original?

Ver solución

Al intentar traducirla a un español simple, la frase se resiste a decir nada concreto: lo más cercano posible sería algo como "queremos que todos nuestros canales trabajen bien juntos y que los clientes tengan una buena experiencia" — que sigue siendo, después de simplificarla, una aspiración genérica sin ninguna acción específica ni ningún trade-off. El ejercicio revela algo importante sobre el fluff: cuando el vocabulario complicado desaparece, no queda una idea simple pero real debajo — queda vacío. Esa es, precisamente, la prueba práctica que puedes aplicar a cualquier frase que suene sofisticada: si no sobrevive la traducción a lenguaje simple con su contenido intacto, probablemente no tenía contenido real desde el principio.

Ejercicio 2 — Repara la frase que engañó al modelo. Toma la frase 3 de esta lección ("nos vamos a enfocar en el cliente en vez de en la competencia") y reescríbela para que conserve la estructura de trade-off pero ahora sea específica y verificable — debe seguir clasificando como strategy, pero esta vez por una razón de contenido, no solo de forma.

Ver solución

Una reescritura posible, específica sobre qué acción concreta cambia:

"Vamos a invertir el presupuesto de este trimestre en entrevistas y
soporte directo a compradores frecuentes, en vez de en monitorear
los precios del gigante generico para igualarlos semana a semana."

Esta versión sigue activando la señal en vez de del modelo —igual que la original—, pero ahora nombra una acción específica que sí se hace (entrevistas y soporte directo) y una acción específica que se deja de hacer (monitorear precios de la competencia semana a semana). Si mañana alguien pregunta "¿estamos siguiendo esta estrategia?", hay una forma concreta de verificarlo: ¿el equipo sigue monitoreando precios de la competencia, o dejó de hacerlo? La frase original no permitía ninguna verificación así — "enfocarse en el cliente" es compatible con casi cualquier actividad que el equipo decida hacer.

Ejercicio 3 — Diseña tu propia trampa para el modelo. Escribe una frase nueva, distinta a las de esta lección, que contenga una de las señales de trade-off (tradeoffSignals) pero que, al leerla con criterio humano, resulte igual de vacía que la frase 3. Después, explica en una frase por qué engaña al modelo.

Ver solución

Un ejemplo posible: "vamos a priorizar la calidad en lugar de la cantidad." Contiene la señal en lugar de, así que el modelo la marcaría como strategy. Pero, igual que la frase 3 de esta lección, no dice nada específico: ¿calidad de qué, medida cómo? ¿Cantidad de qué, específicamente reducida en cuánto? Cualquier empresa, en cualquier industria, podría decir esta frase sin cambiar una sola de sus decisiones reales. Engaña al modelo por la misma razón que la frase 3: tiene la construcción gramatical correcta ("X en lugar de Y"), pero ni X ni Y son lo bastante concretos como para que la frase sea, de verdad, una elección verificable. El punto del ejercicio es que, una vez que entiendes qué busca el modelo, es fácil escribir frases que lo engañen — y esa misma facilidad es la razón por la que el juicio humano final nunca debería delegarse por completo a un criterio de texto.

Resumen y siguiente paso

En esta lección profundizaste el reconocimiento de bad strategy más allá de los casos obvios: viste el fluff (lenguaje sofisticado sin contenido, frase 1) y la lista de objetivos disfrazada de estrategia (frase 2) — dos patrones que Rumelt nombra con detalle, y que isRealStrategy detecta correctamente, aunque sea por una razón distinta a "entender" el fluff o la lista. Y, lo más importante, viste un caso donde el modelo se equivoca (frase 3): una frase con la forma gramatical correcta de un trade-off, pero sin contenido específico ni verificable detrás — la prueba de que ningún criterio de texto reemplaza la pregunta final: ¿sé algo nuevo y accionable después de leer esto?

Antes de avanzar deberías poder: nombrar los tres patrones de bad strategy vistos en el módulo (aspiración vacía, meta numérica, fluff/lista de objetivos); explicar por qué una frase puede tener la forma correcta de un trade-off sin ser una elección real; y aplicar la prueba de "¿sé algo nuevo y accionable?" a cualquier frase que se presente como estrategia.

Con esto llegas al final de las lecciones de contenido del módulo. La lección 8, el mini-proyecto, junta los dos modelos completos del módulo —isRealStrategy y outcomeOf— sobre el board deck completo de Mercado: vas a auditar todas las frases estratégicas que el equipo produjo hasta ahora, y a calcular, con números, exactamente cuánto le costaría a Mercado perseguir la frase equivocada con una ejecución perfecta.

Recursos