El siglo XXI ha sido testigo de una revolución tecnológica sin precedentes, marcada por la digitalización y la automatización. En este contexto, las empresas se enfrentan al desafío constante de adaptarse a las rápidas transformaciones para mantenerse competitivas, y este hecho no ha hecho sino acelerarse con el advenimiento de la Inteligencia Artificial.

Por otro lado, los negocios de todos los sectores dependen críticamente de diversas aplicaciones de software. Estas herramientas no solo optimizan operaciones sino que también abren nuevas vías para la interacción con clientes y la expansión hacia mercados no explorados.

Y cómo construir estas aplicaciones también está evolucionando a una velocidad increíble. Para el 2025, se espera que más del 35% de todas las aplicaciones empresariales sean nativas de la nube. Este cambio de paradigma refleja la necesidad de mayor escalabilidad, flexibilidad y eficiencia en el desarrollo y despliegue de aplicaciones. Y debemos sumar a esto el paradigma del low-code y el uso de Inteligencia Artificial.

Esta nueva realidad, mucho más compleja y acelerada, hace que el proceso de desarrollo de software sea cada vez más complejo. Las fábricas de software tradicionales se han centrado en la producción sistemática y eficiente de software, utilizando procesos estandarizados. Estos modelos han sido fundamentales para reducir costos y mejorar la calidad del software entregado.

Sin embargo, en un entorno de fábrica de software tradicional, generalmente se espera que los clientes proporcionen lo siguiente:

  • Especificaciones detalladas del proyecto.
  • Objetivos y expectativas claros por parte del negocio.
  • Plazos y presupuestos definidos.
  • Criterios de aceptación y pruebas claramente definidos.

El gran problema es que es cada vez más común que los clientes no puedan cumplir con estos requerimientos.

¿Qué demandan los clientes?

¿Qué demandan los clientes? En una palabra: Agilidad. ¿Y qué es agilidad? En el contexto de agilidad empresarial y, particularmente en el desarrollo ágil de software, la agilidad requiere tomar en cuenta múltiples factores, desde la experiencia del cliente (las motivaciones correctas, ¿por qué estamos desarrollando esta solución?), asegurándonos de diseñar lo correcto usando técnicas como el design thinking. Lo diseñado, que debe construirse con una filosofía Lean, empezando por un MVP y pivotando cuando sea necesario, debe construirse y desplegarse ágilmente utilizando microservicios, contenedorizados y en la nube.

¿Entonces, cómo enfrento un proyecto de desarrollo?

Una matriz muy conocida para seleccionar como hacerlo es la siguiente:

 

El gráfico proporciona una guía estratégica sobre qué metodologías de gestión y desarrollo de proyectos aplicar en función de la familiaridad con los problemas y las soluciones dentro de una empresa. Para los aspectos del negocio que son desconocidos (llamémoslos exploratorios), ya sea en términos de problema o solución, las metodologías que favorecen la experimentación y la adaptabilidad, como Lean Startup y Agile-Scrum, se colocan en la parte superior del gráfico.

La mayor parte de los requerimientos más importantes del negocio suelen ser complejos y no están completamente definidos desde el inicio, y esto los sitúa justamente en la parte superior de nuestro gráfico estratégico.

Por otro lado, en los cuadrantes inferiores se sitúan los problemas que son familiares y las soluciones bien entendidas. Aquí es donde los enfoques tradicionales tienen su fortaleza.

Estos cuadrantes inferiores representan entornos estables, donde las expectativas son claras y los procesos bien establecidos pueden conducir a resultados predecibles y eficientes. Aquí, las empresas pueden confiar en estas metodologías probadas y verdaderas para entregar valor de manera constante, aprovechando la experiencia acumulada y las mejores prácticas establecidas.

El camino hacia adelante

Entonces, lo que necesitamos es un enfoque flexible y estratégico donde cada proyecto debe evaluarse. Aquellos de carácter más exploratorio (los situados en los cuadrantes superiores) deben utilizar técnicas de design thinking con un enfoque Lean, utilizando Scrum, y aquellos proyectos relacionados con el mantenimiento de sistemas conocidos, proyectos de mejora continua, etc., pueden afrontarse con enfoques más tradicionales.

Tan importante como definir la estrategia es definir al partner con quien trabajar y el modelo de contratación. Si nos vamos a mover en los cuadrantes exploratorios, debemos buscar un partner que nos pueda acompañar en dicha exploración y que tenga la flexibilidad de moverse dentro de los cuadrantes de manera natural.

Y finalmente, y probablemente este sea el factor más importante, la empresa debe adoptar las prácticas y la madurez cultural que le permitan entender que no todos los proyectos de desarrollo son iguales y que deben afrontarse con estrategias, partners y modelos de contratación diferentes.

Xavier Santoro

Scroll to Top