Fecha del artículo 15/03/2023
La evolución tecnológica de los últimos años y el uso de nuevos modelos de negocio basados en la nube han derribado barreras de entrada en varias industrias y segmentos, transformando el proceso de innovación como un factor relevante en la competitividad de las empresas. La colaboración de personas talentosas con diversos roles y objetivos comunes ha demostrado ser fundamental para poder encarar efectivamente los nuevos desafíos.
Como nunca antes el factor más decisivo que afecta la competitividad de muchas empresas es su capacidad de innovación. Cuestionar y evolucionar los modelos de negocio, responder rápidamente a los movimientos de la competencia, colaborar con otras empresas complementarias, así como probar y validar efectivamente nuevas ideas han demostrado ser estrategías fundamentales en un conjunto relevante de industrias.
En el centro de estos procesos de innovación están las personas que con su creatividad, conocimientos y talentos entregan a las empresas la posibildiad de generar nuevas ideas e iniciativas. Sin embargo, no basta con contar con personas que posean dichas características, ya que es fundamental que además exista un proceso de trabajo virtuoso que permita la colaboración y el potenciamiento de los distintos roles, los que deben compartir los mismos objetivos e, idealmente, valores similares.
En el pasado muchas de estás ideas e innovaciones nunca prosperaban, ya que requerían de tecnología y conocimientos que estaban fuera del alcance de muchas empresas. Han sido los avances tecnológicos y la nueva economía digital los que han dejado estas capacidades al alcance de todos.
Es la unión de procesos de innovación virtuosos y tecnología accesible que permite llevar adelante las iniciativas generadas, produciéndose un salto importante en la competitividad de muchas empresas. Es relevante no ver el proceso de innovación y la tecnología como ítems independientes, estos deben entrelazarse y complementarse en diferentes estratos y niveles, con el objetivo de producir la sinergía esperada.
Respecto al proceso de innovación, en la última década se ha puesto en boga el concepto de Agilidad, entendiéndola como la capacidad y voluntad de una organización para adaptarse, crear y aprovechar el cambio para el beneficio de sus clientes. Al incorporar Agilidad, la empresas deben introducir nuevas formas de enfrentar los objetivos, las que deben estar alineadas a la visión, misión y a la estrategia de la empresa.
Dentro de Agilidad, uno de los marcos de trabajo más utilizados es Scrum, el que está orientado a encontrar prácticas emergentes en dominios complejos, como puede ser la gestión de proyectos de software en ámbitos de innovación. Existen otros marcos de trabajo ágiles, los que pueden aportar en diferente contextos y realidades.
En ningún caso Scrum pretende ser una metodología, por lo que no detalla modos de operar, sino que genera un contexto relacional e iterativo, de inspección y adaptación constante para que todos los que participan del proyecto, ya sea de manera directa o indirecta, puedan ir creando su propio proceso dado que en un contexto complejo los resultados se vuelven impredecibles.
Es el equipo de involucrados quien encontrará la mejor manera de resolver sus problemáticas. Este tipo de soluciones serán emergentes. Dentro de la metodología Scrum existe una lista de actividades o funciones que debe desarrollar cada uno de los roles, como por ejemplo generar una idea de producto, validarla con un MVP e ir evolucionándolo en el tiempo.
Algunas de las características de la metodología Scrum son:
• Crear, validar y descartar rápido las nuevas ideas
• Uso de MVPs para que el proceso sea liviano y el aprendizaje a bajo costo
• Uso de canary deployment y A/B testing, para mostrar las ideas a un conjunto de clientes y aprender de ellos
• Recopilación, procesamiento y aprovechamiento de datos
• Monitorear el comportamiento de la iniciativa, técnica y comercialmente
La mayoría de las acciones mencionadas del proceso de innovación requieren ser soportadas por tecnología que estén diseñadas para ello. Tecnología que estructure los servicios en diferentes estratos con la intención de entregar agilidad y control al mismo tiempo.
La metodología Scrum identifica a los distintos roles que participan de un equipo ágil durante el ciclo de vida de una iniciativa, dentro de los cuales está el Product Owner, el equipo de desarrollo, el equipo de soporte, los stakeholder y los clientes.
Al Product Owner le interesa promover ideas e iniciativas hacia los stakeholders y que sea posible validarlas de una manera rápida y eficiente, de una manera ágil, partiendo por un MVP y que este pueda evolucionar de acuerdo al aprendizaje con los clientes e indicadores del producto. Cuando algunas ideas no están del todo claras, es posible solicitar la ayuda de los clientes para decidir la mejor opción, para lo que se pueden utilizar estrategias del tipo A/B Testing.
Al Equipo de Desarrollo, al igual que al Product Owner, les interesa la calidad del producto entregado. Para lo que realizan pruebas exhaustivas en ambientes controlados antes de pasar a producción. Dependiendo del nivel de criticidad y el proceso definido internamente, es posible realizar pruebas en ambiente productivo a través de estrategias Canary Deplyment.
Todo desarrollo debe contener métricas que permitan conocer luego la salud de la solución. Junto con esto es interesante poder también tener métricas respecto al negocio que soporta la solución, es decir, no sólo saber si la plataforma está funcionando bien o no, sino que qué efectos está teniendo sobre los usuarios/clientes. ¿Estos están comprando? ¿Qué prefieren de lo que les ofrecemos?¿Están mejores las ventas con los nuevos productos? Esto es de interés para el Equipo de Soporte, el Product Owner y por cierto a los Stakeholdres.
Tecnología que entrega agilidad – APIs y Microservicios
Tal como ya se mencionó, el proceso de innovación ágil requiere de tecnología que estructure los servicios en diferentes estratos y facilite la conectividad entre ellos. Ya sea utilizando protocolos SOAP o REST, los servicios deben exponer sus capacidades a través de APIs para que el resto pueda aprovecharlas. Con APIs claramente definidas y con la posibilidad de conocer todas las capacidades expuestas, diferentes equipos pueden llevar adelante su creatividad y explotar la reutilización y colaboración.
El uso de API permite también la colaboración con otras empresas, haciendo posible la utilziación de las capacidades disponibles afuera de la organización.
Si las arquitecturas basadas en APIs permiten estratificar y comunicar los servicios, cada vez más frecuentemente se está utilizando como patrón de desarrollo a los microservicios, los que restringen cada servicio a capacidades concretas expuestas por APIs.
Las APIs y los microservicios no sólo son formas de desarrollo, sino que también sirven para conducir y propender hacia una estrategia de generación de servicios ágil, ya que obliga a los equipos a definir claramente el objetivo de cada servicio y permitir su reutilización.
Reevolute Builder
‘Reevolute Builder’ es un producto de Reevolute que permite la creación de microservicios de manera gráfica, y la comunicación entre ellos y otras entidades mediante el uso de APIs. Es una herramienta que permite abordar cada uno de los aspectos mencionados en este caso de uso de manera sencilla y sin necesidad de contar con grandes equipos de desarrollo. Permite consolidar una idea rápidamente en una solución digital la que es posible poner a disposición de usuarios/clientes, poniendo a prueba la idea y validando lo hecho bajo métricas establecidas para la solución.