<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
  <title>Paradigma Digital</title>
  <link>https://www.paradigmadigital.com/blog/</link>
  <atom:link href="https://www.paradigmadigital.com/feed.xml" rel="self" type="application/rss+xml" />
  <description>Big Data, Blockchain, cultura ágil, desarrollo, diseño… Te ofrecemos toda la información que necesitas para estar al día en tecnología.</description>
  <generator>Eleventy - 11ty.dev</generator>
  <language>es-ES</language>
  <lastBuildDate>Wed, 03 Jun 2026 06:21:10 GMT</lastBuildDate>
  <image>
    <url>https://www.paradigmadigital.com/assets/img/logo/favicon.png</url>
    <title>Paradigma Digital</title>
    <link>https://www.paradigmadigital.com/blog/</link>
    <width>192</width>
    <height>192</height>
  </image>
  <item>
        <dc:creator>
            <![CDATA[ Vanessa Davo Parreño ]]>
        </dc:creator>
        <title>WCAG 3.0: cómo está cambiando la forma de entender la accesibilidad web</title>
        <link>https://www.paradigmadigital.com/dev/wcag-3-0-como-esta-cambiando-forma-entender-accesibilidad-web/</link>
        <pubDate>Wed, 03 Jun 2026 06:00:00 GMT</pubDate>
        <guid isPermaLink="true">https://www.paradigmadigital.com/dev/wcag-3-0-como-esta-cambiando-forma-entender-accesibilidad-web/</guid>
        <description>Las WCAG llevan décadas midiendo la accesibilidad web con un criterio binario: cumples o no cumples. La versión 3.0 quiere cambiar eso con nuevos niveles, puntuaciones progresivas y, sobre todo, el foco puesto en la experiencia real de las personas. Te contamos los cambios que propone esta nueva versión
</description>
        <content:encoded>
            <![CDATA[
                <p>Las Web Content Accessibility Guidelines (WCAG) o Pautas de Accesibilidad para el Contenido Web, son el <a href="https://www.paradigmadigital.com/dev/ebook-a11y-accesibilidad-web-ser-mitologico" target="_blank">estándar de referencia que define cómo crear aplicaciones web accesibles para todas las personas</a>, independientemente de sus capacidades o del contexto en el que naveguen.</p>
<p>Actualmente nos encontramos en la versión <a href="https://www.w3.org/TR/WCAG22/" target="_blank">WCAG 2.2 (Inglés)</a>, publicada como recomendación el 5 de Octubre del 2023 y, hasta el momento, el enfoque de estas pautas ha sido bastante estable.</p>
<p>Hasta ahora el modelo era relativamente sencillo de entender: por un lado existían una serie de criterios técnicos que determinaban qué aspectos debía cumplir una web para ser accesible y, por otro, distintos <a href="https://www.w3.org/TR/WCAG22/#cc1" target="_blank">niveles de conformidad (Inglés)</a> (A, AA y AAA) que indicaban el grado de accesibilidad alcanzado.</p>
<p>Pero eso está cambiando y es por ello que he querido escribir este artículo.</p>
<p>Han pasado ya más de cinco años desde la publicación del primer borrador de las <a href="https://www.w3.org/TR/wcag-3.0/" target="_blank">WCAG 3.0 (Inglés)</a> y, aunque todavía sigue siendo precisamente eso, un borrador, la propuesta empieza a tomar forma y nos empieza a dejar ver <strong>hacia dónde quiere evolucionar la accesibilidad digital</strong>.</p>
<p><em>*Antes de continuar quiero aclarar que todavía no es un estándar oficial y no debe utilizarse como referencia legal o de conformidad. Por ahora, las organizaciones deben seguir trabajando con WCAG 2.2.</em></p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Cómo cambia la evaluación en WCAG 3.0</h2>
<p>Creo que la mejor forma de entender a lo que me refiero con <em>“esto está cambiando”</em> es analizar <strong>cómo se va a evaluar la accesibilidad en WCAG 3.0</strong>. Porque más allá de nuevos criterios o pequeños ajustes técnicos, lo que realmente está cambiando es la <strong>forma de entender la accesibilidad</strong>.</p>
<h3 class="block block-header h--h20-175-500 left  add-last-dot">Conformidad</h3>
<p>Desde <a href="https://www.w3.org/TR/WAI-WEBCONTENT/" target="_blank">WCAG 1.0 (Inglés)</a> hasta WCAG 2.2, el sistema para determinar si un sitio web era accesible se ha mantenido prácticamente igual: existían una serie de <strong>criterios de éxito</strong> y, en función de cuáles se cumplían, se obtenía un nivel de conformidad determinado.</p>
<p>Estos niveles eran:</p>
<ul>
<li><strong>A</strong>. Este es el nivel mínimo de conformidad y se alcanza cuando la web cumple con todos los criterios de éxito del nivel A.</li>
<li><strong>AA</strong>. Este nivel es el mínimo legal exigido para la mayoría de sitios web que tienen obligación de ser accesibles. Se alcanza cuando se cumplen todos los criterios de los niveles A y AA.</li>
<li><strong>AAA</strong>. Este nivel es el más accesible y se alcanza cuando se cumplen todos los criterios A, AA y AAA.</li>
</ul>
<p>Sin embargo, <strong>WCAG 3.0</strong> propone abandonar este modelo tradicional y sustituirlo por un <strong>nuevo sistema de niveles</strong>:</p>
<ul>
<li><strong>Bronce</strong>. Este sería el <strong>nivel mínimo de conformidad</strong>. Para alcanzarlo, todas las páginas, vistas y procesos incluidos dentro del alcance de evaluación deberán cumplir todos los requisitos principales y además una parte de los requisitos suplementarios y afirmaciones definidas dentro de cada <a href="https://www.w3.org/TR/wcag-3.0/#function-performance-statements" target="_blank">declaración de rendimiento funcional  (Inglés)</a>.</li>
<li><strong>Plata</strong>. Para alcanzar este nivel será necesario cumplir todos los requisitos principales y además una proporción mayor de requisitos suplementarios y afirmaciones que en el nivel Bronce.</li>
<li><strong>Oro</strong>. Este sería el <strong>nivel más alto de conformidad</strong> dentro de WCAG 3.0. Requerirá cumplir todos los requisitos principales y prácticamente la totalidad de requisitos suplementarios y afirmaciones aplicables.</li>
</ul>
<p>Puedes leer más acerca de los <a href="https://www.w3.org/TR/wcag-3.0/#conformance-requirements" target="_blank">requisitos de conformidad de las WCAG 3.0 en el borrador (Inglés)</a>.</p>
<p>Más adelante en este artículo explicaré con más detalle <strong>qué son los requisitos principales, los requisitos suplementarios y las afirmaciones dentro de WCAG 3.0</strong>. Por ahora, lo importante es entender que el modelo actual funciona de una forma binaria: <strong>un criterio se cumple o no se cumple</strong>.</p>
<p>Sin embargo, esta nueva versión (WCAG 3.0) quiere alejarse de ese enfoque y propone un <strong>sistema mucho más flexible y progresivo basado en puntuaciones, resultados y experiencia real</strong> de accesibilidad.</p>
<h3 class="block block-header h--h20-175-500 left  add-last-dot">Declaraciones de rendimiento funcional</h3>
<p>En esta nueva versión, se introduce el concepto de <strong>Functional Performance Statements</strong>, que amplían la forma en la que se entiende la accesibilidad. Puedes <a href="https://www.w3.org/TR/wcag-3.0/#function-performance-statements" target="_blank">leer más sobre las declaraciones de rendimiento funcional en el borrador (Inglés)</a>.</p>
<p>Estas declaraciones no son criterios técnicos como en las anteriores versiones, sino <strong>descripciones de cómo una persona puede interactuar con la tecnología en función de sus capacidades funcionales</strong>, independientemente de una discapacidad concreta.</p>
<p>El objetivo no es obtener un listado de diferentes discapacidades, sino <strong>describir limitaciones funcionales</strong> que pueden <strong>darse en distintos contextos</strong> y que pueden <strong>afectar a cualquier persona</strong> de forma permanente, temporal o situacional.</p>
<p>Por ejemplo, una persona con <strong>discapacidad visual</strong> puede necesitar “uso sin visión”, pero también una persona usando el <strong>móvil al sol con mala visibilidad</strong> puede encontrarse en una situación similar.</p>
<h3 class="block block-header h--h20-175-500 left  add-last-dot">Tipos de provisión</h3>
<p>Y por último, al menos en este artículo, la versión 3.0 también introduce un <a href="https://www.w3.org/TR/wcag-3.0/#types-of-provision" target="_blank">nuevo concepto denominado tipos de provisión (types of provisions) (Inglés)</a>, que define <strong>cómo se evalúan y ponderan los distintos requisitos</strong> dentro del modelo de conformidad.</p>
<p>Dentro de estos tipos de provisión encontramos:</p>
<ul>
<li><strong>Requisitos principales (core)</strong>. Son aquellos aspectos considerados <strong>esenciales</strong> para que una experiencia sea accesible. Si alguno de estos requisitos falla, directamente no se podrá alcanzar conformidad, independientemente de la puntuación total obtenida.</li>
<li><strong>Requisitos suplementarios</strong>. Son aspectos que <strong>mejoran</strong> la experiencia de accesibilidad, pero cuyo incumplimiento no invalida completamente la conformidad. Estos requisitos ayudan a medir la calidad global de la experiencia accesible.</li>
<li><strong>Afirmaciones</strong>. Son declaraciones <strong>adicionales</strong> realizadas por la propia organización para demostrar prácticas de accesibilidad que no siempre pueden validarse automáticamente.</li>
</ul>
<p>Cada uno de ellos tiene un <strong>peso y una función distinta</strong> dentro del nuevo sistema de evaluación que propone WCAG 3.0.</p>
<figure class="block block-caption -link -inline-block -like-text-width -center"><a href="https://www.w3.org/TR/wcag-3.0/#accessibility-supported"  target="_blank"><img src="https://www.paradigmadigital.com/assets/img/defaults/lazy-load.svg"
          data-src="https://www.paradigmadigital.com/assets/img/resize/small/W3_C_WCAG_3_0_Working_Draft_0787cea51c.png"
          data-srcset="https://www.paradigmadigital.com/assets/img/resize/huge/W3_C_WCAG_3_0_Working_Draft_0787cea51c.png 1920w,https://www.paradigmadigital.com/assets/img/resize/big/W3_C_WCAG_3_0_Working_Draft_0787cea51c.png 1280w,https://www.paradigmadigital.com/assets/img/resize/medium/W3_C_WCAG_3_0_Working_Draft_0787cea51c.png 910w,https://www.paradigmadigital.com/assets/img/resize/small/W3_C_WCAG_3_0_Working_Draft_0787cea51c.png 455w"
          class="lazy-img"  
                  sizes="(max-width: 767px) 80vw, 75vw"
                  alt="Fuente: W3C – WCAG 3.0 Working Draft" title="undefined"/><figcaption>Fuente: W3C – WCAG 3.0 Working Draft</figcaption></a></figure>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Conclusiones</h2>
<p>WCAG 3.0 todavía está en <strong>fase de borrador</strong>, pero ya nos deja ver un <strong>cambio importante</strong> en la forma en la que entendemos la accesibilidad digital.</p>
<p>Más allá de nuevos niveles, nuevos términos o nuevas métricas, lo que realmente cambia es el <strong>enfoque</strong>: pasamos de un modelo basado en cumplimiento técnico estricto a un <strong>modelo más centrado en resultados, contexto y experiencia real de uso</strong>.</p>
<p>Esto no significa que WCAG 2.2 deje de ser relevante, al contrario: sigue siendo el estándar vigente y la referencia actual en accesibilidad web. Pero entender hacia dónde se dirige WCAG 3.0 nos ayuda a <strong>anticipar cómo evolucionará el diseño y desarrollo de productos digitales</strong> en los próximos años.</p>
<p>Dicho esto, espero que te haya gustado este artículo y te haya ayudado a entender un poco más qué nos podemos esperar de la nueva versión de las WCAG. ¡Te leo en comentarios!</p>

            ]]>
        </content:encoded>
    </item><item>
        <dc:creator>
            <![CDATA[ Juan Mas Aguilar ]]>
        </dc:creator>
        <title>Podcast - WebAssembly fuera del navegador: WASI y Component Model</title>
        <link>https://www.paradigmadigital.com/dev/podcast-webassembly-fuera-navegador-wasi-y-component-model/</link>
        <pubDate>Tue, 02 Jun 2026 06:00:00 GMT</pubDate>
        <guid isPermaLink="true">https://www.paradigmadigital.com/dev/podcast-webassembly-fuera-navegador-wasi-y-component-model/</guid>
        <description>Analizamos el impacto de WebAssembly en producción: descubre cómo aporta rendimiento nativo, portabilidad y aislamiento en entornos cloud.
</description>
        <content:encoded>
            <![CDATA[
                <p>Durante años, <strong>JavaScript ha sido el gran protagonista del desarrollo web</strong>. Gracias a su evolución y al crecimiento de frameworks modernos, <strong>hoy es posible construir aplicaciones increíblemente complejas directamente desde el navegador</strong>.</p>
<p>Sin embargo, a medida que esas aplicaciones exigen más capacidad de procesamiento (edición de vídeo, videojuegos, inteligencia artificial, simulaciones o herramientas profesionales) también han empezado a aparecer <strong>límites relacionados con el rendimiento, la eficiencia y la portabilidad</strong>.</p>
<p><strong>Ahí es donde entra WebAssembly</strong>, más conocido como Wasm, una tecnología que en 2026 ya ha dejado de ser una promesa experimental para convertirse en <strong>una de las piezas más relevantes del desarrollo moderno</strong>.</p>
<p>En este episodio analizamos <strong>qué es realmente WebAssembly</strong>, por qué está despertando tanto interés en la industria y <strong>cómo puede cambiar la forma en la que construimos aplicaciones tanto en la web como fuera de ella</strong>.</p>
<iframe id="" class="block block-iframe -like-text-width" src="https://open.spotify.com/embed/episode/3WZ41wMWk6XdgZeO6ZlGCK?utm_source=generator&amp;theme=0" style="height:240px;  width:100%;"></iframe>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Qué es exactamente WebAssembly</h2>
<p><strong>WebAssembly nació con un objetivo muy concreto: permitir ejecutar código de alto rendimiento dentro del navegador</strong>. Hasta hace unos años, JavaScript era prácticamente la única opción disponible para desarrollar aplicaciones web avanzadas, pero ciertos escenarios seguían teniendo problemas de rendimiento importantes.</p>
<p>La propuesta de Wasm fue diferente desde el principio. En lugar de competir directamente con JavaScript, <strong>introdujo una nueva capa de ejecución capaz de correr código compilado desde lenguajes como C, C++ o Rust con una velocidad muy cercana al rendimiento nativo</strong>.</p>
<p>Eso cambió completamente la percepción del navegador. Dejó de ser simplemente un entorno para ejecutar JavaScript y <strong>empezó a verse como una plataforma universal donde podían convivir múltiples lenguajes y modelos de ejecución</strong>.</p>
<p>Y, aunque inicialmente el foco estaba puesto en el frontend, la evolución de WebAssembly ha terminado llevando la tecnología mucho más allá.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">El verdadero valor de Wasm no es solo el rendimiento</h2>
<p>Cuando se habla de WebAssembly, normalmente lo primero que aparece es la palabra “velocidad”. Y sí, el rendimiento es uno de sus puntos fuertes, pero probablemente no sea lo más importante. <strong>La gran revolución de Wasm es la portabilidad</strong>.</p>
<p>Un mismo módulo puede ejecutarse prácticamente igual en un navegador, en un servidor, en un entorno edge o incluso en dispositivos IoT. <strong>Esto permite construir aplicaciones mucho más ligeras y consistentes sin depender tanto del sistema operativo o de arquitecturas específicas</strong>.</p>
<p>Por eso muchas compañías están empezando a utilizar WebAssembly como una capa de ejecución universal. La idea de “compilar una vez y ejecutar en cualquier sitio” vuelve a cobrar fuerza, pero esta vez orientada al cloud moderno y a aplicaciones distribuidas.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Rust y WebAssembly: una combinación cada vez más habitual</h2>
<p><strong>Otro de los protagonistas es Rust y su crecimiento dentro del ecosistema Wasm</strong>. No es casualidad que ambos estén evolucionando juntos. <strong>Rust aporta seguridad de memoria, binarios muy pequeños y un rendimiento excelente</strong>, algo especialmente valioso en entornos donde cada milisegundo y cada megabyte cuentan.</p>
<p>Además, <strong>WebAssembly encaja perfectamente con la filosofía de aislamiento y eficiencia que propone Rust</strong>. Por eso, muchas herramientas modernas relacionadas con edge computing, plugins extensibles o runtimes ligeros están adoptando esta combinación tecnológica.</p>
<p>En los últimos años también han aparecido plataformas y runtimes específicos que están impulsando enormemente el ecosistema, permitiendo ejecutar módulos Wasm fuera del navegador de una forma cada vez más madura y estable.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">El impacto en cloud y edge computing</h2>
<p>Uno de los puntos más interesantes de WebAssembly es cómo empieza a posicionarse como alternativa parcial a determinados modelos tradicionales del cloud.</p>
<p>Hoy los contenedores siguen siendo la base de gran parte de las arquitecturas modernas, pero también tienen limitaciones claras relacionadas con consumo de recursos, tiempos de arranque y complejidad operativa.</p>
<p><strong>Los módulos Wasm son extremadamente ligeros y pueden arrancar prácticamente de forma instantánea</strong>. Esto los convierte en una solución muy atractiva para entornos serverless, edge computing o sistemas distribuidos donde la eficiencia es crítica.</p>
<p><strong>No significa que Docker o Kubernetes vayan a desaparecer, pero sí que empiezan a aparecer nuevos modelos híbridos</strong> donde WebAssembly cubre determinados escenarios de forma mucho más eficiente.</p>
<p>Especialmente en edge, donde ejecutar procesos cerca del usuario final es cada vez más importante, Wasm está encontrando un terreno perfecto para crecer.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Seguridad y aislamiento: otras de sus grandes ventajas</h2>
<p>Más allá del rendimiento, muchas empresas están mirando WebAssembly por motivos de seguridad.</p>
<p>Los módulos Wasm funcionan dentro de un entorno aislado y muy controlado, sin acceso directo al sistema operativo. <strong>Esto reduce enormemente los riesgos y permite ejecutar código de terceros de una forma mucho más segura que otros modelos tradicionales</strong>.</p>
<p>Por eso empieza a utilizarse cada vez más en plataformas SaaS, sistemas multi-tenant o productos empresariales donde la seguridad y el aislamiento son especialmente importantes.</p>
<p>En cierto modo, <strong>WebAssembly está evolucionando hacia una especie de “sandbox universal” para ejecutar aplicaciones de manera segura y portable</strong>.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">El papel de WebAssembly en la inteligencia artificial</h2>
<p>A medida que aparecen modelos más pequeños y eficientes, cada vez tiene más sentido ejecutar parte de la inferencia directamente en navegador o en edge, reduciendo costes cloud y mejorando la latencia.</p>
<p>Aquí WebAssembly juega un papel importante porque <strong>permite ejecutar código altamente optimizado prácticamente en cualquier entorno</strong>. Gracias a esto estamos empezando a ver aplicaciones donde asistentes inteligentes, herramientas creativas o funciones de IA funcionan parcialmente en local, sin depender constantemente de servidores remotos.</p>
<p>Esto no solo mejora el rendimiento, sino también aspectos relacionados con privacidad y costes operativos.</p>
<h2 class="block block-header h--h30-15-400 left  ">¿WebAssembly sustituirá a JavaScript?</h2>
<p>Probablemente no. Y, de hecho, <strong>esa no parece ser la dirección del mercado</strong>.</p>
<p><strong>La tendencia real apunta hacia aplicaciones híbridas donde JavaScript sigue gestionando la experiencia de usuario y la interacción</strong>, mientras <strong>WebAssembly se encarga de las partes más exigentes</strong> desde el punto de vista computacional.</p>
<p>Más que un reemplazo, Wasm se está convirtiendo en un complemento estratégico.</p>
<p>Lo interesante es que <strong>esa convivencia permite aprovechar lo mejor de ambos mundos</strong>: la flexibilidad del ecosistema web tradicional y el rendimiento de entornos más cercanos al nativo.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Una tecnología que ya está entrando en producción</h2>
<p>Hace unos años WebAssembly parecía reservado a demos técnicas o casos muy específicos. En 2026 eso ya ha cambiado.</p>
<p>Hoy estamos viendo Wasm aparecer en conversaciones reales sobre:</p>
<ul>
<li>Edge computing.</li>
<li>Cloud distribuido.</li>
<li>Plataformas SaaS.</li>
<li>Videojuegos.</li>
<li>Herramientas creativas.</li>
<li>Seguridad.</li>
<li>Inteligencia artificial.</li>
<li>Y arquitecturas empresariales modernas.</li>
</ul>
<p>Todavía no está presente en todos los proyectos, pero sí empieza a consolidarse como una de las tecnologías con más potencial de crecimiento dentro del ecosistema software.</p>
<p>Y todo apunta a que lo más interesante todavía está por llegar.</p>

            ]]>
        </content:encoded>
    </item><item>
        <dc:creator>
            <![CDATA[ Manuel Zaforas ]]>
        </dc:creator>
        <title>¿Qué es la deuda organizacional y por qué tu empresa necesita gestionarla hoy?</title>
        <link>https://www.paradigmadigital.com/transformacion-organizacional-rev/que-es-deuda-organizacional-por-que-empresa-necesita-gestionarla-hoy/</link>
        <pubDate>Mon, 01 Jun 2026 06:00:00 GMT</pubDate>
        <guid isPermaLink="true">https://www.paradigmadigital.com/transformacion-organizacional-rev/que-es-deuda-organizacional-por-que-empresa-necesita-gestionarla-hoy/</guid>
        <description>La deuda técnica la medimos, la priorizamos y la gestionamos en cada sprint. La deuda organizacional, que tiene un impacto igual de real en los equipos, la ignoramos durante años y es hora de cambiar esto. En este post te damos 4 patrones concretos para empezar a gestionarla ya
</description>
        <content:encoded>
            <![CDATA[
                <p>En la industria IT hemos interiorizado un concepto fundamental para nuestra supervivencia: <strong>la deuda técnica</strong>. Le prestamos mucha atención, la medimos, la discutimos en nuestras retrospectivas y sabemos perfectamente el peaje que cobra si la ignoramos.</p>
<p>En el campo de la ingeniería, hemos reflexionado y nos hemos preocupado mucho sobre <strong>cómo gestionar y abordar bien este problema estructural</strong>. Una buena gestión de la deuda técnica tiende a hacer que emerja, sea identificada y se habiliten mecanismos ágiles para tratarla, de forma que <strong>se convierta en algo sostenible en el tiempo y no bloquee nuestros despliegues</strong>.</p>
<p>Sin embargo, existe otro tipo de deuda que tiene un impacto mucho más grande y profundo en las organizaciones y sobre la que, paradójicamente, hablamos mucho menos: <strong>la deuda organizacional</strong>.</p>
<p>Mientras nuestros equipos técnicos refactorizan código y optimizan infraestructuras, nuestras <strong>estructuras corporativas</strong> a menudo acumulan <strong>ineficiencias, procesos obsoletos y desalineaciones departamentales</strong> que amenazan la salud corporativa.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">El origen silencioso: cuando el fin justifica los medios</h2>
<p>Igual que ocurre con la deuda financiera, endeudarse puede ser algo bueno cuando sirve a un fin estratégico y, a la vez, somos capaces de construir un marco razonable en el tiempo con el que devolver esa deuda. <strong>Asumir una fricción temporal en la organización para capturar una oportunidad de mercado</strong> es una decisión de negocio perfectamente válida.</p>
<p>La deuda organizacional se produce cuando hay una decisión, ya sea explícita o implícita, que genera un <strong>coste futuro no gestionado</strong>. Esta deuda se va acumulando y comportándose como un pequeño virus que va entrando poco a poco en las organizaciones y extendiéndose paulatinamente con el tiempo.</p>
<p>A veces empieza como una pequeña decisión justificada por un bien mayor, ya sea el de la eficiencia operativa, la urgencia ineludible del time to market o la elección consciente del mal menor para salvar un hito crítico. Y esto no está necesariamente mal. Igual que tenemos que ser capaces de generar y asumir deuda técnica con responsabilidad en el desarrollo de un producto, debe ocurrir exactamente lo mismo con la deuda organizacional en la gestión empresarial.</p>
<p><strong>El problema viene cuando, a nivel organizativo, no somos capaces de identificar la deuda que vamos generando y atacarla de forma continua</strong>. Es entonces cuando las &quot;excepciones temporales&quot; se cristalizan y se convierten en la norma.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">El impacto en la cultura y la proactividad</h2>
<p>La <strong>deuda organizacional puede tomar muchas formas</strong> y, si estás en una gran compañía, seguramente te suene todo esto.</p>
<p>Puede ser un <strong>flujo de trabajo</strong> entre departamentos que simplemente no funciona y genera cuellos de botella constantes, un <strong>procedimiento burocrático</strong> que se definió con la mejor de las intenciones pero nunca se logró implantar en la realidad operativa, una <strong>falta de definición clara de roles y responsabilidades</strong> que provoca que tareas críticas se queden huérfanas o, incluso, una forma de <strong>organizar el conocimiento interno que no es ordenada</strong> y nos obliga a redescubrir la rueda en cada nuevo proyecto.</p>
<p>Posiblemente hayas visto mil veces estas cosas en todas las organizaciones. E incluso es muy probable que, si has intentado preguntar sobre ello, hayas obtenido <strong>respuestas automáticas</strong> del tipo: <em>&quot;siempre se ha hecho así&quot;, &quot;todos sabemos que no funciona pero no hace mal a nadie&quot;</em> o <em>&quot;es la forma habitual de hacer las cosas en nuestra cultura&quot;</em>. <strong>Estas respuestas son un reflejo claro de nuestros sesgos cognitivos</strong> aplicados a la inercia corporativa, donde la mente prefiere mantener el status quo conocido <strong>antes que enfrentarse al esfuerzo de la reestructuración</strong>.</p>
<p>Muchas veces, lo más tóxico de esta deuda organizacional no es la ineficiencia del proceso en sí, sino <strong>el ejemplo que genera el hecho de que la deuda no se gestione y esté ahí expuesta</strong>, delante de todo el mundo y viéndola todos los días.</p>
<p>Cuando empieza a extenderse, <strong>la deuda es como un veneno que va paralizando la acción, la toma de decisiones valientes y la proactividad de los equipos</strong>. El mensaje de fondo que se está trasladando de forma implícita a la plantilla es: <em>&quot;no importa si no hacemos las cosas bien&quot;</em>. Esto va generando un óxido que se deposita poco a poco en los engranajes de la compañía, erosionando la motivación y convirtiendo la innovación en un camino lleno de fricciones innecesarias.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Patrones de acción para una gestión sostenible</h2>
<p>En estas situaciones de estancamiento, la pregunta que debemos hacernos es: <strong>¿qué podemos hacer desde nuestro lado para ayudar a solucionar el problema de la deuda organizacional?</strong></p>
<p>No existen soluciones mágicas ni frameworks infalibles, ya que cada compañía tiene su propio contexto, madurez e idiosincrasia. Pero sí que <strong>podemos aplicar algunos patrones</strong>, inspirados en principios de <a href="https://www.paradigmadigital.com/transformacion-organizacional-rev/optimizacion-procesos-itinerario-entrenamiento/" target="_blank">optimización de procesos</a>, lean e ingeniería del software, que pueden ayudarnos a avanzar hacia una gestión verdaderamente sostenible de la deuda. Os propongo los siguientes <strong>cuatro pilares</strong>:</p>
<h3 class="block block-header h--h20-175-500 left  add-last-dot">1 <span class="enum-header"></span> Identificar la deuda organizativa</h3>
<p>El primer paso para resolver un problema es, invariablemente, <strong>sacarlo a la luz</strong>.</p>
<p>Identificar y &quot;declarar&quot; que existe la deuda es, en sí mismo, una <strong>declaración de intenciones vital para la cultura de la empresa</strong>. Primero, porque le ponemos un nombre concreto y definimos un perímetro acotado. Segundo, porque ya estamos reconociendo públicamente que hay un punto de mejora y que es algo que nos importa solucionar.</p>
<p>Solo esto, que fundamentalmente es un tema de actitud y seguridad psicológica, puede suponer un <strong>cambio radical en la tendencia del impacto negativo de la deuda organizacional</strong>.</p>
<p>Lo ideal es tener algún tipo de <strong>registro o backlog</strong> (idealmente público, transparente y colaborativo) de deuda organizacional, similar a cómo gestionamos nuestras historias de usuario y a través de este backlog asignar un responsable, hacer seguimiento y medir el impacto. Esto puede hacerse <strong>a nivel de gran departamento, de equipo técnico o incluso a nivel personal</strong> para la gestión del trabajo diario.</p>
<h3 class="block block-header h--h20-175-500 left  add-last-dot">2 <span class="enum-header"></span> Definir una prioridad, una medida preliminar de esfuerzo y un beneficio esperado</h3>
<p><strong>No toda la deuda tiene la misma repercusión ni urge pagarla con la misma inmediatez</strong>. Es importante ser capaces de dar una dimensión al volumen de la deuda que tenemos encima de la mesa para poder medir e identificar los temas que tienen un mayor impacto directo en el negocio (el ROI de solucionarlo) y en el bienestar de las personas. Sin esta cuantificación, corremos el riesgo de malgastar energía en refactorizaciones organizativas que no aportan valor real.</p>
<h3 class="block block-header h--h20-175-500 left  add-last-dot">3 <span class="enum-header"></span> Establecer un plan de acción con límites temporales realistas</h3>
<p>Una vez priorizada, toca <strong>definir unos pasos a seguir</strong>.</p>
<p>A la hora de <strong>establecer este plan de acción</strong>, hay que tratar de ser extremadamente pragmáticos y realistas, identificando bien los puntos de dolor. ¿Cuántas veces se intenta solucionar un problema reinventando el enfoque desde cero, sin haber hecho un análisis previo de cuál era realmente la falla y acabamos construyendo un nuevo proceso totalmente diferente que adolece de los mismos males que el anterior?</p>
<p>Lo razonable es <strong>aplicar una aproximación progresiva</strong>, de la misma manera que una herida se cura poco a poco. En ocasiones es posible que no consigamos solucionar totalmente el problema sistémico en el primer intento. Y no pasa nada. Lo importante es que <strong>el plan que definamos se pueda ejecutar, sea viable y con él demos pasos tangibles en la dirección correcta</strong>. Si no solucionamos totalmente la deuda pero logramos mitigarla o reducir su incidencia diaria, hemos avanzado y hemos aprendido valiosas lecciones. En la siguiente iteración podremos dar el siguiente paso con mucho más contexto.</p>
<h3 class="block block-header h--h20-175-500 left  add-last-dot">4 <span class="enum-header"></span> Reservar una capacidad orgánica para manejar la deuda</h3>
<p>Por último, y quizás lo más importante para la directiva: la gestión de la deuda organizacional no debe entenderse como una situación de crisis excepcional, una &quot;auditoría&quot; puntual o un proceso de transformación radical exhaustivo. <strong>Debe concebirse como una actividad de mejora continua integrada en nuestro ADN organizacional.</strong></p>
<p>Igual que los equipos de desarrollo e ingeniería destinan proactivamente un porcentaje de su capacidad a gestionar la deuda técnica para mantener las plataformas a flote, las organizaciones deben hacer exactamente lo mismo para la gestión de la deuda organizacional, <strong>de una forma ordenada, sistemática y patrocinada desde arriba</strong>.</p>
<p>Para que esto funcione, <strong>el liderazgo debe implicarse</strong>. Un/a CEO, igual que evalúa la rentabilidad de una línea de negocio o la adopción de nuevas innovaciones, debería preguntar con naturalidad en la reunión trimestral del Consejo: <em>¿qué deuda organizacional hemos gestionado y resuelto en este trimestre?</em></p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Conclusión</h2>
<p>Lidiar con la entropía es parte del crecimiento, pero <strong>ignorarla es un riesgo que ninguna organización innovadora puede permitirse a largo plazo</strong>.</p>
<p>¿Qué te han parecido estas recomendaciones? ¿Ves viable aplicarlas en tu compañía? Cuéntanos qué medidas habéis probado y cuáles han funcionado de verdad.</p>
<p>Si aún no estás gestionando esa deuda, el mejor momento para empezar es hoy. Identifícala, estima su coste y define ese primer paso para reducirla. Y recuerda: si el desafío supera la capacidad actual de tu equipo, buscar apoyo externo es una decisión valiente y estratégica.</p>
<p>¡Déjanos tus reflexiones en los comentarios!</p>

            ]]>
        </content:encoded>
    </item><item>
        <dc:creator>
            <![CDATA[ Emilia    y Matías     ]]>
        </dc:creator>
        <title>Podcast - La era de los agentes: Google I/O 2026 y el terremoto OpenAI-Microsoft</title>
        <link>https://www.paradigmadigital.com/dev/podcast-era-agentes-google-io-2026-terremoto-openai-microsoft/</link>
        <pubDate>Thu, 28 May 2026 06:00:00 GMT</pubDate>
        <guid isPermaLink="true">https://www.paradigmadigital.com/dev/podcast-era-agentes-google-io-2026-terremoto-openai-microsoft/</guid>
        <description>Analizamos el impacto técnico de Google I/O 2026 y OpenAI: del diseño de prompts a la arquitectura e integración de agentes autónomos.
</description>
        <content:encoded>
            <![CDATA[
                <p>Este mes de mayo pasará a la historia de la tecnología como el periodo en el que <strong>la Inteligencia Artificial dejó de ser un mero copiloto conversacional para transformarse en un ecosistema de agentes autónomos</strong>.</p>
<p>A través de anuncios masivos, giros estratégicos en el mercado Cloud y una competencia feroz por el talento, <strong>gigantes como Google, OpenAI, Microsoft, Anthropic y Meta han reconfigurado por completo el tablero de juego arquitectónico y de negocio</strong>.</p>
<iframe id="" class="block block-iframe -like-text-width" src="https://open.spotify.com/embed/episode/1oyF0605niL2k6XJKxdm4f?utm_source=generator&amp;theme=0" style="height:240px;  width:100%;"></iframe>
<h2 class="block block-header h--h30-15-400 left  ">Google I/O 2026 y la consolidación de la &quot;era de los agentes&quot;</h2>
<p>Google ha evidenciado que la IA no es una capa experimental, sino el núcleo operativo sobre el que orbitan todos sus productos. Con un volumen de procesamiento que ya supera los 3,2 cuatrillones de tokens al mes, la compañía de Mountain View ha centrado su estrategia en dotar de autonomía e interoperabilidad multimodal a sus sistemas.</p>
<p><strong>Sus principales lanzamientos han sido</strong>:</p>
<ul>
<li><strong>Gemini 3.5 Flash</strong>: el nuevo modelo ligero por defecto de la compañía. Destaca por una velocidad hasta 4 veces superior a sus competidores directos y está optimizado específicamente para tareas complejas, razonamiento financiero y ejecución de código, superando en múltiples benchmarks a arquitecturas sustancialmente más pesadas.</li>
<li><strong>Gemini Omni</strong>: presentado como un &quot;modelo del mundo&quot; nativo. Es capaz de procesar, cruzar y sintetizar simultáneamente texto, audio, imágenes y vídeo. Genera outputs hiperrealistas entendiendo variables físicas del entorno como la gravedad y el movimiento, integrándose ya de forma nativa en herramientas creativas y YouTube Shorts.</li>
<li><strong>Gemini Spark</strong>: un agente personal autónomo que opera en segundo plano 24/7. Diseñado para orquestar flujos de trabajo complejos y automatizados, enfocado inicialmente en los suscriptores de Google AI Ultra.</li>
<li><strong>Rediseño de Google Search (Modo IA)</strong>: la búsqueda evoluciona hacia una experiencia 100% conversacional sustentada en Gemini 3.5 Flash. Introduce los <em>&quot;agentes de información&quot;</em>, capaces de monitorizar temáticas de forma continua y generar dashboards e interfaces dinámicas personalizadas en tiempo real.</li>
<li><strong>Novedades en consumo</strong>: destacan funciones como <em>“Ask YouTube”</em> (búsqueda conversacional y precisa dentro de contenidos en vídeo) y <em>“Docs Live”</em> (estructuración y redacción de documentos completos mediante interacciones de voz naturales en Workspace).</li>
<li><strong>Antigravity SDK</strong>: para la comunidad de equipos de desarrollo y arquitectura, el lanzamiento clave es Antigravity. Se trata de la nueva plataforma unificada y SDK de desarrollo con el que Google centraliza todas sus herramientas de IA. Permite a los equipos de ingeniería un control absoluto sobre la orquestación, gobernanza y despliegue de agentes autónomos en infraestructuras corporativas.</li>
</ul>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">El fin de la exclusividad OpenAI-Microsoft: el nuevo paradigma multicloud</h2>
<p>Aunque los movimientos se intuían en las semanas previas, este mes se ha materializado un cambio tectónico en el mercado Cloud: <strong>OpenAI ha roto la exclusividad de infraestructura con Microsoft Azure</strong>.</p>
<p>Este hito estratégico redefine la distribución de poder tecnológico bajo dos pilares:</p>
<ul>
<li><strong>Apertura de nube</strong>: OpenAI ahora goza de total libertad para operar, desplegar y escalar sus modelos fundacionales utilizando proveedores alternativos de infraestructura cloud, abriendo las puertas a implementaciones nativas sobre Google Cloud Platform y Amazon Web Services.</li>
<li><strong>Nuevas reglas financieras</strong>: aunque Microsoft mantiene licencias no exclusivas sobre la propiedad intelectual de OpenAI hasta el año 2032, se elimina el modelo de participación directa de ingresos (<em>revenue share</em>) hacia la startup. Esto descarga de fricciones contractuales el mercado cloud y abre un ecosistema de infraestructura de IA sumamente competitivo y descentralizado.</li>
</ul>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">La batalla por los &quot;Defaults&quot;: los ecosistemas devoran a las interfaces aisladas</h2>
<p>Tres años después de que Microsoft sacudiera el mercado integrando OpenAI en Bing, los datos consolidados de mayo de 2026 muestran una tendencia clara: <strong>Google ha recuperado el terreno en el usuario masivo gracias a los &quot;Defaults&quot;</strong>.</p>
<p>La profunda integración vertical de Gemini dentro de Android, Google Chrome y Google Workspace demuestra que la capilaridad del sistema operativo y los hábitos arraigados del usuario pesan más que las interfaces independientes.<br>
<strong>Este hecho está obligando a Microsoft a rediseñar de urgencia la experiencia de usuario y disminuir la fricción de Copilot dentro de Windows</strong>.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Guerra de talento al más alto nivel: Anthropic ficha a Andrej Karpathy</h2>
<p>La competición por liderar los modelos fundacionales no es solo una cuestión de cómputo, sino de las mentes que los diseñan. <strong>El movimiento más sonado del mes ha sido el fichaje estrella de Andrej Karpathy por Anthropic</strong>.</p>
<p>Karpathy (cofundador de OpenAI y exdirector de IA en Tesla) es un referente absoluto en la arquitectura de redes neuronales modernas. <strong>Su incorporación busca potenciar las capacidades de razonamiento de la familia de modelos Claude</strong>, evidenciando que la fuga de cerebros y la captación de talento experto se encuentra en su punto álgido.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Meta contraataca con modelos multiagente y computación paralela</h2>
<p><strong>Meta continúa ejecutando una agresiva estrategia de inversión para no quedar descolgada de la carrera que lideran Google y OpenAI</strong>. Tras los movimientos iniciales de primavera, durante este mes de mayo <strong>han tomado protagonismo sus líneas de desarrollo en código abierto e infraestructura</strong>:</p>
<ul>
<li><strong>Muse Spark y razonamiento paralelo</strong>: enfoques arquitectónicos centrados en que los modelos no solo procesen secuencialmente, sino que ejecuten hilos de pensamiento y validación concurrentes antes de ofrecer un output.</li>
<li><strong>Sistemas multiagente de código abierto</strong>: Meta confía en la fuerza de la comunidad open-source para competir contra entornos cerrados como Claude o ChatGPT, orientando sus esfuerzos a la IA social y a los agentes autónomos hiperconectados.</li>
</ul>
<p>Mayo ratifica que la IA ya no se mide por lo bien que responde a un prompt, sino por la eficiencia con la que sus agentes coordinan flujos de trabajo autónomos de extremo a extremo.</p>
<p>Para las compañías, el desafío técnico se desplaza desde el diseño de prompts hacia la arquitectura de integración: <strong>el verdadero reto ahora es cómo conectar de forma segura, gobernada y eficiente estos nuevos agentes de IA con el backend corporativo, los silos de datos existentes y las plataformas multicloud</strong>.</p>
<p>La era de la experimentación ha terminado, ha comenzado la era de la automatización inteligente a escala.</p>

            ]]>
        </content:encoded>
    </item><item>
        <dc:creator>
            <![CDATA[ José Luis Palomino ]]>
        </dc:creator>
        <title>¿Sabrías identificar textos generados por IA sin usar detectores?</title>
        <link>https://www.paradigmadigital.com/dev/sabrias-identificar-textos-generados-ia-sin-usar-detectores/</link>
        <pubDate>Wed, 27 May 2026 06:00:00 GMT</pubDate>
        <guid isPermaLink="true">https://www.paradigmadigital.com/dev/sabrias-identificar-textos-generados-ia-sin-usar-detectores/</guid>
        <description>Cada vez hay más textos impecables en apariencia, pero todos suenan igual. Detectar un texto escrito por IA no siempre necesita herramientas, a veces basta con fijarse en la monotonía, las simetrías sintácticas y otros patrones que hemos analizado en este post
</description>
        <content:encoded>
            <![CDATA[
                <p>Llevas meses leyendo posts de LinkedIn impecables, pero <strong>todos parecen estar cortados por la misma tijera</strong>. Cero errores, estructuras simétricas y una monotonía que cansa. Antes de pagar licencias de herramientas que arrojan falsos positivos continuamente, <strong>te enseñamos a identificar los tics del lenguaje sintético</strong>. Bajar a la tierra los patrones gramaticales más utilizados por la IA protegerá y potenciará la identidad de tu marca frente a la competencia.</p>
<h2 class="block block-header h--h30-15-400 left  ">¿Por qué la inteligencia artificial escribe con una estructura tan marcada?</h2>
<p>Nos hemos acostumbrado a interactuar con cajas negras que devuelven resultados estadísticamente perfectos. Cuando le pides a un modelo generativo que redacte un artículo, su objetivo principal no es ser original o creativo. Su meta matemática consiste en <strong>predecir el siguiente token minimizando el margen de error</strong> para que el resultado suene lo más coherente posible.</p>
<p><strong>El problema para el negocio surge cuando esta optimización estadística destruye por completo la identidad de las empresas</strong>. Las marcas pierden su voz real al publicar párrafos extremadamente equilibrados que nunca se mojan ni toman partido.</p>
<p>Los <strong>detectores automatizados</strong> nacen con la promesa de <strong>solucionar esta problemática</strong>, pero la realidad es muy diferente. Aunque evalúan la procedencia del documento, arrojan tasas de <strong>falsos positivos</strong> que arruinan el flujo de trabajo de cualquier equipo de contenidos.</p>
<p>Si entiendes cómo funciona el motor probabilístico del algoritmo, podrás <strong>identificar sus carencias a simple vista</strong> sin depender de software de terceros. Eso sí, por el momento, será necesario mantener el HITL (Human in the Loop) para la monitorización de esta tarea.</p>
<h2 class="block block-header h--h30-15-400 left  ">¿Qué delata a un modelo del lenguaje que genera texto en castellano?</h2>
<p>El castellano tiene una riqueza estructural inmensa que choca de frente con las traducciones literales o los pesos estadísticos heredados del inglés. Los modelos más utilizados han sido entrenados mayoritariamente con corpus anglosajones, y eso deja una huella importante en su sintaxis. <strong>Reconocer estos patrones semánticos te convertirá en el mejor filtro de calidad para las publicaciones de tu equipo</strong>. A continuación te muestro algunos tips para detectar si un texto podría estar generado con IA:</p>
<ul>
<li><strong>Abuso del gerundio</strong></li>
</ul>
<p>Este es un claro ejemplo de esta transferencia lingüística. La gramática normativa exige que el gerundio exprese una acción simultánea o anterior al verbo principal de la oración. Los algoritmos ignoran esta regla sistemáticamente porque calcan la función del participio presente del inglés. Si lees una frase del estilo <em>&quot;El programa compiló los datos, mostrando los resultados en pantalla&quot;</em>, estás ante una “red flag” de manual. Aunque este uso es posible, podríamos hacer más natural esa transición y <strong>añadir una conjunción</strong> para separar las acciones.</p>
<ul>
<li><strong>Estructuras correlativas</strong></li>
</ul>
<p>Otra señal inconfundible de la generación sintética reside en la cohesión forzada mediante estructuras correlativas. Las máquinas adoran la expresión <em>&quot;no solo..., sino también...&quot;</em> para conectar conceptos dentro de un argumento. <strong>Esta simetría constante genera una falsa apariencia de rigor académico que termina resultando agotadora para quien lee</strong>. Podemos intercalar transiciones irregulares o simplemente saltar de una idea a otra sin justificar constantemente la conexión.</p>
<ul>
<li><strong>Adjetivos redundantes</strong></li>
</ul>
<p>La <strong>adjetivación</strong> revela igualmente el origen artificial del documento. Al carecer de experiencia física o juicio propio, los LLMs compensan la falta de profundidad añadiendo calificativos redundantes que funcionan como <strong>amplificadores cognitivos vacíos</strong>. Verás repetidos hasta la saciedad adverbios “grandilocuentes” como <em>esencial, trascendental, crucial o elemental</em>. También notarás que las máquinas intentan cubrir todos los frentes posibles cuando definen un concepto técnico. Construyen frases donde una simple funcionalidad de software pasa a ser <em>&quot;una solución innovadora y versátil&quot;</em> o, simplemente, <em>“lo mejor de ambos mundos”</em>.</p>
<ul>
<li><strong>Los guiones largos “—” y el punto y coma “;”</strong></li>
</ul>
<p>A nivel tipográfico también detectamos algunas señales. El <strong>guión largo (—)</strong> aparece incrustado para introducir aclaraciones donde una <strong>coma</strong> haría el trabajo perfectamente. <strong>Ningún/a redactor/a teclea tres guiones largos en un mismo párrafo a menos que esté sufriendo un colapso</strong> sobre el teclado. Igual de destacable es el <strong>uso repetido del punto y coma</strong> a lo largo del texto, cuando en la mayoría de los casos, puede ser sustituido por un punto y seguido.</p>
<p>Estos son solo <strong>algunos ejemplos</strong> que denotan un posible uso de IA para la generación de textos. Aunque no puede ser tomado como la verdad absoluta, debido a la riqueza del lenguaje, estos patrones conforman un registro lingüístico propio que <strong>sacrifica la naturalidad</strong> en favor de una fluidez matemática.</p>
<h2 class="block block-header h--h30-15-400 left  ">¿Podemos medir matemáticamente esta monotonía textual?</h2>
<p>La lingüística computacional utiliza dos conceptos para auditar la naturalidad de un escrito sin leerlo. Hablamos de <strong>la perplejidad y el concepto de “burstiness”</strong>. El primer concepto <strong>mide el factor sorpresa</strong> en la elección de palabras, mientras que el segundo evalúa la <strong>variación en la longitud de las oraciones</strong>.</p>
<p><strong>El ser humano escribe combinando frases largas con afirmaciones cortas y directas</strong>.</p>
<p>Si quieres auditar un corpus de tu empresa sin enviar los datos a un detector de terceros, puedes aplicar un <strong>análisis básico de varianza con Python</strong>. Identificar un ritmo plano en la longitud de las frases te indicará qué secciones necesitan una revisión urgente.</p>
<p>Las métricas nos confirmarán lo que el ojo humano ya intuye al leer el primer párrafo. Incorporar <strong>reglas de estilo en los prompts o realizar una pasada de limpieza manual</strong> resulta muy útil si queremos mantener el valor de nuestro mensaje y la personalidad de nuestra marca.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Conclusiones</h2>
<p>Identificar el origen de una publicación no requiere de conocimientos elevados sobre la temática. Entender la <strong>raíz probabilística de los algoritmos</strong> nos permite detectar de una pasada sus <strong>carencias narrativas y sus vicios sintácticos</strong>.</p>
<p>Modificar estos comportamientos mediante prompting avanzado o reescritura manual (posedición) marca la diferencia entre hacer ruido en internet o aportar conocimiento real.</p>
<p>Ahora sí, ya estás preparado/a para detectar esos posts de LinkedIn de tus contactos que han sido generados por IA. <strong>¿Tienes algún otro tip para detectar el contenido generado por IA sin usar detectores?</strong> Te leo en comentarios 👇.</p>
<h3 class="block block-header h--h20-175-500 left  add-last-dot">Referencias</h3>
<ul>
<li><a href="https://pasqualepillitteri.it/es/news/405/reconocer-texto-escrito-ia-detector-checker" target="_blank">Cómo reconocer un texto escrito por IA: 12 señales inconfundibles</a></li>
<li><a href="https://revistamedica.imss.gob.mx/index.php/revista_medica/article/download/6952/5733/54303" target="_blank">Análisis Lingüístico Forense de la Huella Estilística de los Modelos de Lenguaje</a></li>
<li><a href="https://www.javadex.es/blog/como-hacer-texto-indetectable-por-ia-guia-2026" target="_blank">Cómo Hacer que un Texto de IA Sea Indetectable (Javadex)</a></li>
</ul>

            ]]>
        </content:encoded>
    </item><item>
        <dc:creator>
            <![CDATA[ 4 autores ]]>
        </dc:creator>
        <title>Podcast - Google I/O 2026: radiografía técnica de todas las novedades</title>
        <link>https://www.paradigmadigital.com/dev/podcast-google-io-2026-radiografia-tecnica-novedades/</link>
        <pubDate>Tue, 26 May 2026 06:00:00 GMT</pubDate>
        <guid isPermaLink="true">https://www.paradigmadigital.com/dev/podcast-google-io-2026-radiografia-tecnica-novedades/</guid>
        <description>Google I/O 2026: análisis técnico de Gemini, infraestructura cloud y el impacto real para los/as profesionales del sector.
</description>
        <content:encoded>
            <![CDATA[
                <p>Apenas nos estábamos recuperando del Google Next y el Google I.O. 2026 ha venido tan cargado de novedades que casi eclipsa a su hermano mayor. Con el mantra de &quot;Gemini, Gemini, Gemini&quot; resonando en cada rincón, <strong>Google ha dejado claro que la carrera de la inteligencia artificial no da tregua</strong>.</p>
<p>En este episodio de “Cómo conocí a nuestro cloud”, <strong>nuestro equipo de Goodly se sienta a analizar las presentaciones más potentes, los lanzamientos inmediatos y los debates más picantes</strong> que nos ha dejado el evento tecnológico del año.</p>
<iframe id="" class="block block-iframe -like-text-width" src="https://open.spotify.com/embed/episode/061zAvTHE1zEtsL1QyDRNG?utm_source=generator" style="height:240px;  width:100%;"></iframe>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Modelos de lenguaje en producción: rendimiento con Gemini 3.5 Flash y Gemini Omni</h2>
<p><strong>El gran protagonismo de las sesiones se lo llevaron los nuevos modelos de lenguaje, destacando el desembarco de Gemini 3.5 Flash directamente en GA</strong> y disponible para Europa, demostrando que las versiones rápidas ya miran de tú a tú a las versiones Pro de generaciones anteriores.</p>
<p>Sin embargo, <strong>el verdadero efecto <em>wow</em> técnico llegó con Gemini Omni</strong>, una nueva familia multimodal capaz de comprender leyes físicas para generar entornos hiperrealistas.</p>
<p>Toda esta potencia se traduce también en un lavado de cara histórico para Google Search, que ahora integra Generative UIs (interfaces interactivas creadas en tiempo real) y agentes en segundo plano que funcionan como &quot;minions&quot; para monitorizar vuelos o noticias de forma proactiva.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Asistentes autónomos y eficiencia en flujos de trabajo conversacionales</h2>
<p>Si hay algo que genera expectación real para el usuario de a pie es el anuncio de <strong>Gemini Spark, el asistente personal autónomo que promete gestionar nuestras tareas pendientes</strong> cruzando de manera inteligente datos de nuestro correo, calendario y documentos.</p>
<p>Además, <strong>Goodly analiza herramientas como Ask YouTube</strong>, que permite realizar búsquedas conversacionales cruzando vídeos e indexando contenido para eliminar de un plumazo el molesto clickbait, y <strong>Docs Live</strong>, una función que nos acerca un paso más a un flujo de trabajo donde hablarle al ordenador para crear contenido será mucho más habitual que teclear.</p>
<h2 class="block block-header h--h30-15-400 left  ">Antigravity 2.0 e infraestructura: ¿la era de la abstracción total del código?</h2>
<p><strong>El bloque de hardware e infraestructura tampoco se quedó atrás</strong>, trayendo de vuelta el concepto de unas gafas de realidad aumentada verdaderamente estéticas y llevables; <strong>además del renacimiento de Antigravity 2.0</strong>, el entorno agéntico de desarrollo de Google que quiere convertirse en el motor invisible de la programación actual.</p>
<p>Esto desata un interesantísimo debate en el episodio: con las nuevas facilidades de despliegue en la nube y los paquetes de suscripción unificados, <strong>¿estamos ante la era de los/as desarrolladores/as Muggles?</strong> Perfiles completamente ajenos a la tecnología ya están perdiendo el miedo a la IA para crear y monetizar sus propias aplicaciones hechas a medida.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Desafíos críticos: privacidad, monopolio y el desfase normativo europeo</h2>
<p>Como en todo gran evento, no todo son luces. También hay sombras que analizar en nuestra tradicional “barra de bar”, desde los desafíos críticos de la privacidad y las leyes antimonopolio hasta el eterno e incómodo retraso de ciertas funciones en suelo europeo frente a EE. UU.</p>
<p>Si quieres enterarte de hacia dónde se dirige el ecosistema de Google y cómo te van a afectar estos cambios de manera inmediata, no te puedes perder este episodio. ¡Dale al play!</p>

            ]]>
        </content:encoded>
    </item><item>
        <dc:creator>
            <![CDATA[ Vanessa Davo Parreño ]]>
        </dc:creator>
        <title>Cursor tracking con GSAP: dándole vida al movimiento del ratón</title>
        <link>https://www.paradigmadigital.com/dev/cursor-tracking-gsap-dandole-vida-movimiento-raton/</link>
        <pubDate>Mon, 25 May 2026 06:00:00 GMT</pubDate>
        <guid isPermaLink="true">https://www.paradigmadigital.com/dev/cursor-tracking-gsap-dandole-vida-movimiento-raton/</guid>
        <description>El cursor tracking es una de esas interacciones simples que pueden hacer que una interfaz se sienta mucho más viva. En el post de hoy explicamos cómo implementarlo con GSAP, creando una estela fluida que sigue al ratón de forma natural.
</description>
        <content:encoded>
            <![CDATA[
                <p>Uno de los aspectos más importantes al diseñar un producto digital, junto con la accesibilidad, es la <strong>experiencia de usuario</strong>. Que es básicamente lo que define cómo una persona interactúa con lo que hemos construido.</p>
<p><strong>Y hay algo que suele marcar la diferencia: que la interfaz reaccione</strong>. Sentir que lo que haces tiene una respuesta inmediata hace que todo se perciba más vivo y cuidado. Es verdad que no siempre tiene sentido añadir este tipo de interacciones, pero cuando se usan bien en el contexto y momento adecuados, mejoran muchísimo el resultado final.</p>
<p>Uno de los efectos más simples y llamativos es el <strong>cursor tracking</strong>. Y aunque pueda parecer complejo a primera vista, es súper sencillo de hacer.</p>
<article class="block block-image  -inline-block -like-text-width -center lazy-true"><img data-src="https://www.paradigmadigital.com/assets/cms/eye_cursor_tracking_2255794f3a.gif" class="lazy-img" title="Cursor tracking" alt="ojos que se mueven cuando pasas el ratón, siguiéndolo con la mirada"></article>
<h2 class="block block-header h--h30-15-400 left  ">¿Qué es exactamente el cursor tracking?</h2>
<p>El cursor tracking consiste en <strong>detectar la posición del cursor y usarla para actualizar la posición de un elemento en pantalla</strong>.</p>
<p>A nivel técnico, se resume en tres pasos:</p>
<ol>
<li><strong>Escuchar</strong> el movimiento del mouse (mousemove)</li>
<li><strong>Obtener</strong> sus coordenadas (clientX, clientY)</li>
<li><strong>Actualizar el DOM</strong> utilizando esos valores para crear la interacción.</li>
</ol>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Implementación básica del cursor tracking</h2>
<p>Ahora vamos a ver cómo podemos implementar un efecto sencillo de cursor tracking. En este caso, vamos a construir una pequeña estela que sigue al cursor de forma fluida utilizando <a href="https://gsap.com/" target="_blank">GSAP</a>, ya que nos permite gestionar las animaciones de forma mucho más fácil y rápida que con CSS puro.</p>
<p>Aquí vemos el <a href="https://codepen.io/vanessadavo/pen/XJNbyaL" target="_blank">ejemplo completo en CodePen</a>:</p>
<iframe id="" class="block block-iframe -like-text-width" src="https://codepen.io/vanessadavo/embed/XJNbyaL?default-tab=html%2Cresult" style="height:300px;  width:100%;"></iframe>
<h3 class="block block-header h--h20-175-500 left  add-last-dot">El HTML: preparando los elementos de la estela</h3>
<p>Para este efecto, <strong>necesitamos varios elementos</strong> que formarán la estela. Cada uno de estos divs será una “partícula” que seguirá la posición del cursor con un ligero retraso respecto a la anterior.</p>
<pre><code class="language-html">&lt;div class=&quot;trail&quot;&gt;&lt;/div&gt;
&lt;div class=&quot;trail&quot;&gt;&lt;/div&gt;
&lt;div class=&quot;trail&quot;&gt;&lt;/div&gt;
&lt;div class=&quot;trail&quot;&gt;&lt;/div&gt;
&lt;div class=&quot;trail&quot;&gt;&lt;/div&gt;
&lt;div class=&quot;trail&quot;&gt;&lt;/div&gt;
</code></pre>
<h3 class="block block-header h--h20-175-500 left  add-last-dot">El CSS: posicionamiento y estilo</h3>
<p>A continuación, les damos un <strong>estilo básico para que funcionen como pequeños puntos</strong>. Lo más importante aquí es el <strong>position: fixed</strong> para que se muevan respecto a la ventana y el <strong>pointer-events: none</strong> para que los círculos no intercepten los clics destinados a otros botones o enlaces de la web.</p>
<pre><code class="language-css">body {
  height: 200vh;
  background: #111111;
  overflow: hidden;
}

.trail {
  width: 20px;
  height: 20px;
  background: #d9ed92;
  border-radius: 50%;
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
}
</code></pre>
<p>Con esto conseguimos que <strong>cada elemento sea un círculo fijo que podremos mover libremente</strong> por la pantalla.</p>
<h3 class="block block-header h--h20-175-500 left  add-last-dot">El JavaScript: animando con GSAP</h3>
<p>Aquí es donde entra <strong>GSAP</strong> para ayudarnos a hacer la animación de forma más fácil. El truco para que no se muevan todos a la vez como un bloque pegado al ratón está en el <strong>delay progresivo</strong>.</p>
<p>Primero, seleccionamos todos los <strong>divs</strong> que hemos creado:</p>
<pre><code class="language-javascript">const trails = document.querySelectorAll(&quot;.trail&quot;);
</code></pre>
<p>Luego vamos a <strong>centrar las partículas al cargar la página</strong>. Si no lo hacemos, el efecto empezaría de golpe desde la esquina superior izquierda de la pantalla (0,0) en cuanto movamos el ratón por primera vez. Con <strong>gsap.set</strong> las posicionamos directamente en el centro:</p>
<pre><code class="language-javascript">// Center the particles on load to avoid the default (0,0) position
const centerX = window.innerWidth / 2;
const centerY = window.innerHeight / 2;

trails.forEach((el) =&gt; {
  gsap.set(el, {
    x: centerX,
    y: centerY
  });
});
</code></pre>
<p>Es importante decir que <strong>esto no es imprescindible</strong>. Hay muchas formas de enfocarlo. Por ejemplo, podrías ocultar las partículas con <strong>opacidad cero</strong> y hacer que aparezcan solo cuando el usuario mueva el ratón. Pero en nuestro ejemplo, como no hay nada más en la pantalla, tiene más sentido que los elementos estén colocados y listos para reaccionar desde el centro.</p>
<p>Por último, añadimos un <strong>event listener</strong> que detectará el movimiento del ratón. En cada movimiento, lanzaremos una <strong>animación de GSAP para cada partícula</strong>:</p>
<pre><code class="language-javascript">// Cursor tracking with staggered delay to create a smooth trailing effect
window.addEventListener(&quot;mousemove&quot;, (e) =&gt; {
  trails.forEach((el, index) =&gt; {
    gsap.to(el, {
      x: e.clientX,
      y: e.clientY,
      duration: 0.2 + index * 0.05, // We use the index so each particle is slightly slower than the previous one
      ease: &quot;power2.out&quot;
    });
  });
});
</code></pre>
<p>Al usar el <strong>index del array para calcular la duración</strong>, conseguimos que la primera partícula sea casi instantánea y las siguientes vayan con un pequeño retraso. El resultado es esa <strong>sensación de movimiento orgánico</strong> que hace que el efecto sea mucho más visual.</p>
<p><strong>Importante</strong>: para que este ejemplo funcione correctamente, necesitamos <strong>incluir GSAP en nuestro proyecto</strong>. Podemos hacerlo añadiendo el siguiente script:</p>
<pre><code class="language-none">&lt;script src=&quot;https://cdn.jsdelivr.net/npm/gsap@3.15/dist/gsap.min.js&quot;&gt;&lt;/script&gt;
</code></pre>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Cursor tracking avanzado: creando unos ojos que te siguen</h2>
<p>Ya hemos visto cómo hacer que algo siga al cursor, pero el <strong>cursor tracking no siempre tiene por qué ser un desplazamiento total por la pantalla</strong>. Podemos usar esa misma lógica de coordenadas para crear interacciones más sutiles y divertidas, como unos ojos que sigan el movimiento del ratón.</p>
<p>En este caso, en lugar de mover los elementos, vamos a <strong>calcular el ángulo y la distancia</strong> para que las pupilas se muevan siempre dentro del ojo.</p>
<p>Puedes <a href="https://codepen.io/vanessadavo/pen/wBoaRjb" target="_blank">ver el resultado en Codepen</a>.</p>
<iframe id="" class="block block-iframe -like-text-width" src="https://codepen.io/vanessadavo/embed/wBoaRjb?default-tab=html%2Cresult" style="height:300px;  width:100%;"></iframe>
<h3 class="block block-header h--h20-175-500 left  add-last-dot">El HTML: estructura de los ojos</h3>
<p>Para que esto funcione, necesitamos <strong>un contenedor para cada ojo y un elemento interno para la pupila</strong>.</p>
<pre><code class="language-html">&lt;div class=&quot;eyes-container&quot;&gt;
  &lt;div class=&quot;eye&quot;&gt;
    &lt;div class=&quot;pupil&quot;&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;eye&quot;&gt;
    &lt;div class=&quot;pupil&quot;&gt;&lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
</code></pre>
<h3 class="block block-header h--h20-175-500 left  add-last-dot">El CSS: delimitando el movimiento</h3>
<p>El truco aquí es que el contenedor <strong>.eye</strong> tenga un <strong>overflow: hidden</strong>. Esto nos asegura que, aunque nos pasemos con los cálculos, la pupila nunca se saldrá de la parte blanca del ojo (o si llegase a sobrepasar su contenedor, con esto, no lo veremos).</p>
<pre><code class="language-css">body {
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100dvh;
  background-color: #f5f5f5;
  overflow: hidden;
}

.eyes-container {
  display: flex;
  gap: 20px;
}

.eye {
  width: 100px;
  height: 100px;
  background-color: white;
  border: 4px solid #1a1a1a;
  border-radius: 50%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.pupil {
  width: 40px;
  height: 40px;
  background-color: #1a1a1a;
  border-radius: 50%;
  position: absolute;
}
</code></pre>
<h3 class="block block-header h--h20-175-500 left  add-last-dot">El JavaScript: un poco de trigonometría y GSAP</h3>
<p>Aquí la cosa se pone interesante. Para que los ojos miren hacia donde está el ratón, necesitamos <strong>saber el ángulo entre el centro del ojo y el cursor</strong>.</p>
<p>Primero, <strong>seleccionamos las pupilas</strong> que es lo que vamos a mover:</p>
<pre><code class="language-javascript">const pupils = document.querySelectorAll(&quot;.pupil&quot;);
</code></pre>
<p>Y ahora calculamos el movimiento. <strong>Math.atan2 nos da el ángulo</strong> y <strong>Math.cos / Math.sin nos dice cuánto desplazar la pupila en los ejes X e Y</strong> para que mire en esa dirección:</p>
<pre><code class="language-javascript">window.addEventListener(&quot;mousemove&quot;, (e) =&gt; {
  pupils.forEach((pupil) =&gt; {


    // Get the parent eye element and its center position
    const eye = pupil.parentElement;
    const rect = eye.getBoundingClientRect();
    const eyeCenterX = rect.left + rect.width / 2;
    const eyeCenterY = rect.top + rect.height / 2;

    // Calculate the angle between the mouse and the eye center
    const angle = Math.atan2(
      e.clientY - eyeCenterY,
      e.clientX - eyeCenterX
    );

    // Define the maximum movement radius for the pupil
    const maxDistance = 25;

    // Measure mouse distance from the eye center and clamp it
    const mouseDistance = Math.hypot(
      e.clientX - eyeCenterX,
      e.clientY - eyeCenterY
    );

    const distance = Math.min(mouseDistance / 10, maxDistance);

    // Calculate pupil offset based on angle and clamped distance
    const moveX = Math.cos(angle) * distance;
    const moveY = Math.sin(angle) * distance;

    // Animate the pupil for a smooth
    gsap.to(pupil, {
      x: moveX,
      y: moveY,
      duration: 0.4,
      ease: &quot;power2.out&quot;,
      overwrite: &quot;auto&quot;
    });
  });
});
</code></pre>
<p><strong>Importante</strong>: al igual que en ejemplo anterior, para que este ejemplo funcione correctamente, necesitamos incluir GSAP en nuestro proyecto. Podemos hacerlo añadiendo el siguiente script:</p>
<pre><code class="language-none">&lt;script src=&quot;https://cdn.jsdelivr.net/npm/gsap@3.15/dist/gsap.min.js&quot;&gt;&lt;/script&gt;
</code></pre>
<p>Como has podido ver, una vez que entiendes <strong>cómo capturar las coordenadas del ratón</strong>, las posibilidades son casi infinitas (y digo “casi” porque siempre habrá alguna cosa un poco imposible). Pero, con esta base, podemos pasar de una simple estela a una animación más compleja con apenas unos cambios en la lógica del JavaScript.</p>
<p>Y lo mejor de usar <strong>GSAP</strong> para estos efectos es que nos quita de encima el trabajo pesado de gestionar los frames y los suavizados, permitiéndonos centrar la atención en lo que realmente importa: <strong>que la interacción se sienta natural y aporte valor a la experiencia de usuario</strong>.</p>
<p>Espero que este post te haya gustado y haya podido ayudarte (aunque sea un poquito) a entender mejor cómo funciona GSAP y puedas hacer tus propias animaciones. ¡A experimentar!</p>

            ]]>
        </content:encoded>
    </item><item>
        <dc:creator>
            <![CDATA[ Eva Lozano ]]>
        </dc:creator>
        <title>Informe - ¿El modelo de Delivery actual está agotado? Paradigma Context Delivery Framework, evoluciona hacia el desarrollo AI First</title>
        <link>https://www.paradigmadigital.com/techbiz/informe-paradigma-context-delivery-framework/</link>
        <pubDate>Wed, 20 May 2026 06:00:00 GMT</pubDate>
        <guid isPermaLink="true">https://www.paradigmadigital.com/techbiz/informe-paradigma-context-delivery-framework/</guid>
        <description>El modelo tradicional de desarrollo de software está mostrando sus límites: equipos saturados, entregas más lentas y demasiada dependencia de perfiles senior para tareas repetitivas. Paradigma Context Delivery Framework propone mover el eje hacia un desarrollo AI First: transformar conocimiento en inteligencia activa para generar código automático, probado y seguro, escalando capacidades sin disparar los costes.
</description>
        <content:encoded>
            <![CDATA[
                <p>¿Tú también estás viendo que el modelo tradicional de desarrollo de software ha tocado techo?</p>
<p>Hoy en día ya no nos estamos enfrentando a un problema de falta de talento, nos estamos enfrentado a <strong>equipos saturados, ciclos de entrega prolongados y dependencia de perfiles senior para tareas repetitivas</strong>, actuando como freno para la innovación.</p>
<p>Para superar esta barrera, tenemos que <strong>cambiar la forma de construir productos digitales</strong>. Así nace <a href="#formulario" target="_blank">Paradigma Context Delivery Framework</a>, un cambio de paradigma que mueve el eje de gravedad hacia el <strong>desarrollo AI First</strong>.</p>
<p>Este framework <strong>transforma el conocimiento en inteligencia activa</strong>, generando código automático, probado y seguro, permitiendo orquestar la tecnología de forma inteligente y escalar sin incrementar proporcionalmente los costes.</p>
<p><strong>¿Necesitas una hoja de ruta?</strong> Échale un vistazo al informe que hemos preparado y libera la inversión para lo que realmente importa: la innovación.</p>
<p><a name="formulario" class="anchor-block"></a></p>
<h2 class="block block-header h--h30-15-400 left  ">¡Descárgatelo ya! 👇</h2>
<article id="hubspot-form-35c2a359-7d79-4dd7-8794-e4d96e888faa" class="block block-hubspot -like-text-width vendor-form hubspot-form huge-submitted-message js__hubspot-form" hubspot-portal="2189055" hubspot-form="35c2a359-7d79-4dd7-8794-e4d96e888faa">
    <a class="bt js__trigger-form">Mostrar formulario.</a>
</article>

            ]]>
        </content:encoded>
    </item><item>
        <dc:creator>
            <![CDATA[ Nacho  Badenes y Juan Martínez Cortés ]]>
        </dc:creator>
        <title>Podcast - Perspectivas en el mercado energético: IA, redes y deuda técnica </title>
        <link>https://www.paradigmadigital.com/techbiz/podcast-perspectivas-mercado-energetico-ia-redes-y-deuda-tecnica/</link>
        <pubDate>Tue, 19 May 2026 06:00:00 GMT</pubDate>
        <guid isPermaLink="true">https://www.paradigmadigital.com/techbiz/podcast-perspectivas-mercado-energetico-ia-redes-y-deuda-tecnica/</guid>
        <description>Descubre cómo la ingeniería de datos y los gemelos digitales permiten escalar la IA operativa y reducir la deuda técnica en el sector energético.
</description>
        <content:encoded>
            <![CDATA[
                <p>El futuro del sector energético no es una promesa lejana: ya está aquí, y trae consigo un invitado inesperado: <strong>la deuda técnica</strong>. En este episodio conversamos con Juan Martínez y Nacho Badenes sobre <strong>cómo las empresas líderes ya no solo destacan por su uso de la nube o la IA, sino por su capacidad de orquestar sistemas complejos en entornos tradicionales</strong>.</p>
<iframe id="" class="block block-iframe -like-text-width" src="https://open.spotify.com/embed/episode/0xEhkVFbEGPBN9Z88SSVTD?utm_source=generator&amp;theme=0" style="height:240px;  width:100%;"></iframe>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">El auge de la IA: de algoritmos a agentes operativos</h2>
<p>Ya no hablamos de qué modelo elegir, sino de cómo escalarlo, gobernarlo y llevarlo a producción. <strong>El gran reto del sector energético es que su actividad principal ocurre en el mundo físico</strong>: en las infraestructuras de generación, transporte y distribución.</p>
<p><strong>Para que los agentes de IA funcionen, los datos deben estar preparados y cerca del negocio</strong>. Esto está obligando a las compañías a realizar una ingeniería real, limpiando modelos de datos y procesos que llevaban años abandonados, permitiendo que la IA generativa ayude a transformar el acceso a la información mediante lenguaje natural gracias a metadatos bien estructurados.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Soberanía y compartición de datos: el fin de los silos</h2>
<p>En 2026, la soberanía del dato ha dejado de ser un tema puramente regulatorio para convertirse en una prioridad estratégica y de resiliencia ante ciberataques en infraestructuras críticas.</p>
<p><strong>Ecosistemas de compartición</strong>: Europa impulsa espacios de datos donde las compañías comparten información para avanzar en la transición energética.</p>
<p><strong>El balance del CEO</strong>: existe una línea delgada entre proteger el core del negocio y compartir datos con competidores para lograr una eficiencia grupal que fortalezca a todo el sector.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Eficiencia energética y gemelos digitales</h2>
<p>La sostenibilidad ya no es un concepto intangible, ahora afecta directamente a la cuenta de resultados. En este escenario, <strong>el gemelo digital ha evolucionado para ser algo más que un entorno de pruebas</strong>, convirtiéndose en una herramienta operativa que permite tomar decisiones con menor latencia.</p>
<p>Integrar infraestructuras con décadas de antigüedad en modelos digitales es un reto ambicioso, pero vital para modernizar la red. Mientras que las nuevas instalaciones nacen digitalizadas desde el diseño, <strong>el verdadero éxito de 2026 reside en la capacidad de operar remotamente el legado histórico de nuestras redes eléctricas</strong>.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Transformación cultural: el binomio Oficina-Campo</h2>
<p><strong>La tecnología por sí sola no resolverá los retos del sector, se requiere un cambio de cultura profundo que abarque desde IT hasta el negocio</strong> y toda la cadena de proveedores.</p>
<p>No existe una herramienta de &quot;caja&quot; que solucione la complejidad actual si no se rediseña la toma de decisiones.</p>
<p>El éxito de cualquier iniciativa digital en 2026 depende de entender lo que ocurre en la calle, donde los técnicos de mantenimiento se enfrentan a riesgos reales.</p>
<p>Para transformar el sector, <strong>es fundamental que quienes diseñan las soluciones en las oficinas comprendan las casuísticas operativas del campo</strong>, asegurando que la tecnología aporte valor real en el punto donde se gestiona la infraestructura.</p>
<h2 class="block block-header h--h30-15-400 left  ">Si quieres saber más sobre energía...</h2>
<p>Te recomendamos echar un vistazo al post: <a href="https://www.paradigmadigital.com/techbiz/analizando-mercado-energetico-que-hacemos-deuda-tecnica/" target="_blank">Analizando el mercado energético: ¿qué hacemos con la deuda técnica?</a></p>

            ]]>
        </content:encoded>
    </item><item>
        <dc:creator>
            <![CDATA[ Santiago López ]]>
        </dc:creator>
        <title>Métricas en Green QA, la calidad que respira</title>
        <link>https://www.paradigmadigital.com/dev/metricas-green-qa-calidad-respira/</link>
        <pubDate>Mon, 18 May 2026 06:00:00 GMT</pubDate>
        <guid isPermaLink="true">https://www.paradigmadigital.com/dev/metricas-green-qa-calidad-respira/</guid>
        <description>La sostenibilidad en software también se prueba. Desde la energía que consume una suite de tests hasta la trazabilidad de métricas ESG o el apagado de entornos de staging, Green QA convierte la calidad en una palanca concreta de eficiencia. Cerramos esta serie contándote cuáles son las métricas y KPIs que debes tener en cuenta
</description>
        <content:encoded>
            <![CDATA[
                <p>Con este post terminamos la serie dedicada a Green Quality Assurance. En los anteriores se ha descrito <a href="https://www.paradigmadigital.com/dev/que-es-green-qa-calidad-que-respira/" target="_blank">qué significa Green QA y su impacto en las empresas</a> , así como un <a href="https://www.paradigmadigital.com/dev/framework-green-qa-calidad-que-respira/" target="_blank">posible framework para su implementación</a>.</p>
<p>Ahora que ya hemos conocido qué es esta metodología y cómo implementarla, solo nos queda por saber <strong>cómo podemos medirla</strong>. En este último post nos centramos en la base de todo el proceso, la medición, abordando los <strong>KPIs que se pueden usar</strong> para materializar las necesidades con datos y para abordar los progresos de una forma lo más precisa posible en base a informaciones objetivas.</p>
<p>No es una tarea sencilla disponer de todas las herramientas y frameworks necesarios para realizar estas mediciones, por lo que <strong>el proceso es progresivo y requiere de un compromiso</strong> por parte de todos los miembros de la empresa.</p>
<p>En Green QA, las métricas son el termómetro de nuestra eficiencia. No medimos por burocracia, sino para identificar <strong>&quot;fugas energéticas&quot; y &quot;desperdicio digital&quot;</strong>.</p>
<p>A lo hora de <strong>establecer los KPIs y OKRs</strong> necesarios para evaluar los distintos puntos que componen GQA, hemos realizado una agrupación de los mismos de la siguiente manera a través de las categorías de medición:</p>
<ul>
<li>Energía y software (eficiencia técnica)</li>
<li>Carbono y residuos (impacto en el planeta)</li>
<li>Calidad de datos ESG (confianza y cumplimiento)</li>
<li>Eficiencia operativa y &quot;Digital Waste&quot; (mejora del proceso)</li>
</ul>
<h3 class="block block-header h--h20-175-500 left  add-last-dot">KPIs de energía y software (eficiencia técnica)</h3>
<p>Aquí <strong>medimos el esfuerzo físico que el hardware realiza para ejecutar nuestro software</strong>. Los KPIs usados para esta parte son los siguientes:</p>
<table>
<thead>
<tr>
<th style="text-align:center">KPI</th>
<th style="text-align:center">Definición</th>
<th style="text-align:center">Herramienta sugerida</th>
<th style="text-align:center">Métrica técnica</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:center">Intensidad energética de QA</td>
<td style="text-align:center">Energía consumida por cada ejecución de la suite de pruebas.</td>
<td style="text-align:center">Scaphandre (vía Prometheus)</td>
<td style="text-align:center">kWh \Tests</td>
</tr>
<tr>
<td style="text-align:center">Calidad de código verde</td>
<td style="text-align:center">Detección de patrones de código ineficientes (loops, llamadas API).</td>
<td style="text-align:center">SonarQube (Eco-Code)</td>
<td style="text-align:center"># de Green Smells</td>
</tr>
<tr>
<td style="text-align:center">Tasa de Idle Energy</td>
<td style="text-align:center">Energía consumida por entornos de Staging mientras no se testea.</td>
<td style="text-align:center">AWS CCFT / Azure Dashboards</td>
<td style="text-align:center">kWh en inactividad</td>
</tr>
<tr>
<td style="text-align:center">Ciclos de CPU, memoria e inactividad</td>
<td style="text-align:center">Uso de recursos físicos durante el ciclo de vida de las pruebas.</td>
<td style="text-align:center">Prometheus / Netdata</td>
<td style="text-align:center">% CPU + % RAM) \Tiempo Idle</td>
</tr>
<tr>
<td style="text-align:center">Eficiencia de frontend</td>
<td style="text-align:center">Huella de carbono generada en el dispositivo del usuario final.</td>
<td style="text-align:center">GreenFrame.io / Lighthouse</td>
<td style="text-align:center">gCO2 por sesión</td>
</tr>
</tbody>
</table>
<h3 class="block block-header h--h20-175-500 left  add-last-dot">KPIs de carbono y residuos (impacto en el planeta)</h3>
<p>Transformamos los <strong>vatios en impacto ambiental real</strong>. Los KPIs usados para esta parte son los siguientes:</p>
<table>
<thead>
<tr>
<th style="text-align:center">KPI</th>
<th style="text-align:center">Definición</th>
<th style="text-align:center">Herramienta sugerida</th>
<th style="text-align:center">Métrica técnica</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:center">Huella de Carbono del Release</td>
<td style="text-align:center">Emisiones de CO2 generadas por el despliegue de una nueva versión.</td>
<td style="text-align:center">Cloud Carbon Footprint</td>
<td style="text-align:center">gCO2 por versión</td>
</tr>
<tr>
<td style="text-align:center">Eficiencia de Cómputo (LCA)</td>
<td style="text-align:center">Impacto ambiental del hardware (fabricación + uso) del QA.</td>
<td style="text-align:center">SimaPro / GaBi</td>
<td style="text-align:center">Deuda de Carbono Hardware</td>
</tr>
<tr>
<td style="text-align:center">Tasa de Reducción Anual</td>
<td style="text-align:center">Ahorro de emisiones comparado con el periodo anterior.</td>
<td style="text-align:center">Watershed / Persefoni</td>
<td style="text-align:center">% Reducción Anual</td>
</tr>
<tr>
<td style="text-align:center">Índice de Circularidad de Hardware</td>
<td style="text-align:center">% de dispositivos de prueba reutilizados, reparados o reciclados.</td>
<td style="text-align:center">ERP Interno / Snipe-IT</td>
<td style="text-align:center">Equipos Reacond\Total</td>
</tr>
<tr>
<td style="text-align:center">Tasa de Desviación de Cumplimiento</td>
<td style="text-align:center">Releases que superan el presupuesto de carbono establecido.</td>
<td style="text-align:center">Jenkins / GitHub Actions</td>
<td style="text-align:center"># Releases bloqueados</td>
</tr>
</tbody>
</table>
<h3 class="block block-header h--h20-175-500 left  add-last-dot">KPIs de calidad de datos ESG (confianza y cumplimiento)</h3>
<p>Si los datos sobre sostenibilidad son malos, la estrategia falla. Los KPIs usados para medir esta parte son los siguientes:</p>
<table>
<thead>
<tr>
<th style="text-align:center">KPI</th>
<th style="text-align:center">Definición</th>
<th style="text-align:center">Herramienta sugerida</th>
<th style="text-align:center">Métrica técnica</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:center">Índice de Salud de Datos ESG</td>
<td style="text-align:center">% de datos de sostenibilidad que son auditables y reales.</td>
<td style="text-align:center">Persefoni / Plan A</td>
<td style="text-align:center">Datos Validables \Total</td>
</tr>
<tr>
<td style="text-align:center">% datos ESG auditables</td>
<td style="text-align:center">Proporción de métricas de QA con evidencia técnica verificable.</td>
<td style="text-align:center">MS Sustainability Manager</td>
<td style="text-align:center">Métricas Audit.\Total</td>
</tr>
</tbody>
</table>
<h3 class="block block-header h--h20-175-500 left  add-last-dot">KPIs de eficiencia operativa y &quot;Digital Waste&quot; (mejora del proceso)</h3>
<p>No basta con que el test consuma poco; se trata de <strong>no ejecutar lo que no es necesario</strong>. El desperdicio digital es contaminación silenciosa. Los datos que usan para medir esta parte son los siguientes:</p>
<table>
<thead>
<tr>
<th style="text-align:center">KPI</th>
<th style="text-align:center">Definición</th>
<th style="text-align:center">Herramienta sugerida</th>
<th style="text-align:center">Métrica técnica</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:center"><br>Tasa de &quot;tests zombies&quot;</td>
<td style="text-align:center">% pruebas automatizadas que se ejecutan pero no aportan valor (tests duplicados, tests que siempre pasan sin validar lógica real o tests de funcionalidades deprecadas).</td>
<td style="text-align:center"><br>Manual</td>
<td style="text-align:center"><br>Test zombies / Total</td>
</tr>
<tr>
<td style="text-align:center">Densidad de datos de prueba</td>
<td style="text-align:center">Medir el peso de los datasets utilizados. ¿Necesitamos una base de datos de 1TB para un test de integración o podemos usar subsetting inteligente? Menos almacenamiento = menos energía en servidores.</td>
<td style="text-align:center"><br>Manual</td>
<td style="text-align:center"><br>Datos usados / Total</td>
</tr>
<tr>
<td style="text-align:center">Time-to-Feedback</td>
<td style="text-align:center">Cuanto más tarda un pipeline en fallar, más recursos (minutos de computación en la nube) se desperdician. Optimizar el orden de ejecución para que falle rápido (fail-fast) es una estrategia de ahorro energético.</td>
<td style="text-align:center"><br>Manual</td>
<td style="text-align:center"><br>Pipelines optimizados / Total</td>
</tr>
</tbody>
</table>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Estándares y cumplimiento</h2>
<p>No basta con &quot;ser verde&quot;, <strong>hay que demostrarlo</strong> ante los reguladores internacionales. El Green QA es el último filtro que garantiza que la empresa no incurra en riesgos legales por reportar datos erróneos.</p>
<p>En el anterior post comentamos <a href="https://www.paradigmadigital.com/dev/framework-green-qa-calidad-que-respira/" target="_blank">aspectos legales para los que es interesante aplicar el GreenQA dentro de una empresa</a>. En este punto vamos a ver <strong>cómo asegurar con datos el cumplimiento de la normativa</strong> y cómo podemos verificar si el proceso de calidad que hemos seguido <strong>ha contribuido al cumplimiento de la normativa</strong> apoyándose en los KPIs que han sido definidos en el punto anterior.</p>
<h3 class="block block-header h--h20-175-500 left  add-last-dot">CSRD (directiva de la UE) + ESRS</h3>
<p>La CSRD (directiva sobre informes de sostenibilidad corporativa) es la <strong>normativa europea</strong> (vigente desde 2024) que <strong>obliga a grandes empresas y cotizadas a reportar información detallada de sostenibilidad bajo criterios ambientales, sociales y de gobernanza (ESG)</strong>.</p>
<p>En España se aprobó el 29 de octubre de 2024 el Proyecto de Ley de Información empresarial sobre sostenibilidad que es una trasposición CSRD. Los <strong>ESRS</strong> (Estándares Europeos de Información sobre Sostenibilidad) son las <strong>normas técnicas obligatorias para cumplir con la CSRD</strong>.</p>
<p>A nivel de QA podemos <strong>auditar los datos de sostenibilidad</strong>. El Green QA aquí es el &quot;Auditor de Datos&quot;. Debe <strong>asegurar que los datos ESG</strong> (como el consumo de los servidores en Staging) no son una estimación a dedo, sino que tienen <strong>trazabilidad técnica</strong>. Si el software de reporte falla, la empresa se enfrenta a sanciones por <em>Greenwashing</em>. Podemos usar la siguiente checklist para comprobar el cumplimiento:</p>
<ul>
<li><strong>Trazabilidad de datos</strong>. ¿Es posible rastrear el dato de emisión desde el sensor/log original hasta el informe final sin alteraciones manuales?</li>
<li><strong>Validación de APIs ESG</strong>. ¿Se ha testeado que la integración con proveedores Cloud (AWS/Azure/GCP) extrae los datos de consumo sin pérdidas?</li>
<li><strong>Auditabilidad</strong>. ¿Posee la métrica de QA evidencia técnica verificable para una auditoría externa?</li>
<li><strong>Exactitud vs. estimación</strong>. ¿Se han sustituido las estimaciones genéricas por datos reales de consumo de hardware siempre que sea posible?</li>
</ul>
<h3 class="block block-header h--h20-175-500 left  add-last-dot">GHG Protocol (Alcance 3 - Software)</h3>
<p>El GHG Protocol (Alcance 3) es el <strong>estándar global más utilizado para medir y reportar las emisiones indirectas de gases de efecto invernadero</strong> (GEI) que ocurren en la cadena de valor de una empresa, excluyendo las de energía comprada (Alcance 2).</p>
<p>Desde el punto de vista de QA, se debe <strong>validar que las herramientas de terceros</strong> (SaaS de testing, CDNs, APIs de pago) <strong>proporcionan datos de emisiones reales</strong>. Se pueden crear Quality Gates que bloqueen un despliegue si el &quot;presupuesto de carbono&quot; de ese microservicio supera lo permitido por el protocolo. Podemos usar la siguiente checklist para comprobar el cumplimiento:</p>
<ul>
<li><strong>Cálculo de huella</strong>. ¿Se han aplicado los factores de conversión de CO2 actualizados a la energía consumida en el despliegue?</li>
<li><strong>Filtro de proveedores</strong>. ¿Se ha verificado que los partners (SaaS de testing, CDNs) tienen certificación ISO 14001 o Energy Star?</li>
<li><strong>Presupuesto de carbono</strong>. ¿El release actual se mantiene dentro del límite de emisiones establecido respecto al periodo anterior?</li>
<li><strong>Validación de fórmulas</strong>. ¿Se ha realizado un test unitario sobre las fórmulas de cálculo de emisiones para asegurar precisión matemática?</li>
</ul>
<h3 class="block block-header h--h20-175-500 left  add-last-dot">ISO/IEC 21031 (Software Carbon Intensity - SCI)</h3>
<p>Es el Unit Testing de la huella de carbono. <strong>Estándar internacional para calcular la intensidad de carbono del software (SCI)</strong>.</p>
<p>El rol de Green QA aquí es <strong>integrar la medición de la huella de carbono en la pirámide de pruebas</strong>. Igual que validamos el tiempo de respuesta, el QA valida el coste energético por transacción. Si un cambio en la base de datos aumenta los ciclos de CPU, el QA actúa como garante para evitar que ese &quot;desperdicio energético&quot; llegue a producción.</p>
<ul>
<li><strong>Análisis de intensidad</strong>. ¿Se ha medido el consumo de kWh por cada ejecución de la suite de pruebas?</li>
<li><strong>Optimización de CPU</strong>. ¿El código evita ciclos innecesarios o &quot;Green Smells&quot; (loops infinitos, llamadas API redundantes)?</li>
<li><strong>Pruebas headless</strong>. ¿Se han ejecutado los tests en modo headless para reducir el consumo energético del renderizado gráfico?</li>
<li><strong>Validación de Idle Energy</strong>. ¿Se ha verificado que los entornos de Staging se apagan o auto-escalan a cero tras la ejecución?</li>
</ul>
<h3 class="block block-header h--h20-175-500 left  add-last-dot">Directiva de empoderamiento de los consumidores (Anti-Greenwashing)</h3>
<p>La <strong>UE está prohibiendo afirmaciones ambientales genéricas sin pruebas</strong> (&quot;software 100% ecológico&quot;). Desde el punto de vista de QA, se debe certificar las evidencias. Si el marketing dice que la app consume un 30% menos de batería, el QA debe haber ejecutado pruebas de regresión energética (con herramientas como GreenFrame o Lighthouse) que <strong>respaldan esa afirmación con datos empíricos y repetibles</strong>.</p>
<h3 class="block block-header h--h20-175-500 left  add-last-dot">Accesibilidad web (WAD / WCAG) como sostenibilidad</h3>
<p>Existe una correlación directa: <strong>un sitio web accesible y ligero es un sitio web de bajo consumo</strong>. Desde el punto de vista de QA, se debe validar que el DOM sea eficiente. Menos elementos innecesarios y peticiones redundantes significan menos ciclos de CPU en el dispositivo del cliente. Aquí el QA une impacto social (inclusión) con impacto ambiental (eficiencia).</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Tabla de mediciones de huella de carbono</h2>
<p>En este punto se muestra una tabla con datos que pueden ser útiles y que se usan para <strong>automatizar los cálculos de la huella de carbono</strong>. Estos datos van variando según mejoran las tecnologías y se hacen más eficientes por lo que se han de tomar como una estimación.</p>
<table>
<thead>
<tr>
<th style="text-align:center">Actividad de QA / IT</th>
<th style="text-align:center">Consumo / emisión estimada</th>
<th style="text-align:center">Equivalencia en CO2e</th>
<th style="text-align:center">Impacto visual</th>
<th style="text-align:center">Origen de la información</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:center">Instancia EC2 (AWS m5.large) - 24h</td>
<td style="text-align:center">~0.105 kWh</td>
<td style="text-align:center">~2.52 kg CO2</td>
<td style="text-align:center">Cargar un smartphone 300 veces.</td>
<td style="text-align:center">AWS Customer Carbon Footprint Tool</td>
</tr>
<tr>
<td style="text-align:center">VM Azure (D2s v3) - 24h</td>
<td style="text-align:center">~0.088 kWh</td>
<td style="text-align:center">~2.10 kg CO2</td>
<td style="text-align:center">10 lavados de ropa (agua fría).</td>
<td style="text-align:center">Azure Emissions Impact Dashboard</td>
</tr>
<tr>
<td style="text-align:center">Cloud SQL / BigQuery (1h)</td>
<td style="text-align:center">~0.008 kWh</td>
<td style="text-align:center">~0.18 kg CO2</td>
<td style="text-align:center">Ver 4 horas de streaming HD.</td>
<td style="text-align:center">Google Cloud Carbon Footprint</td>
</tr>
<tr>
<td style="text-align:center">Almacenamiento S3 (1 TB/mes)</td>
<td style="text-align:center">~0.05 kWh</td>
<td style="text-align:center">~0.12 kg CO2</td>
<td style="text-align:center">Conducir 0.5 km en coche de gasolina.</td>
<td style="text-align:center">Cloud Carbon Footprint Methodology</td>
</tr>
<tr>
<td style="text-align:center">Uso de smartphone (1h testing)</td>
<td style="text-align:center">~0.00077 kWh</td>
<td style="text-align:center">~5.8g CO2</td>
<td style="text-align:center">Encender una bombilla LED 45 min.</td>
<td style="text-align:center">ADEME / Scope3 Lifecycle Data</td>
</tr>
<tr>
<td style="text-align:center">Uso de tablet (1h testing)</td>
<td style="text-align:center">~0.003 kWh</td>
<td style="text-align:center">~2.9g CO2</td>
<td style="text-align:center">Similar a 1h de radio portátil.</td>
<td style="text-align:center">ADEME &quot;Numérique 2.0&quot; (2025)</td>
</tr>
<tr>
<td style="text-align:center">Consulta a IA (LLM / Gemini)</td>
<td style="text-align:center">~0.003 kWh</td>
<td style="text-align:center">~0.15g - 0.75g CO2</td>
<td style="text-align:center">50-90 veces más que un buscador.</td>
<td style="text-align:center">Joule / ITU-WBA Report 2025</td>
</tr>
<tr>
<td style="text-align:center">Fabricación smartphone (embebida)</td>
<td style="text-align:center">N/A</td>
<td style="text-align:center">~50 kg CO2 / año</td>
<td style="text-align:center">Emisiones de fabricar 250 hamburguesas.</td>
<td style="text-align:center">Öko-Institut (Life Cycle Study)</td>
</tr>
<tr>
<td style="text-align:center">1 hora de servidor Cloud (standard)</td>
<td style="text-align:center">0.5 kWh</td>
<td style="text-align:center">~125g de CO2</td>
<td style="text-align:center">Cargar un smartphone 15 veces.</td>
<td style="text-align:center"></td>
</tr>
<tr>
<td style="text-align:center">Suite de 1.000 tests automatizados</td>
<td style="text-align:center">2.5 kWh</td>
<td style="text-align:center">~625g de CO2</td>
<td style="text-align:center">Conducir un coche de gasolina 2.5 km.</td>
<td style="text-align:center"></td>
</tr>
<tr>
<td style="text-align:center">Entorno de staging encendido (24h)</td>
<td style="text-align:center">12 kWh</td>
<td style="text-align:center">~3 kg de CO2</td>
<td style="text-align:center">El CO2 que absorben 0.15 árboles en un año.</td>
<td style="text-align:center"></td>
</tr>
<tr>
<td style="text-align:center">Almacenar 1 TB de logs/datos (1 mes)</td>
<td style="text-align:center">10 kWh</td>
<td style="text-align:center">~2.5 kg de CO2</td>
<td style="text-align:center">Mantener una bombilla LED encendida 4 meses.</td>
<td style="text-align:center"></td>
</tr>
</tbody>
</table>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Conclusiones</h2>
<p>A lo largo de esta serie de tres post sobre Green Quality Assurance hemos podido ir viendo las <strong>posibilidades que hay dentro del mundo de la tecnología</strong> y, en concreto, dentro del mundo del software, para poder emprender acciones y mejorar la eficiencia energética.</p>

            ]]>
        </content:encoded>
    </item><item>
        <dc:creator>
            <![CDATA[ María Mira ]]>
        </dc:creator>
        <title>Por qué la estrategia se rompe al bajar a la operativa: 3 barreras sistémicas que ningún excel detecta y cómo superarlas</title>
        <link>https://www.paradigmadigital.com/transformacion-organizacional-rev/por-que-estrategia-rompe-bajar-operativa-tres-barreras-sistemicas-como-superarlas/</link>
        <pubDate>Wed, 13 May 2026 06:00:00 GMT</pubDate>
        <guid isPermaLink="true">https://www.paradigmadigital.com/transformacion-organizacional-rev/por-que-estrategia-rompe-bajar-operativa-tres-barreras-sistemicas-como-superarlas/</guid>
        <description>La estrategia no suele romperse por falta de visión. Se rompe al bajar a la operativa, donde aparecen tres barreras invisibles: incertidumbre, incentivos desalineados y bloqueos en el flujo de trabajo que ningún Excel muestra. Hoy te contamos qué debes tener en cuenta para trabajar en un entorno productivo
</description>
        <content:encoded>
            <![CDATA[
                <p>Cuando los planes estratégicos fallan, no suele ser por falta de visión. De hecho, <strong>los datos hablan por sí solos</strong>: mientras un informe global de <a href="https://www.pmi.org/learning/thought-leadership/series/pmo/c-suite-failing-strategiy-lessons" target="_blank">The Economist Intelligence Unit y el Project Management Institute (PMI)</a> señala que el 61% de las empresas reconoce ser incapaz de cerrar la brecha entre la estrategia y la ejecución real del día a día, una publicación reciente de <a href="https://www.cio.com/article/4160977/beyond-the-25-reasons-projects-fail.html" target="_blank">CIO Magazine (April, 2026)</a> apoyada en datos de Gartner de 2024, revela que apenas el 48% de las iniciativas corporativas logran alcanzar sus objetivos de negocio.</p>
<p>Esto ocurre, principalmente, por lo que podríamos llamar una especie de <strong>&quot;ceguera sistémica&quot;</strong>. Cuando miras la empresa desde la mesa del Comité de Dirección, todo parece un organigrama perfecto, limpio y ordenado. La realidad operativa, en cambio, es una <strong>red compleja de interdependencias</strong> tanto humanas como técnicas. Intentar gestionar un cambio profundo basándose solo en el organigrama es, básicamente, gestionar una ilusión.</p>
<p>Si de verdad queremos conectar la estrategia con la ejecución del día a día y proteger los beneficios de una transformación exitosa, toca mirar <strong>tres dimensiones invisibles</strong> que pocos tienen en cuenta. No aparecen en los informes financieros pero son las fuerzas que impulsan o frenan el avance de la compañía:</p>
<ol>
<li><strong>Dimensión cognitiva</strong>: la capacidad mental y emocional disponible de tu equipo.</li>
<li><strong>Dimensión estructural</strong>: las reglas del juego reales (como incentivos e interacciones entre las personas y departamentos) más allá de los cargos.</li>
<li><strong>Dimensión del flujo</strong>: el camino real que recorre el valor, independiente de la jerarquía.</li>
</ol>
<p>Veamos cómo estas barreras invisibles pueden bloquear la ejecución con ejemplos reales.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">1 <span class="enum-header"></span> Barrera cognitiva: el coste oculto de la incertidumbre</h2>
<p>Esta dimensión se refiere al <strong>&quot;ancho de banda mental&quot;</strong> de la organización. Pensemos: si el cerebro de los y las profesionales gasta su energía en sobrevivir al miedo o la duda, biológicamente no tiene recursos ni para innovar ni para pensar a largo plazo.</p>
<p>Pongamos un ejemplo típico. Imaginemos una empresa que anuncia una fusión o una reestructuración con la promesa de &quot;ganar agilidad&quot;. Pasan los meses y nadie sabe cuál es exactamente su rol, si su responsable seguirá siendo su responsable o si su puesto peligra porque está duplicado.</p>
<p>La Dirección revisa los perfiles y piensa: <em>&quot;Tenemos al mejor talento del mercado, ¿por qué hay tanta resistencia y tan poca proactividad?&quot;</em>.</p>
<p>No es un problema de actitud, es pura biología. El <strong>cerebro humano procesa la incertidumbre social como si fuera una amenaza física</strong>. Diferentes estudios e investigaciones tratan este tema y llegan a las siguientes <strong>conclusiones</strong>:</p>
<ul>
<li>El alto rendimiento colapsa sin seguridad psicológica (como demostró el famoso <a href="https://www.google.com/search?q=https://rework.withgoogle.com/print/guides/5721312655835136/" target="_blank">Proyecto Aristóteles de Google</a>).</li>
<li>Vivir bajo el estrés de la incertidumbre llega a reducir el Coeficiente Intelectual funcional en unos 13 puntos (según las investigaciones de <a href="https://scholar.harvard.edu/sendhil/scarcity" target="_blank">Mullainathan y Shafir -Harvard/Princeton</a>).</li>
</ul>
<p>Añadamos, aunque no lo resolvamos aquí, el punto de <a href="https://www.paradigmadigital.com/techbiz/podcast-puede-ia-aumentar-inteligencia-humana-riesgos-limites-oportunidades/" target="_blank">cómo la IA puede ayudar o limitar la inteligencia humana</a> y la incertidumbre que ello está generando.</p>
<h2 class="block block-header h--h20-175-500 left  ">¿Cómo superarlo?</h2>
<p>Entendiendo la <strong>seguridad psicológica</strong> como una <strong>gestión de riesgos</strong> para proteger la inteligencia del equipo y no como un tema de &quot;buenismo&quot;. Y sí, se puede medir, dando un paso más allá de los clásicos KPI de resultados, empezando a utilizar <strong>Key Behaviour Indicators (KBI)</strong>: indicadores que miden conductas reales, como la frecuencia con la que el equipo reporta errores sin miedo (que conecta directamente con la seguridad psicológica) o la colaboración entre áreas… Así visualizamos qué nos hace tener éxito y que es necesario mejorar.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">2 <span class="enum-header"></span> Barrera estructural: la trampa de la optimización local</h2>
<p>Esta dimensión trata sobre <strong>cómo se diseñan las interacciones y los incentivos</strong> entre las cajas del organigrama, no sobre cómo se pintan esas cajas.</p>
<p>Imaginemos el clásico cierre de trimestre. La dirección comercial tiene un bonus por volumen de ventas. Por su parte, la dirección de tecnología/operaciones tiene su propio incentivo por estabilidad y reducción de costes. <strong>¿El resultado?</strong> Ventas cierra contratos metiendo &quot;customizaciones&quot; complejas que implican mucho trabajo para llegar a su cuota. Mientras, Operaciones frena los despliegues o reduce “customizaciones” para reducir coste y conseguir sus objetivos.</p>
<p>El resultado es que ambos departamentos cumplen estrictamente sus objetivos o KPI individuales pero los clientes no tienen lo que esperaban, la empresa pierde dinero, los equipos derrochan tiempo y esfuerzo y, en conjunto, se dedica un tiempo inestimable a buscar culpables.</p>
<p>Como explicaba <a href="%5Bhttps://thesystemsthinker.com/a-lifetime-of-systems-thinking/%5D(https://thesystemsthinker.com/a-lifetime-of-systems-thinking/)" target="_blank">Russell Ackoff</a>, es frecuente caer en esta trampa de la optimización local: <strong>cuando mejoras las piezas por separado, a menudo se acaba destruyendo el rendimiento del todo</strong>.</p>
<h2 class="block block-header h--h20-175-500 left  ">¿Cómo superarlo?</h2>
<p><strong>Rediseñando las interacciones</strong>: mientras los incentivos premien el silo vertical, las formas de trabajo colaborativas y las metodologías ágiles será difícil que funcionen. Aquí, el rol del C-Level tendrá que, entre otras funciones, <strong>rediseñar cómo interactúan las diferentes áreas</strong> y no tener en cuenta solo el performance de cada una de ellas de forma aislada.</p>
<p>Por tanto, se necesitan <strong>objetivos que impacten directamente en toda la empresa</strong>, haciendo que Ventas y Operaciones (en este caso) trabajen conjuntamente para conseguirlos. Objetivos compartidos con los que se gana (o se pierde) juntos.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">3 <span class="enum-header"></span> Barrera del flujo: lo que no ves te está costando dinero</h2>
<p>Esta dimensión se centra en la <strong>diferencia entre &quot;gente ocupada&quot; y &quot;trabajo terminado&quot;</strong>.</p>
<p>Pongamos un escenario en el que si miras alrededor ves a todo el mundo sin parar, saturados de tareas: todas las agendas están llenas y la gente al 100% de capacidad. Sin embargo, una iniciativa clave tarda 12 meses en llegar al mercado. ¿Te suena?. Y claro, surge la pregunta <em>“¿Cómo podemos tardar tanto con todo lo que se trabaja?&quot;</em>.</p>
<p>La realidad es que <strong>el valor</strong> no se mueve cuando la gente trabaja; <strong>se mueve cuando el trabajo fluye</strong>. En la mayoría de empresas, las tareas pasan una parte importante del tiempo en &quot;colas invisibles&quot; (esperando presupuesto, esperando validación, esperando un entorno de pruebas…).</p>
<h2 class="block block-header h--h20-175-500 left  ">¿Cómo superarlo?</h2>
<p>Utilizando Value Stream Management (VSM). Imaginémoslo como una capa de &quot;Rayos X&quot; que ignora la jerarquía y visualiza el flujo de trabajo y de información hasta convertirse en valor. Como indica <a href="https://flowframework.org/" target="_blank">Mik Kersten en Project to Product</a>, al gestionar el flujo en lugar de los proyectos aislados, eliminas las esperas que ningún organigrama es capaz de mostrar.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Conclusión: del control a la arquitectura</h2>
<p>Existe una inercia tradicional en el mundo empresarial: si algo falla, solemos culpar a las personas e intentamos &quot;arreglarlas&quot; metiéndolas más presión o formación. Pero <a href="https://deming.org/quotes/i-should-estimate-that-in-my-experience-most-troubles-and-most-possibilities-for-improvement-add-up-to-the-proportions-something-like-this94-belongs-to-the-system-responsibility-of-management6-sp-3/" target="_blank">W. Edwards Deming</a> ya demostró con su <strong>Regla 94/6</strong> que el 94% de los problemas pertenecen al sistema y solo el 6% al individuo.</p>
<p>Las organizaciones que lideran hoy el mercado, se dedican a <strong>&quot;arquitecturar el entorno&quot;</strong>. Tener en cuenta <a href="https://www.paradigmadigital.com/transformacion-organizacional-rev/importancia-datos-calidos-procesos-cambio-optimizacion/" target="_blank">los datos cálidos en procesos de cambio y optimización</a> puede contribuir a pasos más robustos en la evolución de la organización.</p>
<h2 class="block block-header h--h20-175-500 left  ">¿Y qué significa &quot;arquitecturar el entorno&quot;?</h2>
<p>Significa <strong>diseñar deliberadamente un ecosistema de trabajo</strong> donde “hacer lo correcto” sea lo más fácil. De esa forma:</p>
<ul>
<li>Se protege el intelecto colectivo (Neurociencia).</li>
<li>Se alinean incentivos y formas trabajo para que se colabore (Sistemas).</li>
<li>Se eliminan obstáculos para que el trabajo fluya (VSM).</li>
</ul>
<p>Como señalan <a href="https://teamtopologies.com/key-concepts" target="_blank">Skelton y Pais en Team Topologies</a>, la ventaja competitiva no es para quien presiona más a sus equipos, sino para <strong>quien diseña mejores sistemas</strong>.</p>
<p>La pregunta que queda en el aire es: <strong>¿estamos gestionando personas o estamos diseñando el sistema para el éxito?</strong></p>
<p><strong>Referencias</strong></p>
<ul>
<li><a href="https://www.pmi.org/learning/thought-leadership/series/pmo/c-suite-failing-strategiy-lessons" target="_blank">PMI-The Economist (2013)</a>. Why good strategies fail: Lessons for the C-suite.</li>
<li><a href="https://www.cio.com/article/4160977/beyond-the-25-reasons-projects-fail.html" target="_blank">CIO Magazine</a> (April,2026).</li>
<li><a href="https://www.google.com/search?q=https://rework.withgoogle.com/print/guides/5721312655835136/" target="_blank">Google re:Work - Project Aristotle</a>.</li>
<li><a href="https://scholar.harvard.edu/sendhil/scarcity" target="_blank">Mullainathan, S., &amp; Shafir, E. (2013)</a>. Scarcity: Why Having Too Little Means So Much.</li>
<li><a href="https://thesystemsthinker.com/a-lifetime-of-systems-thinking/" target="_blank">Ackoff, R. L. (1994)</a>. The Democratic Corporation. Oxford Univ. Press.</li>
<li><a href="https://flowframework.org/" target="_blank">Kersten, M. (2018)</a>. Project to Product. IT Revolution.</li>
<li><a href="https://www.paradigmadigital.com/transformacion-organizacional-rev/importancia-datos-calidos-procesos-cambio-optimizacion/" target="_blank">Deming, W. E. (1986)</a>. Out of the Crisis. MIT Press.</li>
<li><a href="https://teamtopologies.com/key-concepts" target="_blank">Skelton, M., &amp; Pais, M. (2019)</a>. Team Topologies.</li>
</ul>

            ]]>
        </content:encoded>
    </item><item>
        <dc:creator>
            <![CDATA[ 4 autores ]]>
        </dc:creator>
        <title>Podcast - Los MCPs y Skills llegan a Gemini. Diferencias clave y casos de uso</title>
        <link>https://www.paradigmadigital.com/dev/podcast-mcps-y-skills-llegan-gemini-diferencias-clave-y-casos-uso/</link>
        <pubDate>Tue, 12 May 2026 06:00:00 GMT</pubDate>
        <guid isPermaLink="true">https://www.paradigmadigital.com/dev/podcast-mcps-y-skills-llegan-gemini-diferencias-clave-y-casos-uso/</guid>
        <description>Optimiza tu arquitectura de IA con MCP y Skills en Gemini Enterprise. Estandariza integraciones M x N y define capacidades con Markdown.
</description>
        <content:encoded>
            <![CDATA[
                <p>En el último Google Next 2026 se confirmó lo que esperábamos: <strong>la llegada de los MCPs (Model Context Protocol) y las Skills a Gemini Enterprise</strong>.</p>
<p>Esta es una noticia de las que cambian el juego, porque nos abre la puerta a customizar la inteligencia artificial de nuestras empresas sin tener que pasar por el calvario (y el coste) de entrenar modelos desde cero.</p>
<p>En este episodio, el equipo de Goodly al completo se reúne para analizar estos dos aliados que prometen jubilar las integraciones hechas &quot;a pedal&quot;.</p>
<iframe id="" class="block block-iframe -like-text-width" src="https://open.spotify.com/embed/episode/2j8q8XiltNb7tU0L20CEAE?utm_source=generator" style="height:240px;  width:100%;"></iframe>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Poniendo orden al caos de las integraciones con MCP</h2>
<p>Para entender dónde estamos, primero hay que mirar atrás. Pasamos de modelos encerrados en sí mismos a las famosas Function Calling y los RAG, pero seguíamos teniendo un problema: el crecimiento exponencial de integraciones tipo &quot;M x N&quot;.</p>
<p>Si querías que tu IA hablara con diez sistemas, tenías que picar diez conectores distintos. <strong>El protocolo MCP, de Anthropic, llega para poner orden en este caos tecnológico</strong>, ofreciendo un marco estandarizado para que cualquier sistema pueda exponer sus herramientas a los agentes de IA de forma segura y reutilizable.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Skills en Gemini: definiendo capacidades con Markdown</h2>
<p>Pero no todo es conectar cables, también hace falta saber qué hacer con ellos. Aquí es donde entran las Skills. <strong>Si el MCP son los ingredientes y las herramientas de cocina, la Skill es la receta detallada</strong>.</p>
<p><strong>A través de un sencillo fichero Markdown, podemos darle a la IA capacidades específicas</strong> (como generar presentaciones corporativas siguiendo una plantilla o analizar informes financieros) <strong>sin sobrecargar el contexto del modelo</strong>.</p>
<p>Es, en esencia, un &quot;salvar partida&quot; de un flujo de trabajo que funciona, permitiendo que la IA sea mucho más determinista y eficiente.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Cómo encontrar el equilibrio perfecto entre MCPs y Skills</h2>
<p>La gran pregunta que resolvemos en este episodio es: <strong>¿cuándo usar cada uno?</strong> Aunque existe la tentación de &quot;sobre-skilear&quot; o convertirlo todo en MCP, la verdadera potencia reside en el equilibrio.</p>
<p>Hablamos de cómo empresas como Supabase ya están demostrando que combinar ambos mundos dobla la precisión y capacidad de los agentes. Además, hablamos de la portabilidad: cómo una misma Skill puede saltar de Cursor a Claude o Gemini casi sin despeinarse, dándonos una flexibilidad que hasta hace poco era ciencia ficción.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Orquestación inteligente: el futuro de la arquitectura en la nube</h2>
<p>Como todo en este mundo de la IA, <strong>el secreto no está solo en la herramienta, sino en cómo orquestas el talento de tu nube</strong>.</p>
<p>No te pierdas este repaso por la &quot;arqueología&quot; y el futuro inmediato del cloud en el nuevo episodio de “Cómo conocí a nuestro cloud”.</p>
<p>¡Dale al play y actualiza tu arquitectura!</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Más sobre el Google Next 2026</h2>
<iframe id="" class="block block-iframe -like-text-width" src="https://open.spotify.com/embed/episode/7ckUDv7EGBOfFlV2nEH6fP?utm_source=generator" style="height:240px;  width:100%;"></iframe>
<iframe id="" class="block block-iframe -like-text-width" src="https://open.spotify.com/embed/episode/5V4QOd0riWIypyx1LAkzpH?utm_source=generator" style="height:240px;  width:100%;"></iframe>

            ]]>
        </content:encoded>
    </item><item>
        <dc:creator>
            <![CDATA[ Alberto Martínez Pérez ]]>
        </dc:creator>
        <title>Clustering con Redis 8 vs Valkey 8, cómo mejorar el rendimiento</title>
        <link>https://www.paradigmadigital.com/dev/clustering-redis-8-vs-valkey-8-como-mejorar-rendimiento/</link>
        <pubDate>Mon, 11 May 2026 06:00:00 GMT</pubDate>
        <guid isPermaLink="true">https://www.paradigmadigital.com/dev/clustering-redis-8-vs-valkey-8-como-mejorar-rendimiento/</guid>
        <description>En esta comparativa, Redis 8 y Valkey 8 mejoran claramente frente a Redis 7, pero Redis 8 destaca por algo importante: no solo rinde más, también se comporta de forma más estable y consistente cuando cambias la configuración y lo llevas a escenarios reales
</description>
        <content:encoded>
            <![CDATA[
                 <h2 class="block block-header h--h30-15-400 left  add-last-dot">Single-Threading puede ser rápido</h2>
<p>A pesar de usar una implementación mono hilo, <strong>Redis</strong>, el sistema de almacenamiento clave-valor en memoria de alto rendimiento, es <strong>conocido por su increíble velocidad</strong>.</p>
<p><strong>¿Cómo es posible que Redis pueda gestionar cientos de miles de solicitudes por segundo?</strong> Antes que nada, hay que aclarar que Redis sí usa múltiples hilos, no es estrictamente un sistema monohilo.</p>
<p>Aunque es cierto que mantiene un hilo responsable del procesado de las peticiones de cliente y para el manejo de las estructuras de datos, <strong>Redis usa otros hilos de fondo para ejecutar otras tareas</strong> necesarias para su funcionamiento.</p>
<p>Entonces, ¿por qué es tan rápido?</p>
<ul>
<li>Redis mantiene todos los <strong>datos en memoria</strong>, favoreciendo la velocidad de acceso a los mismos.</li>
<li>El uso de un sencillo <strong>modelo de datos clave-valor</strong> permite tener una <a href="https://redis.io/blog/redis-8-0-m03-is-out-even-more-performance-new-features/" target="_blank">complejidad O</a> para las búsquedas de claves.</li>
<li>El uso de <strong>multiplexación de E/S</strong> con <strong>E/S no bloqueante</strong> permite gestionar múltiples operaciones de E/S de forma eficiente.</li>
<li>Uso de <strong>comandos simples</strong> que requieren poco uso de CPU.</li>
<li>Uso de <strong>tipos de datos optimizados</strong> para operaciones en memoria.</li>
</ul>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Optimizaciones multihilo</h2>
<ul>
<li><strong>Asynchronous Memory Release</strong>: a partir de Redis 4.0, se introdujo el mecanismo de liberación diferida (lazy-free mecanismo) para <strong>liberar memoria de forma asíncrona</strong>. La liberación de memoria al eliminar claves de gran tamaño se realiza en un hilo en segundo plano.</li>
<li><strong>Multi-threading</strong>: podemos leer en el blog de Redis que <em>“a partir de la versión 6.0, Redis hace uso de hilos de E/S para gestionar las peticiones de clientes, incluyendo sockets de lectura y escritura, y el parseo de comandos. Sin embargo, la implementación no llega a aprovechar al máximo las ventajas en cuanto a rendimiento.”</em></li>
</ul>
<p>El uso de <strong>ejecución multihilo</strong> permite <strong>reducir la presión</strong> que se tiene en la ejecución monohilo de las peticiones entrantes en escenarios de alta concurrencia. Este proceso multihilo se aplica únicamente al <strong>análisis del protocolo de peticiones de datos</strong>, manteniendo la ejecución monohilo en el procesado de comandos y la manipulación de datos.</p>
<p>Con la publicación de Redis 8.0 llegó una <strong>nueva implementación E/S multihilo</strong> que anunciaba grandes mejoras en la transferencia de datos (entre el 37% y el 112%, según los <a href="https://redis.io/blog/memtier_benchmark-a-high-throughput-benchmarking-tool-for-redis-memcached/" target="_blank">datos publicados por Redis</a>) en CPUs multinúcleo.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Probando la nueva implementación multihilo</h2>
<p>Como ya hemos comentado, Redis procesa las peticiones en un único hilo, dividiendo la ejecución en los siguientes <strong>4 pasos</strong>:</p>
<ol>
<li><strong>Lectura</strong> de la petición desde el socket</li>
<li><strong>Análisis</strong> de la petición</li>
<li><strong>Procesado</strong> de la petición, ejecutando las operaciones necesarias sobre los datos</li>
<li><strong>Escritura</strong> de la respuesta en el socket</li>
</ol>
<p>No se comenzará a procesar una nueva petición hasta que estos 4 pasos se hayan completado en orden para la petición actual.</p>
<p>La escritura de los resultados en el socket que se realiza en el paso 4 es típicamente una <strong>operación lenta</strong> en cuanto al tiempo necesario para completarla. Es en este punto donde podemos beneficiarnos de la nueva implementación multihilo de la E/S, configurando nuestro Redis para que ejecute las operaciones E/S en un nuevo hilo. De esta forma, <strong>Redis está en disposición de comenzar a procesar una nueva petición en paralelo</strong>, mejorando así el rendimiento.</p>
<p>La propiedad <strong>io-threads</strong> de Redis (esta propiedad es <strong>inmutable</strong>) será la que utilicemos para configurar la escritura multihilo en el socket. Recordemos que esta propiedad se inicializa a 1 por defecto, y que se usa para indicar el <strong>número de hilos máximo</strong> que se podrán crear para las escrituras en el socket.</p>
<p>También tenemos disponible la propiedad de configuración <strong>io-threads-do-reads</strong> en Redis que nos daría la posibilidad de usar ejecuciones multihilo en la lectura y análisis de peticiones desde el socket (pasos 1 y 2 descritos anteriormente). Esta opción, sin embargo, y de acuerdo a la información que dan desde Redis, <strong>no tiene un impacto significativo</strong> sobre el rendimiento.</p>
<p>Por tanto, vamos a centrarnos únicamente en el impacto que tiene la configuración de <strong>io-threads</strong>.</p>
<h2 class="block block-header h--h30-15-400 left  ">Tests sintéticos: ¿cómo se han ejecutado?</h2>
<h2 class="block block-header h--h20-175-500 left  add-last-dot">Herramienta de benchmarking</h2>
<p>Para las pruebas se ha usado <strong>memtier_benchmark</strong>, una herramienta de benchmarking Open Source desarrollada por Redis Labs que integran en sus procesos de desarrollo, principalmente para hacer <strong>tests de no regresión y optimización de rendimiento</strong>.</p>
<p>memtier_benchmark fue presentada en el <a href="https://redis.io/blog/memtier_benchmark-a-high-throughput-benchmarking-tool-for-redis-memcached/" target="_blank">blog oficial de Redis</a> y el <a href="https://github.com/RedisLabs/memtier_benchmark" target="_blank">proyecto está disponible en GitHub</a>.</p>
<h2 class="block block-header h--h20-175-500 left  add-last-dot">Nuestro Redis de pruebas</h2>
<p>Vamos a usar un cluster Redis, desplegado en un <strong>Openshift Container Platform</strong> (OCP), con la siguiente configuración:</p>
<ul>
<li><strong>Nodos del cluster</strong>: 5</li>
<li><strong>CPUs por nodo</strong>: 4</li>
<li><strong>Memoria por nodo</strong>: 4Gi</li>
</ul>
<p>Usaremos <strong>4 imágenes diferentes para montar los nodos</strong>, así podremos hacer una comparativa de rendimiento entre las distintas versiones:</p>
<ul>
<li><strong>redis.redis-stack-server:7.2.0-v10</strong> (imagen basada en la imagen oficial <strong>redis-stack-server</strong> en la que se habilitan algunos módulos)</li>
<li><strong>redis:7-bookworm</strong> (imagen oficial)</li>
<li><strong>valkey/valkey:8-bookworm</strong> (imagen oficial)</li>
<li><strong>redis:8-bookworm</strong> (imagen oficial)</li>
</ul>
<h2 class="block block-header h--h20-175-500 left  add-last-dot">Objetivos de los tests</h2>
<p>Con la ejecución de estos tests perseguimos:</p>
<ul>
<li><strong>Determinar el valor óptimo</strong> del parámetro de configuración <strong>io-threads</strong>.</li>
<li><strong>Decidir</strong> con qué <strong>sabor de Redis</strong> nos quedamos: el viejo y bien conocido Redis o el fresco y joven Valkey</li>
</ul>
<p>Como hemos visto, podemos <strong>establecer cualquier valor por encima del valor por defecto</strong> de un hilo en el parámetro <strong>io-threads</strong>. Nos interesa ver el impacto en el rendimiento que tienen los cambios en esta configuración.</p>
<p>Por otro lado, sabemos que tras el anuncio que hizo Redis en el que se explicaba que <strong>dejaría de ser open source</strong> surgieron unos cuantos forks del proyecto. Tras revisar aquellos que habían tenido más actividad y que más habían crecido en número de contribuidores, <strong>decidimos limitar las pruebas a Valkey</strong>.</p>
<p>También nos interesa <strong>comparar el rendimiento de Valkey frente a las últimas versiones de Redis</strong>. Este último ha recibido muy buenos comentarios en cuanto a la mejora en términos de rendimiento desde la publicación de su versión 8.</p>
<h2 class="block block-header h--h20-175-500 left  add-last-dot">Resultados de los tests</h2>
<p>Cada test se comienza con un <strong>cluster Redis recién creado</strong> en un namespace concreto en nuestro OCP. Igualmente, se crea un <strong>pod nuevo</strong> desde el que se ejecutará la herramienta de benchmarking al comienzo de cada prueba.</p>
<p>Los valores utilizados para <strong>io-threads</strong> fueron: <strong>1, 8, 12 y 16</strong>.</p>
<p>En la siguiente tabla se recogen los <strong>valores obtenidos en los distintos tests</strong>, mostrando la media de operaciones por segundo, para cada imagen y cada una de las configuraciones de io-threads.</p>
<table>
<thead>
<tr>
<th>io-threads</th>
<th style="text-align:center">1</th>
<th style="text-align:center">8</th>
<th style="text-align:center">12</th>
<th style="text-align:center">16</th>
</tr>
</thead>
<tbody>
<tr>
<td>redis-stack-server:7.2.0</td>
<td style="text-align:center">441.316</td>
<td style="text-align:center">446.944</td>
<td style="text-align:center">290.793</td>
<td style="text-align:center">190.601</td>
</tr>
<tr>
<td>redis:7-bookworm</td>
<td style="text-align:center">432.611</td>
<td style="text-align:center">451.702</td>
<td style="text-align:center">289.670</td>
<td style="text-align:center">188.995</td>
</tr>
<tr>
<td>valkey:8-bookworm</td>
<td style="text-align:center">431.714</td>
<td style="text-align:center">860.290</td>
<td style="text-align:center">766.879</td>
<td style="text-align:center">584.707</td>
</tr>
<tr>
<td>redis:8-bookworm</td>
<td style="text-align:center">453.247</td>
<td style="text-align:center">1.027.698</td>
<td style="text-align:center">1.030.549</td>
<td style="text-align:center">1.025.972</td>
</tr>
</tbody>
</table>
<p>Estos mismos datos en <strong>forma de gráfica</strong>:</p>
<figure class="block block-caption  -inline-block -like-text-width -center"><img src="https://www.paradigmadigital.com/assets/img/defaults/lazy-load.svg"
          data-src="https://www.paradigmadigital.com/assets/img/resize/small/grafico_barras_resultados_test_io_threads_f0c640d77f.png"
          data-srcset="https://www.paradigmadigital.com/assets/img/resize/huge/grafico_barras_resultados_test_io_threads_f0c640d77f.png 1920w,https://www.paradigmadigital.com/assets/img/resize/big/grafico_barras_resultados_test_io_threads_f0c640d77f.png 1280w,https://www.paradigmadigital.com/assets/img/resize/medium/grafico_barras_resultados_test_io_threads_f0c640d77f.png 910w,https://www.paradigmadigital.com/assets/img/resize/small/grafico_barras_resultados_test_io_threads_f0c640d77f.png 455w"
          class="lazy-img"  
                  sizes="(max-width: 767px) 80vw, 75vw"
                  alt="Valores io-threads en gráfico de barras" title="undefined"/><figcaption>Valores io-threads en gráfico de barras</figcaption></figure>
<p>Parece que el <strong>punto óptimo</strong> se sitúa en una configuración de <strong>io-threads</strong> correspondiendo a 2 veces el número de CPUs configuradas por nodo de Redis.</p>
<p><strong>A partir de este valor vemos cómo el rendimiento se ve degradado en Valkey 8</strong>, mientras que <strong>Redis 8 mantiene un rendimiento estable</strong> si vamos más allá de este punto óptimo. Por tanto, los resultados de <strong>Redis 8 son más consistentes</strong>.</p>
<p>Como esperábamos, <strong>no se ha observado ninguna mejora de rendimiento en Redis 7</strong> con el incremento de io-threads. Al contrario, nos ha sorprendido observar una degradación.</p>
<p><strong>Redis 8 ha rendido mejor que Valkey 8 en todos los escenarios</strong>. Por tanto, nos quedamos con la regla de <strong>2xCPU como configuración por defecto para io-threads</strong> y, en principio, la balanza se decanta, al menos por ahora, por el uso de <strong>Redis 8 como la imagen</strong> a usar para nuestros clusters de Redis.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Aplicando el conocimiento adquirido: optimización de recursos en un escenario real</h2>
<p><strong>El escenario</strong>: una aplicación desplegada en Kubernetes, haciendo uso intensivo de un cluster de Redis, requiriendo de tasas realmente altas de peticiones por segundo.</p>
<p>El <strong>cluster de Redis</strong>, en periodos de pico de uso de la aplicación se ha de escalar a 100 nodos para poder soportar el rendimiento requerido. Actualmente, este cluster está formado por nodos instanciados a partir de la imagen Redis Stack 7.2, con 1 CPU por nodo.</p>
<p>Nuestro <strong>objetivo</strong> es intentar <strong>reducir el número de nodos del cluster a la mitad</strong>, pasando de 100 a 50 nodos, usando la <strong>imagen Redis 8</strong>. Para ello, duplicaremos el número de CPUs por nodo, pasando de 1 a 2 CPUs, y estableciendo la configuración de io-threads en 4, como habíamos determinado, con el fin de beneficiarnos de las mejoras que ofrece la nueva implementación del I/O threading.</p>
<p>Para <strong>validar que la plataforma con esta nueva configuración es capaz de soportar el uso en periodos de pico</strong>, se usa un conjunto de <strong>tests complejos</strong> elaborados precisamente para someterla a cargas similares a las previstas en esos periodos y así poder validar que estamos en disposición de aguantar los periodos de demanda extrema.</p>
<p>Estos <strong>tests End-to-End</strong> (E2E) se han desarrollado a medida basándose en Spring Framework, haciendo uso del cliente de [Redis Lettuce(https://github.com/redis/lettuce).</p>
<p>Aprovechando la ventana de disponibilidad de la plataforma, se ejecutó la <strong>suite completa de tests</strong> con las siguientes configuraciones, para poder comparar los resultados:</p>
<ul>
<li><strong>Redis Stack 7.2</strong> - 100 nodos (1 CPU)</li>
<li><strong>Redis 8</strong> -  50 nodos (2 CPU)</li>
<li><strong>Valley 8</strong> - 50 nodos (2 CPU)</li>
</ul>
<p>Aprovechamos que el Operador de Redis desarrollado para gestionar todos los clusters de Redis (<a href="https://github.com/InditexTech/redkeyoperator" target="_blank">actualmente liberado como Open Source</a>) despliega, junto a los pods del propio cluster, un pod encargado de extraer una gran cantidad de métricas y las expone para poder ser recuperadas por Prometheus, junto a las métricas propias de Kubernetes, y mostradas en un panel en Grafana.</p>
<p>Pasemos a <strong>revisar los resultados</strong> obtenidos.</p>
<h2 class="block block-header h--h20-175-500 left  add-last-dot"><strong>Comandos procesados</strong></h2>
<figure class="block block-caption  -inline-block -like-text-width -center"><img src="https://www.paradigmadigital.com/assets/img/defaults/lazy-load.svg"
          data-src="https://www.paradigmadigital.com/assets/img/resize/small/comandos_procesados_redis_stack_100_nodes_2b64192b91.png"
          data-srcset="https://www.paradigmadigital.com/assets/img/resize/huge/comandos_procesados_redis_stack_100_nodes_2b64192b91.png 1920w,https://www.paradigmadigital.com/assets/img/resize/big/comandos_procesados_redis_stack_100_nodes_2b64192b91.png 1280w,https://www.paradigmadigital.com/assets/img/resize/medium/comandos_procesados_redis_stack_100_nodes_2b64192b91.png 910w,https://www.paradigmadigital.com/assets/img/resize/small/comandos_procesados_redis_stack_100_nodes_2b64192b91.png 455w"
          class="lazy-img"  
                  sizes="(max-width: 767px) 80vw, 75vw"
                  alt="Comandos procesados en Redis Stack 7.2 - 100 nodes" title="undefined"/><figcaption>Comandos procesados en Redis Stack 7.2 - 100 nodes</figcaption></figure>
<figure class="block block-caption  -inline-block -like-text-width -center"><img src="https://www.paradigmadigital.com/assets/img/defaults/lazy-load.svg"
          data-src="https://www.paradigmadigital.com/assets/img/resize/small/comandos_procesados_redis_8_50_nodes_9b61edc3a2.png"
          data-srcset="https://www.paradigmadigital.com/assets/img/resize/huge/comandos_procesados_redis_8_50_nodes_9b61edc3a2.png 1920w,https://www.paradigmadigital.com/assets/img/resize/big/comandos_procesados_redis_8_50_nodes_9b61edc3a2.png 1280w,https://www.paradigmadigital.com/assets/img/resize/medium/comandos_procesados_redis_8_50_nodes_9b61edc3a2.png 910w,https://www.paradigmadigital.com/assets/img/resize/small/comandos_procesados_redis_8_50_nodes_9b61edc3a2.png 455w"
          class="lazy-img"  
                  sizes="(max-width: 767px) 80vw, 75vw"
                  alt="Comandos procesados en Redis 8 - 50 nodes" title="undefined"/><figcaption>Comandos procesados en Redis 8 - 50 nodes</figcaption></figure>
<figure class="block block-caption  -inline-block -like-text-width -center"><img src="https://www.paradigmadigital.com/assets/img/defaults/lazy-load.svg"
          data-src="https://www.paradigmadigital.com/assets/img/resize/small/comandos_procesados_valkey_8_50_nodes_c845a40f20.png"
          data-srcset="https://www.paradigmadigital.com/assets/img/resize/huge/comandos_procesados_valkey_8_50_nodes_c845a40f20.png 1920w,https://www.paradigmadigital.com/assets/img/resize/big/comandos_procesados_valkey_8_50_nodes_c845a40f20.png 1280w,https://www.paradigmadigital.com/assets/img/resize/medium/comandos_procesados_valkey_8_50_nodes_c845a40f20.png 910w,https://www.paradigmadigital.com/assets/img/resize/small/comandos_procesados_valkey_8_50_nodes_c845a40f20.png 455w"
          class="lazy-img"  
                  sizes="(max-width: 767px) 80vw, 75vw"
                  alt="Comandos procesados en Valkey 8 - 50 nodes" title="undefined"/><figcaption>Comandos procesados en Valkey 8 - 50 nodes</figcaption></figure>
<p>Vemos como el cluster montado con <strong>Redis 8 aprovecha la ventaja de la configuración de io-threads y la nueva implementación</strong>, llegando prácticamente a alcanzar el número de comandos por unidad de tiempo del cluster de referencia con Redis Strack 7.2. Vemos que cada nodo prácticamente llega a <strong>duplicar el número de comandos procesados por unidad de tiempo</strong> respecto a los valores de Redis Stack 7.2.</p>
<p><strong>Valkey 8 presenta un comportamiento similar a Redis 8</strong>. Lamentablemente, al comienzo del test se produjo el desalojo de el pod de uno de los nodos, lo que explica la pequeña caída que se aprecia en la gráfica.</p>
<h2 class="block block-header h--h20-175-500 left  add-last-dot">Hits</h2>
<figure class="block block-caption  -inline-block -like-text-width -center"><img src="https://www.paradigmadigital.com/assets/img/defaults/lazy-load.svg"
          data-src="https://www.paradigmadigital.com/assets/img/resize/small/hits_redis_stack_100_nodes_88e2908a60.png"
          data-srcset="https://www.paradigmadigital.com/assets/img/resize/huge/hits_redis_stack_100_nodes_88e2908a60.png 1920w,https://www.paradigmadigital.com/assets/img/resize/big/hits_redis_stack_100_nodes_88e2908a60.png 1280w,https://www.paradigmadigital.com/assets/img/resize/medium/hits_redis_stack_100_nodes_88e2908a60.png 910w,https://www.paradigmadigital.com/assets/img/resize/small/hits_redis_stack_100_nodes_88e2908a60.png 455w"
          class="lazy-img"  
                  sizes="(max-width: 767px) 80vw, 75vw"
                  alt="Hits en Redis Stack 7.2 - 100 nodes" title="undefined"/><figcaption>Hits en Redis Stack 7.2 - 100 nodes</figcaption></figure>
<figure class="block block-caption  -inline-block -like-text-width -center"><img src="https://www.paradigmadigital.com/assets/img/defaults/lazy-load.svg"
          data-src="https://www.paradigmadigital.com/assets/img/resize/small/hits_redis_8_50_nodes_9847ef8f70.png"
          data-srcset="https://www.paradigmadigital.com/assets/img/resize/huge/hits_redis_8_50_nodes_9847ef8f70.png 1920w,https://www.paradigmadigital.com/assets/img/resize/big/hits_redis_8_50_nodes_9847ef8f70.png 1280w,https://www.paradigmadigital.com/assets/img/resize/medium/hits_redis_8_50_nodes_9847ef8f70.png 910w,https://www.paradigmadigital.com/assets/img/resize/small/hits_redis_8_50_nodes_9847ef8f70.png 455w"
          class="lazy-img"  
                  sizes="(max-width: 767px) 80vw, 75vw"
                  alt="Hits en Redis 8 - 50 nodes" title="undefined"/><figcaption>Hits en Redis 8 - 50 nodes</figcaption></figure>
<figure class="block block-caption  -inline-block -like-text-width -center"><img src="https://www.paradigmadigital.com/assets/img/defaults/lazy-load.svg"
          data-src="https://www.paradigmadigital.com/assets/img/resize/small/hits_valkey_8_50_nodes_1ca451862c.png"
          data-srcset="https://www.paradigmadigital.com/assets/img/resize/huge/hits_valkey_8_50_nodes_1ca451862c.png 1920w,https://www.paradigmadigital.com/assets/img/resize/big/hits_valkey_8_50_nodes_1ca451862c.png 1280w,https://www.paradigmadigital.com/assets/img/resize/medium/hits_valkey_8_50_nodes_1ca451862c.png 910w,https://www.paradigmadigital.com/assets/img/resize/small/hits_valkey_8_50_nodes_1ca451862c.png 455w"
          class="lazy-img"  
                  sizes="(max-width: 767px) 80vw, 75vw"
                  alt="Hits en Valkey 8 - 50 nodes" title="undefined"/><figcaption>Hits en Valkey 8 - 50 nodes</figcaption></figure>
<p>El mismo comportamiento que vimos en los comandos procesados por unidad de tiempo <strong>se repite en el número de hits</strong>. Se llega casi a alcanzar el <strong>rendimiento de referencia de Redis Stack 7.2 con la mitad de nodos</strong> tanto en Redis 8 como en Valkey 8.</p>
<p>Para dar una idea de la <strong>cantidad de datos</strong> que se manejan durante los tests, se incluyen las siguientes gráficas que muestran el <strong>número de keys almacenadas por nodo</strong>.</p>
<h2 class="block block-header h--h20-175-500 left  add-last-dot">Cache entries</h2>
<figure class="block block-caption  -inline-block -like-text-width -center"><img src="https://www.paradigmadigital.com/assets/img/defaults/lazy-load.svg"
          data-src="https://www.paradigmadigital.com/assets/img/resize/small/cache_entries_redis_stack_100_nodes_079c96b8ad.png"
          data-srcset="https://www.paradigmadigital.com/assets/img/resize/huge/cache_entries_redis_stack_100_nodes_079c96b8ad.png 1920w,https://www.paradigmadigital.com/assets/img/resize/big/cache_entries_redis_stack_100_nodes_079c96b8ad.png 1280w,https://www.paradigmadigital.com/assets/img/resize/medium/cache_entries_redis_stack_100_nodes_079c96b8ad.png 910w,https://www.paradigmadigital.com/assets/img/resize/small/cache_entries_redis_stack_100_nodes_079c96b8ad.png 455w"
          class="lazy-img"  
                  sizes="(max-width: 767px) 80vw, 75vw"
                  alt="Cache entries Redis Stack 7.2 - 100 nodes" title="undefined"/><figcaption>Cache entries Redis Stack 7.2 - 100 nodes</figcaption></figure>
<figure class="block block-caption  -inline-block -like-text-width -center"><img src="https://www.paradigmadigital.com/assets/img/defaults/lazy-load.svg"
          data-src="https://www.paradigmadigital.com/assets/img/resize/small/cache_entries_redis_8_50_nodes_f1e5831e15.png"
          data-srcset="https://www.paradigmadigital.com/assets/img/resize/huge/cache_entries_redis_8_50_nodes_f1e5831e15.png 1920w,https://www.paradigmadigital.com/assets/img/resize/big/cache_entries_redis_8_50_nodes_f1e5831e15.png 1280w,https://www.paradigmadigital.com/assets/img/resize/medium/cache_entries_redis_8_50_nodes_f1e5831e15.png 910w,https://www.paradigmadigital.com/assets/img/resize/small/cache_entries_redis_8_50_nodes_f1e5831e15.png 455w"
          class="lazy-img"  
                  sizes="(max-width: 767px) 80vw, 75vw"
                  alt="Cache entries Redis 8 - 50 nodes" title="undefined"/><figcaption>Cache entries Redis 8 - 50 nodes</figcaption></figure>
<figure class="block block-caption  -inline-block -like-text-width -center"><img src="https://www.paradigmadigital.com/assets/img/defaults/lazy-load.svg"
          data-src="https://www.paradigmadigital.com/assets/img/resize/small/cache_entries_valkey_8_50_nodes_7af9009820.png"
          data-srcset="https://www.paradigmadigital.com/assets/img/resize/huge/cache_entries_valkey_8_50_nodes_7af9009820.png 1920w,https://www.paradigmadigital.com/assets/img/resize/big/cache_entries_valkey_8_50_nodes_7af9009820.png 1280w,https://www.paradigmadigital.com/assets/img/resize/medium/cache_entries_valkey_8_50_nodes_7af9009820.png 910w,https://www.paradigmadigital.com/assets/img/resize/small/cache_entries_valkey_8_50_nodes_7af9009820.png 455w"
          class="lazy-img"  
                  sizes="(max-width: 767px) 80vw, 75vw"
                  alt="Cache entries Valkey 8 - 50 nodes" title="undefined"/><figcaption>Cache entries Valkey 8 - 50 nodes</figcaption></figure>
<p>Si echamos un vistazo al <strong>uso de CPU</strong>, vemos <strong>resultados más consistentes en Redis 8</strong> que en Valkey 8.</p>
<h2 class="block block-header h--h20-175-500 left  add-last-dot">CPU usage</h2>
<figure class="block block-caption  -inline-block -like-text-width -center"><img src="https://www.paradigmadigital.com/assets/img/defaults/lazy-load.svg"
          data-src="https://www.paradigmadigital.com/assets/img/resize/small/cpu_usage_redis_stack_100_nodes_0eee7410f9.png"
          data-srcset="https://www.paradigmadigital.com/assets/img/resize/huge/cpu_usage_redis_stack_100_nodes_0eee7410f9.png 1920w,https://www.paradigmadigital.com/assets/img/resize/big/cpu_usage_redis_stack_100_nodes_0eee7410f9.png 1280w,https://www.paradigmadigital.com/assets/img/resize/medium/cpu_usage_redis_stack_100_nodes_0eee7410f9.png 910w,https://www.paradigmadigital.com/assets/img/resize/small/cpu_usage_redis_stack_100_nodes_0eee7410f9.png 455w"
          class="lazy-img"  
                  sizes="(max-width: 767px) 80vw, 75vw"
                  alt="CPU usage Redis Stack 7.2 - 100 nodes" title="undefined"/><figcaption>CPU usage Redis Stack 7.2 - 100 nodes</figcaption></figure>
<figure class="block block-caption  -inline-block -like-text-width -center"><img src="https://www.paradigmadigital.com/assets/img/defaults/lazy-load.svg"
          data-src="https://www.paradigmadigital.com/assets/img/resize/small/cpu_usage_redis_8_50_nodes_f1f6d2d4e1.png"
          data-srcset="https://www.paradigmadigital.com/assets/img/resize/huge/cpu_usage_redis_8_50_nodes_f1f6d2d4e1.png 1920w,https://www.paradigmadigital.com/assets/img/resize/big/cpu_usage_redis_8_50_nodes_f1f6d2d4e1.png 1280w,https://www.paradigmadigital.com/assets/img/resize/medium/cpu_usage_redis_8_50_nodes_f1f6d2d4e1.png 910w,https://www.paradigmadigital.com/assets/img/resize/small/cpu_usage_redis_8_50_nodes_f1f6d2d4e1.png 455w"
          class="lazy-img"  
                  sizes="(max-width: 767px) 80vw, 75vw"
                  alt="CPU usage Redis 8 - 50 nodes" title="undefined"/><figcaption>CPU usage Redis 8 - 50 nodes</figcaption></figure>
<p>Para finalizar la comparativa de las métricas obtenidas, echemos un vistazo a la <strong>tasa de transferencia de salida de red</strong> de los nodos.</p>
<h2 class="block block-header h--h20-175-500 left  add-last-dot">Network out throughput</h2>
<figure class="block block-caption  -inline-block -like-text-width -center"><img src="https://www.paradigmadigital.com/assets/img/defaults/lazy-load.svg"
          data-src="https://www.paradigmadigital.com/assets/img/resize/small/network_out_throughput_redis_stack_100_nodes_f6d43d0c2e.png"
          data-srcset="https://www.paradigmadigital.com/assets/img/resize/huge/network_out_throughput_redis_stack_100_nodes_f6d43d0c2e.png 1920w,https://www.paradigmadigital.com/assets/img/resize/big/network_out_throughput_redis_stack_100_nodes_f6d43d0c2e.png 1280w,https://www.paradigmadigital.com/assets/img/resize/medium/network_out_throughput_redis_stack_100_nodes_f6d43d0c2e.png 910w,https://www.paradigmadigital.com/assets/img/resize/small/network_out_throughput_redis_stack_100_nodes_f6d43d0c2e.png 455w"
          class="lazy-img"  
                  sizes="(max-width: 767px) 80vw, 75vw"
                  alt="Network out throughput Redis Stack 7.2 - 100 nodes" title="undefined"/><figcaption>Network out throughput Redis Stack 7.2 - 100 nodes</figcaption></figure>
<figure class="block block-caption  -inline-block -like-text-width -center"><img src="https://www.paradigmadigital.com/assets/img/defaults/lazy-load.svg"
          data-src="https://www.paradigmadigital.com/assets/img/resize/small/network_out_throughput_redis_8_50_nodes_0d1240ce7a.png"
          data-srcset="https://www.paradigmadigital.com/assets/img/resize/huge/network_out_throughput_redis_8_50_nodes_0d1240ce7a.png 1920w,https://www.paradigmadigital.com/assets/img/resize/big/network_out_throughput_redis_8_50_nodes_0d1240ce7a.png 1280w,https://www.paradigmadigital.com/assets/img/resize/medium/network_out_throughput_redis_8_50_nodes_0d1240ce7a.png 910w,https://www.paradigmadigital.com/assets/img/resize/small/network_out_throughput_redis_8_50_nodes_0d1240ce7a.png 455w"
          class="lazy-img"  
                  sizes="(max-width: 767px) 80vw, 75vw"
                  alt="Network out throughput Redis 8 - 50 nodes" title="undefined"/><figcaption>Network out throughput Redis 8 - 50 nodes</figcaption></figure>
<figure class="block block-caption  -inline-block -like-text-width -center"><img src="https://www.paradigmadigital.com/assets/img/defaults/lazy-load.svg"
          data-src="https://www.paradigmadigital.com/assets/img/resize/small/network_out_throughput_valkey_8_50_nodes_b5cfe805c8.png"
          data-srcset="https://www.paradigmadigital.com/assets/img/resize/huge/network_out_throughput_valkey_8_50_nodes_b5cfe805c8.png 1920w,https://www.paradigmadigital.com/assets/img/resize/big/network_out_throughput_valkey_8_50_nodes_b5cfe805c8.png 1280w,https://www.paradigmadigital.com/assets/img/resize/medium/network_out_throughput_valkey_8_50_nodes_b5cfe805c8.png 910w,https://www.paradigmadigital.com/assets/img/resize/small/network_out_throughput_valkey_8_50_nodes_b5cfe805c8.png 455w"
          class="lazy-img"  
                  sizes="(max-width: 767px) 80vw, 75vw"
                  alt="Network out throughput Valkey 8 - 50 nodes" title="undefined"/><figcaption>Network out throughput Valkey 8 - 50 nodes</figcaption></figure>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Conclusiones finales</h2>
<p>La nueva implementación de <strong>I/O threading</strong> incluida en Redis 8 y Valkey 8 realmente <strong>marca la diferencia con las antiguas implementaciones</strong>. Haciendo uso de múltiples hilos para hacer la escritura de los resultados de los comandos al socket se alivia significativamente la carga en el hilo principal, permitiendo un <strong>incremento impresionante del rendimiento por nodo</strong>.</p>
<p>De los datos de los tests podemos extraer que se ha alcanzado una <strong>mejora de rendimiento del 90-95%</strong>.</p>
<p>Usando <strong>Redis 8</strong>, con las mejoras que introduce y, sobre todo, con la implementación de I/O Threading, podemos llegar a una <strong>reducción considerable de recursos</strong>. Tras las pruebas pudimos pasar los periodos de pico con la mitad de nodos por cluster, subiendo la CPU de 1 a 2.</p>
<p>Si nos basamos únicamente en las <strong>métricas de Redis aquí expuestas</strong> (y algunas más que no se han incluido por no resultar tan interesantes) Redis 8 y Valkey 8 presentan rendimientos muy similares. Sin embargo, también revisamos logs y métricas de la aplicación cliente. En estas observamos que <strong>Redis 8 se comportó de forma más estable que Valkey 8</strong>. Consiguió mantener tasas de transferencia durante todos los tests más estables, mientras que Valkey 8 mostró algunas fluctuaciones.</p>
<p><strong>Redis 8</strong>, tras su vuelta al mundo Open Source, ha demostrado un <strong>rendimiento impecable</strong>. También ha mostrado tener un <strong>mayor nivel de optimización</strong>, además de comportarse <strong>más estable y más consistente</strong> antes las distintas configuraciones de io-thread.</p>
<p>Por todo esto, <strong>nos quedamos con Redis 8</strong>, al menos por ahora.</p>
<p><strong>Referencias</strong></p>
<ul>
<li><a href="https://redis.io/blog/redis-8-0-m03-is-out-even-more-performance-new-features/" target="_blank">Redis 8.0-M03 is out. Even more performance &amp; new features</a>, Blog de Redis</li>
<li><a href="https://redis.io/blog/memtier_benchmark-a-high-throughput-benchmarking-tool-for-redis-memcached/" target="_blank">memtier_benchmark: A High-Throughput Benchmarking Tool for Redis &amp; Memcached</a>, Blog de Redis</li>
<li><a href="https://github.com/RedisLabs/memtier_benchmark" target="_blank">Github RedisLabs</a></li>
<li><a href="https://github.com/redis/lettuce" target="_blank">Github Redis Lettuce</a></li>
</ul>

            ]]>
        </content:encoded>
    </item><item>
        <dc:creator>
            <![CDATA[ Pablo Salvador ]]>
        </dc:creator>
        <title>Mentalidad de producto: propósito, usuario y valor</title>
        <link>https://www.paradigmadigital.com/transformacion-organizacional-rev/mentalidad-producto-proposito-usuario-valor/</link>
        <pubDate>Wed, 06 May 2026 06:00:00 GMT</pubDate>
        <guid isPermaLink="true">https://www.paradigmadigital.com/transformacion-organizacional-rev/mentalidad-producto-proposito-usuario-valor/</guid>
        <description>Hay una pregunta que ayuda a detectar si una iniciativa tiene foco: qué cambia, para quién cambia y cómo sabremos que ha cambiado. Cuando eso no está claro, el riesgo es empezar a construir, llenar el backlog y avanzar en entregables sin tener una visión nítida del impacto que queremos generar. Te contamos cómo enfocar la mentalidad de producto en este post
</description>
        <content:encoded>
            <![CDATA[
                <p>Si tuviera 30 segundos para saber si una iniciativa va bien encaminada, haría esta pregunta:</p>
<p><strong>¿Qué cambia, para quién cambia y cómo sabremos que ha cambiado?</strong></p>
<p>Cuando eso no está claro, suele pasar que hemos arrancado con energía, el backlog crece, entregamos cosas… y a las pocas semanas alguien pregunta: <em>“vale, ¿y esto para qué era?”</em> Y no suele ser un problema de esfuerzo, sino <strong>un problema de enfoque</strong>.</p>
<p>Para mí, la mentalidad de producto no va de roles, ceremonias o herramientas. Se trata de poner el <strong>foco</strong> en tres cosas antes de lanzarnos a construir: <strong>qué problema queremos resolver, para quién y qué valor esperamos generar</strong>.</p>
<p><strong>El error más habitual es arrancar por el “qué”</strong>. Las primeras conversaciones giran alrededor de lo que hay que construir, los entregables que se esperan, para cuándo, quién lo hace y dónde lo seguimos. Son preguntas válidas. El problema es que, si arrancamos así, corremos el riesgo de organizarnos en torno a la ejecución de algo que quizá no era lo más importante.</p>
<p>Por eso, antes de bajar a la operativa, conviene <strong>aterrizar el propósito, el usuario y el valor</strong> con estas preguntas:</p>
<ul>
<li>¿Por qué hacemos esto? ¿Qué problema estamos intentando resolver?</li>
<li>¿Quién es el usuario real?</li>
<li>¿Qué mejora esperamos ver y cómo la vamos a notar?</li>
</ul>
<p>Si esto no está claro, bajar al backlog demasiado pronto no nos va a ayudar. Esto sucede con frecuencia con iniciativas que ya llegan formuladas de esta forma:</p>
<ul>
<li>“Necesitamos un dashboard.”</li>
<li>“Hay que automatizar este proceso.”</li>
<li>“Queremos una nueva pantalla.”</li>
</ul>
<p>Ahí el riesgo es <strong>aceptar la solución sin haber entendido bien la necesidad</strong>. Pasa, por ejemplo, con peticiones como esta: <em>“automatizar la aprobación de solicitudes”</em>. Hasta ahí, lo que tenemos es una solución. La conversación útil empieza cuando preguntas: <em>“vale, ¿para qué?”</em>. Y entonces aparece el problema real: <strong>reducir tiempos de respuesta y evitar errores</strong>. A partir de ahí ya puedes concretar mejor:</p>
<ul>
<li><strong>Usuario</strong>: el equipo operativo que gestiona las solicitudes y el cliente final que sufre las esperas.</li>
<li><strong>Valor esperado</strong>: pasar de 5 días a 24 horas y reducir retrabajo.</li>
<li><strong>Decisión</strong>: quizá antes de automatizar es recomendable eliminar validaciones redundantes, aclarar criterios y definir excepciones.</li>
</ul>
<p>La necesidad de fondo no ha cambiado. <strong>Lo que cambia es la calidad de la decisión</strong>.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Producto es el compendio de propósito, usuario y valor</h2>
<p>Cuando hablamos de <strong>producto</strong>, para mí hay <strong>tres elementos</strong> que no pueden faltar: <strong>propósito, usuario y valor</strong>. Si falta uno de estos tres, es fácil caer en una dinámica peligrosa donde trabajamos mucho pero con un impacto difuso.</p>
<article class="block block-image  -inline-block -like-text-width -center lazy-true"><img src="https://www.paradigmadigital.com/assets/img/defaults/lazy-load.svg"
          data-src="https://www.paradigmadigital.com/assets/img/resize/small/proposito_usuario_valor_a13e75c318.png"
          data-srcset="https://www.paradigmadigital.com/assets/img/resize/huge/proposito_usuario_valor_a13e75c318.png 1920w,https://www.paradigmadigital.com/assets/img/resize/big/proposito_usuario_valor_a13e75c318.png 1280w,https://www.paradigmadigital.com/assets/img/resize/medium/proposito_usuario_valor_a13e75c318.png 910w,https://www.paradigmadigital.com/assets/img/resize/small/proposito_usuario_valor_a13e75c318.png 455w"
          class="lazy-img"  
                  sizes="(max-width: 767px) 80vw, 75vw"
                  alt="triángulo conformado por propósito, usuario y valor formando el conjunto del producto" title="undefined"/></article>
<ul>
<li><strong>Sin usuario, el valor se vuelve abstracto</strong>: no sabemos para quién estamos mejorando algo ni qué cambio queremos provocar. Y esto aplica también cuando el usuario es interno. Que el usuario esté en Operaciones, Tecnología, Riesgos o Finanzas no cambia nada de fondo: también ahí hay que concretar quién es, qué fricción tiene y qué mejora sería realmente valiosa para esa persona.</li>
<li><strong>Sin valor, el usuario se queda en una descripción vacía</strong>. En este post no vamos a entrar en detalle en qué se entiende por valor, pero sí quiero aclarar que cuando hablo de <a href="https://www.paradigmadigital.com/techbiz/los-productos-digitales-lo-importante-valor/" target="_blank">valor</a>, no me refiero solo a negocio. Puede aparecer en varias capas, ya sea:
<ul>
<li><strong>Valor para el usuario</strong>: menos fricción, más claridad, menos esperas, menos errores.</li>
<li><a href="https://www.paradigmadigital.com/techbiz/podcast-metricas-valor-negocio" target="_blank">Valor para el negocio</a>: más adopción, menos coste, menos riesgo, mejor conversión.</li>
<li><a href="https://www.paradigmadigital.com/techbiz/podcast-metricas-produccion-time-to-market" target="_blank">Valor para el sistema de entrega</a>: más calidad, más estabilidad, menos retrabajo, menos urgencias artificiales.</li>
</ul>
</li>
<li><strong>Sin propósito, todo suena razonable, pero cuesta priorizar</strong>. Aquí hay una distinción que me parece útil y que conecta con el <a href="https://www.youtube.com/watch?v=Ppd4BxcbbNI" target="_blank">Círculo Dorado de Simon Sinek</a>: no es lo mismo hablar del <strong>porqué</strong> que del <strong>para qué</strong>. El <strong>porqué</strong> habla del propósito de la iniciativa. El <strong>para qué</strong> aterriza ese propósito en impacto, en el cambio que queremos provocar.</li>
</ul>
<p>Lo importante es que <strong>algo cambie de forma observable</strong>. Si no cambia nada visible, probablemente no estamos generando valor; únicamente estamos haciendo cosas.</p>
<p>Una buena pregunta para aterrizarlo es: <em>¿Qué mejora real se producirá para el usuario si esto funciona?</em></p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Cómo aterrizar esto en el día a día</h2>
<ol>
<li><strong>Arrancar por problema y valor, no por entregable</strong>.</li>
</ol>
<p>Antes de hablar de solución, deja claro qué dolor quieres resolver, para quién y qué mejora esperas ver. Herramientas como una <a href="https://www.paradigmadigital.com/transformacion-organizacional-rev/agile-si-implica-planificar/" target="_blank">Inception</a> bien enfocada ayudan justo a eso: alinear propósito, usuario, valor y cómo sabremos si vamos bien.</p>
<p>Para ese arranque ayuda de forma sustancial <strong>dejar por escrito</strong> algo tan simple como:</p>
<ul>
<li><strong>Nuestro objetivo</strong>: estamos aquí para...</li>
<li><strong>El problema actual:</strong> hoy en día pasa que...</li>
<li><strong>A quién afecta</strong>: esto afecta sobre todo a...</li>
<li><strong>Lo que esperamos</strong>: si todo va bien, debería cambiar...</li>
<li><strong>Cómo lo sabremos</strong>: lo notaremos porque veremos...</li>
</ul>
<p>No lo veas como burocracia. Tómalo como una manera de alinear mejor y de evitar que el backlog se convierta en lista de tareas.</p>
<ol start="2">
<li><strong>Conectar estrategia, foco y backlog</strong>.</li>
</ol>
<p>Si una iniciativa no está conectada con una prioridad real, el backlog acaba lleno de trabajo, pero no necesariamente de valor. Por eso conviene enlazar bien estrategia, <a href="https://www.paradigmadigital.com/transformacion-organizacional-rev/desbloqueando-potencial-priorizacion-frameworks-mas-importantes" target="_blank">priorización</a> y <a href="https://www.paradigmadigital.com/transformacion-organizacional-rev/vision-accion-construye-primer-roadmap" target="_blank">roadmap</a>.</p>
<ol start="3">
<li><strong>Traducir intención en seguimiento real</strong>.</li>
</ol>
<p>Si dices que buscas impacto, luego tienes que revisarlo. Y ahí ayuda formular bien los objetivos y acompañarlos de resultados observables, sin confundir actividad con impacto. Para eso, puedes complementar bien con el uso de <a href="https://www.paradigmadigital.com/techbiz/okrs-agile-producto-valor/" target="_blank">OKRs</a>, prestando atención a sus <a href="https://www.paradigmadigital.com/transformacion-organizacional-rev/odiosos-ocho-antipatrones-okr/" target="_blank">anti-patrones</a>.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">En conclusión</h2>
<p>Trabajar con <strong>mentalidad de producto</strong> va de <strong>tomar mejores decisiones desde el principio</strong>. La próxima vez que arranques una iniciativa, yo me pararía un minuto en estas tres preguntas:</p>
<ul>
<li><strong>¿Qué valor concreto queremos generar?</strong></li>
<li><strong>¿Para quién, exactamente?</strong></li>
<li><strong>¿Y cómo sabremos que lo estamos consiguiendo?</strong></li>
</ul>
<p>Porque el valor no aparece al final. Se decide desde el inicio y se revisa durante el camino.</p>
<p><strong>Tu backlog no debería demostrar que trabajas. Debería demostrar que estás cambiando algo valioso para alguien.</strong> ¡Te leo en comentarios! 👇</p>

            ]]>
        </content:encoded>
    </item><item>
        <dc:creator>
            <![CDATA[ Santiago López ]]>
        </dc:creator>
        <title>Podcast - Green QA: calidad, eficiencia y sostenibilidad</title>
        <link>https://www.paradigmadigital.com/dev/podcast-green-qa-calidad-eficiencia-y-sostenibilidad/</link>
        <pubDate>Tue, 05 May 2026 06:00:00 GMT</pubDate>
        <guid isPermaLink="true">https://www.paradigmadigital.com/dev/podcast-green-qa-calidad-eficiencia-y-sostenibilidad/</guid>
        <description>Optimiza el consumo de infraestructura y mide la huella de carbono del software con Green QA, integrando métricas de eficiencia energética.
</description>
        <content:encoded>
            <![CDATA[
                <p>Hasta hace poco, hablar de testing en el desarrollo de software era hablar de calidad funcional, rendimiento o seguridad. Sin embargo, ese enfoque se está quedando corto.</p>
<p>Las compañías ya no solo tienen que garantizar que sus productos funcionen bien, sino también que sean sostenibles, medibles y alineados con nuevas exigencias regulatorias y sociales.</p>
<p>En este contexto surge <strong>Green QA, un enfoque que amplía el concepto tradicional de calidad incorporando variables como la eficiencia energética, la huella de carbono y la trazabilidad ambiental del software</strong>.</p>
<iframe id="" class="block block-iframe -like-text-width" src="https://open.spotify.com/embed/episode/5rhpCnbehedV7v1g4F2q9M?utm_source=generator&amp;theme=0" style="height:240px;  width:100%;"></iframe>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Más allá del testing: qué es Green QA y por qué importa</h2>
<p>Green QA parte de una idea sencilla pero potente: <strong>no basta con validar que un sistema funciona, también hay que entender cómo se ha construido y qué impacto ha generado en el proceso</strong>.</p>
<p>Tradicionalmente, los equipos de calidad se han centrado en verificar entregables. Pero rara vez se ha tenido en cuenta el coste energético de ejecutar pruebas, el consumo de infraestructura o la huella de carbono asociada a todo el ciclo de desarrollo. <strong>Green QA introduce precisamente esa capa de conciencia</strong>.</p>
<p>Este cambio no es solo conceptual, también responde a dos grandes fuerzas. Por un lado, <strong>el creciente peso de la regulación</strong>, con normativas como la directiva europea CSRD o las leyes nacionales de sostenibilidad empresarial.</p>
<p>Por otro lado, <strong>la propia competitividad del mercado</strong>: las empresas que integran sostenibilidad en su ciclo de desarrollo no solo cumplen, también se diferencian.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">ESG y software: una relación cada vez más directa</h2>
<p>El auge de los criterios ESG (Environmental, Social &amp; Governance) ha llevado a las empresas a medir su impacto más allá de lo financiero. En este marco, <strong>Green QA se convierte en una pieza clave para trasladar esos principios al desarrollo de software</strong>.</p>
<p>Desde el punto de vista ambiental, <strong>permite medir y optimizar aspectos como el consumo energético de servidores o la eficiencia del código</strong>. En la dimensión social, <strong>introduce variables como la accesibilidad o la ética en el uso de datos</strong>.</p>
<p>Y en el ámbito de la gobernanza, <strong>aporta trazabilidad, auditoría y cumplimiento normativo en los procesos de desarrollo</strong>. En otras palabras, <strong>Green QA traduce los principios ESG en métricas técnicas accionables dentro del ciclo de vida del software</strong>.</p>
<p>Este enfoque está redefiniendo profundamente el papel del QA. Ya no se trata solo de probar más, sino de probar mejor.</p>
<p>Uno de los cambios más relevantes es el paso de un testing exhaustivo a un testing contextual. <strong>Ejecutar todas las pruebas posibles ya no es siempre la mejor opción</strong>, especialmente si implica un coste energético elevado. En su lugar, <strong>se busca optimizar qué se prueba, cuándo y cómo</strong>.</p>
<p>Además, aparecen nuevos indicadores en los cuadros de mando: <strong>la eficiencia energética pasa a ser un KPI más, junto a los tradicionales de calidad o rendimiento</strong>. También <strong>cobra importancia la gestión del “desperdicio digital”</strong>, es decir, el uso innecesario de recursos en automatizaciones, datos o infraestructuras.</p>
<p>A esto se suma un cambio cultural: <strong>la sostenibilidad debe integrarse desde el inicio del desarrollo, no añadirse al final como una capa adicional</strong>.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Impacto real en el ciclo de vida del software</h2>
<p>Green QA no es una teoría, es un enfoque con impacto tangible en todas las fases del desarrollo. Desde la validación, donde ya no solo se verifica el funcionamiento sino también el impacto ambiental, hasta el diseño del código, que se optimiza para ser más eficiente y mantenible.</p>
<p><strong>Un código más limpio no solo es más fácil de entender, sino que reduce costes y consumo a largo plazo</strong>.</p>
<p>También influye en la infraestructura, promoviendo entornos temporales y bajo demanda frente a sistemas permanentemente activos. Incluso en la gestión de datos, donde se pone el foco en eliminar información innecesaria que consume recursos sin aportar valor.</p>
<p>Un dato ilustrativo: almacenar información sin uso durante días puede tener un impacto energético comparable al de mantener dispositivos encendidos de forma continua. <strong>El software también consume, aunque no siempre lo veamos</strong>.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Medir para mejorar: las nuevas métricas de la calidad sostenible</h2>
<p>Uno de los grandes retos de este enfoque es la medición. Sin embargo, <strong>cada vez existen más herramientas que permiten cuantificar el impacto del software</strong>.</p>
<p>Algunas de las métricas que empiezan a cobrar relevancia incluyen el <strong>consumo energético por ciclo de pruebas, las emisiones de CO₂ por despliegue o la eficiencia en el uso de CPU y memoria</strong>. Estos datos permiten detectar anomalías, optimizar procesos y tomar decisiones informadas.</p>
<p>Lo importante no es solo medir, también hacerlo de forma continua y automatizada, integrando estas métricas en los pipelines y en los sistemas de observabilidad del proyecto.</p>
<h2 class="block block-header h--h30-15-400 left  add-last-dot">Cómo empezar: de la conciencia a la estrategia</h2>
<p><strong>Adoptar Green QA no ocurre de un día para otro</strong>. Requiere un proceso progresivo que comienza con la formación y la concienciación de los equipos. En una primera fase, muchas organizaciones ni siquiera son conscientes del impacto ambiental de sus procesos de testing. A medida que avanzan, empiezan a identificar recursos, incorporar métricas y definir procesos más eficientes.</p>
<p>El siguiente paso es la estandarización, con KPIs claros y prácticas sostenibles integradas en el día a día. Posteriormente, se alcanza un nivel en el que la medición es continua y automatizada, y finalmente, las compañías más maduras alinean completamente su estrategia de software con los objetivos ESG.</p>
<p><strong>Green QA representa un cambio profundo en la forma de entender la calidad</strong>. Ya no se trata solo de entregar software que funcione, sino de hacerlo de manera responsable, eficiente y alineada con el entorno: <strong>la sostenibilidad no es un coste añadido, es una oportunidad para ser más eficientes, reducir gastos y mejorar la competitividad</strong>.</p>
<p>En un contexto donde la tecnología es responsable de una parte creciente del consumo energético global, integrar este enfoque no es solo una ventaja estratégica: empieza a ser una necesidad.</p>

            ]]>
        </content:encoded>
    </item>
</channel>
</rss>
