Soluciones ágiles

Hoy he estado pensando: ¿en qué consiste realmente una solución ágil?

Para dar con una definición adecuada, creo que lo mejor es ir paso a paso:

¿Qué es una solución?

Según explica la Wikipedia, una solución es una respuesta a un problema complejo.

¿Qué es una solución informática?

Podemos definir una solución informática como la aportación -por parte de un proveedor- del hardware, las redes, el software, el soporte técnico, la formación y el mantenimiento. Es decir todo aquello que hace falta para resolver un problema de negocio mediante el uso de la tecnología.

En los 80 y 90, el concepto de solución iba muy asociado al de servicio integral. Algo así como: “Tú me contratas y yo me encargo de todo”.

¿Qué ha cambiado?

Con el desarrollo de la Nube, las soluciones informáticas han cambiado de forma radical. Hoy ya no es necesario realizar grandes inversiones en infraestructura. Desde el minuto uno podemos contar con toda la capacidad de los mayores proveedores de la red.

Lo verdaderamente importante de este cambio no es tanto la tecnología, sino el hecho de que hoy puedo empezar con una solución que requiere muy poca inversión para luego ir creciendo y cambiando con las necesidades del mercado. La reducción de costes e inversiones, así como la capacidad de crecimiento, hacen que la filosofía de uso de las soluciones también sea muy diferente.

¿A qué llamamos “solución ágil”?

Llamamos solución ágil al conjunto de software, hardware y servicios que permiten a un usuario utilizar una aplicación:

  • de la que solo conoce la URL
  • en la que no tiene que preocuparse por la infraestructura técnica asociada: la aplicación que presta el servicio, el hardware, las redes, el mantenimiento, los backups (las copias de seguridad)
  • y que, sobre todo, le permite afrontar sin riesgos el difícil problema de la escalabilidad de la solución

En otras palabras, nosotros -los proveedores de soluciones ágiles- nos encargamos de proporcionar al usuario toda esta infraestructura básica en colaboración con nuestro proveedor de hosting.

Una solución ágil es, por tanto, una solución informática integral. Y en este sentido, se parece a las soluciones tradicionales. Pero si profundizamos un poco, encontramos diferencias sustanciales.

Las soluciones informáticas tradicionales son complejas, y requieren procesos de planificación y diseño muy detallados. Es decir, no solo es compleja la solución; también lo son la metodología y el desarrollo del proyecto. Por decirlo de alguna manera, son soluciones basadas en los principios tradicionales de la ingeniería, y están fuertemente orientadas a procesos.

Las soluciones ágiles, en cambio, se basan en el desarrollo evolutivo, mediante iteraciones, y están orientadas al usuario final:

  • No es necesario hacer complejos estudio de diseño y planificación de la solución.
  • El desarrollo de la solución es ágil: es decir, utilizamos herramientas, lenguajes y tecnologías que nos permiten introducir cambios con rapidez.
  • El avance se produce mediante ciclos iterativos que nos permiten adaptarnos, paso a paso, a las exigencias reales de los mercados y de los usuarios
  • Re-evaluamos las necesidades y exigencias de la solución conforme avanza el proyecto
  • El principal valor de la solución se encuentra en la funcionalidad desarrollada y, por encima de todo, en el uso que los usuarios finales hacen de esa funcionalidad

Al final, podemos decir que una solución ágil es el conjunto de hardware, software y servicios que satisface las necesidades del usuario, que normalmente lo hace utilizando la infraestructura de la Nube, y que incluye el soporte, la capacidad operativa y un elemento fundamental: el mantenimiento asociado.

Debemos insistir en que el mantenimiento es clave, puesto que la solución está siempre en evolución. Estos son algunos de los ejemplos típicos:

  • Nuevas funcionalidades no previstas al principio o modificaciones de las existentes.
  • Nuevas máquinas para atender a la demanda o picos de servicio.
  • Cambios en la tecnología de base (versiones, mejoras, etc).

Porque una solución ágil no es una caja que se vende al cliente y ya está. Las soluciones ágiles están en continua evolución, están continuamente en fase beta, o beta perpetua.

Una solución ágil es capaz de evolucionar, de crecer y adaptarse a las demandas de los usuarios finales. Y esto exige un acompañamiento técnico y humano.

Esta entrada fue publicada en Gestión, Metodología. Guarda el enlace permanente. Publica un comentario o deja un trackback: URL del Trackback.

4 Comentarios

  1. Publicado 12/03/2010 en 10:00 am | Permalink

    Muy bueno el artículo. Me llama la atención que, aunque se entrelea en todo el artículo, no haces incapié en que sean soluciones sencillas: el core sin lacitos…

    Por otro lado, sería interesante saber a qué tipo de productos crees que se adecúa más este enfoque ¿a todos? ¿a los relativamente sencillos? ¿a software de control de una nave espacial ;-) ?

  2. Publicado 12/03/2010 en 11:08 am | Permalink

    Hola Lucas,

    Muchas gracias por el comentario. Yo creo que este concepto de soluciones ágiles se adapta sobre todo a desarrollo web, o al menos es donde nosotros lo utilizamos.

    Yo creo que el software de una nave espacial es otra cosa, sobre todo porque corre en condiciones extremas, no puedes reiniciar el servidor en medio del despegue ;-) .

    En cuanto a que la solución sea solo para cosas sencillas eso ya no es así. Son soluciones ágiles, no sencillas. Lo que si es verdad es que empezamos por el Mínimo Proyecto Viable y luego la solución crece de manera ágil.

  3. Oscar
    Publicado 12/03/2010 en 11:56 am | Permalink

    Me ha gustado mucho tu articulo, cada dia intento profundizar más en este tema. ?Me recomendarías alguna lectura, curso o bibliografía?

  4. Publicado 12/03/2010 en 12:03 pm | Permalink

    Hola Oscar,

    Pues la verdad es que sobre desarrollo ágil hay bastante literatura. Centrado sobre todo en programación. Como siempre la Wikipedia es un buen sitio para empezar leyendo la historia del manifiesto ágil.

    Específicamente sobre soluciones ágiles no he encontrado nada, por eso me decidí a escribir este blog.

2 Trackbacks

  1. [...] proponemos el desarrollo de Soluciones Ágiles, y aunque en 48 horas no se ponen de manifiesto las ventajas de estas soluciones lo que si se pone [...]

  2. Por Desafío AbreDatos 2010 Loogic.com el 15/04/2010 a las 11:36 am

    [...] Esto hace unos años era algo impensable pero las tecnologías actuales permiten el desarrollo de soluciones ágiles en tan sólo una pocas horas. Sin comentarios Artículos relacionadosMe recomiendas un [...]

Publicar un Comentario

Tu email nunca será publicado o compartido. Los campos requeridos están marcados con un *

*
*

Puedes usar estas etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

  • @agustincnc