Software
SaaS
Desarrollo

Impacto del modelo SaaS en el desarrollo de software

El software como servicio (SaaS, en sus siglas en inglés) no solo mejora la forma de proporcionar el software sino también de desarrollarlo, lo que redunda en una mayor satisfacción de los clientes.

software
Créditos: Fotis Fotopoulos (Unsplash)

En los primeros días de la Red no había muchas aplicaciones de Internet. En su lugar, las aplicaciones se escribían en su mayoría para los sistemas operativos Windows, Linux y Macintosh. La "entrega de software" a menudo significaba copiar un código en un servidor o desarrollar un instalador para el Windows de pantalla azul y ponerlo a disposición en un CD-ROM para venderlo en tiendas físicas. De hecho, recuerdo cuando tenías que pagar un dinero extra para que te entregaran el producto en 25 disquetes en lugar de en ese CD-ROM.

Los lanzamientos se hacían con muy poca frecuencia, cada año o incluso cada más. Los ciclos de desarrollo se medían en semanas, en el mejor de los casos, y el tiempo que transcurría entre la detección de un error y la entrega de una solución solía ser de meses. Las versiones eran monolíticas. Una versión tenía que ser lo más perfecta posible, porque las oportunidades de corregir errores eran infrecuentes y difíciles de gestionar.

Ahora todo se mueve más rápido en gran medida gracias a las aplicaciones de software como servicio (SaaS), que constituyen una parte significativa del desarrollo que se realiza hoy en día. Las aplicaciones SaaS suelen tener una API back-end basada en JSON que se comunica con un navegador de algún tipo. También pueden comunicarse con aplicaciones nativas en teléfonos Apple y Android, pero, cada vez más, el dispositivo en el que se ejecuta una aplicación se está volviendo más irrelevante.

Independientemente del front-end, todo el enfoque supone un cambio drástico respecto a la aplicación clásica distribuida en Windows o Mac. Las aplicaciones SaaS pueden arreglarse, actualizarse y desplegarse en minutos en lugar de meses. El SaaS ha cambiado fundamentalmente la forma en que se desarrolla y entrega el software.

Entonces, ¿por qué las aplicaciones SaaS se han vuelto tan deseables y exitosas? Existen cuatro razones: los equipos de desarrollo controlan toda la ejecución del código; el código se ejecuta en un entorno estrictamente definido y muy controlado; la entrega puede ser inmediata y frecuente; y los equipos pueden observar cómo sus clientes utilizan el software.

 

El código es de todos

En el mundo cliente/servidor, escribíamos y compilábamos el código dentro de la empresa, pero luego lo distribuíamos en el exterior, donde se ejecutaba en quién sabe qué máquinas, sistemas operativos y configuraciones. Por supuesto, todo se ejecutaba en Windows y Mac, pero esas máquinas eran todas diferentes, y teníamos poco control sobre cómo se ejecutaba el código o cómo se configuraba la aplicación. Si tenías muchas parametrizaciones de la aplicación, los usuarios podían configurarla de formas que nunca habías considerado o que ni siquiera creías posibles. 

Con la llegada del SaaS, no se libera el código de forma salvaje. El back-end de una aplicación SaaS se ejecuta totalmente bajo nuestro control y en entornos que configuramos, regulamos e incluso alteramos según sea necesario. El código del front-end también reside en nuestros servidores, se entrega a petición y se ejecuta en un número limitado de navegadores web.

 

Un entorno estrictamente definido

Sí, hay muchos navegadores, pero el número es finito, y además estos son, en su mayor parte, un entorno conocido y comprobable. Las aplicaciones SaaS solo se encuentran con un número limitado de entornos de ejecución, y esto permite a los equipos de desarrollo realizar un trabajo de pruebas más exhaustivo que el que podrían realizar en el modelo de distribución clásico. 

Siguen existiendo problemas con la variedad de teléfonos Android que hay pero, cada vez más, los desarrolladores entregan su aplicación en soluciones basadas en el navegador, lo que reduce la preocupación por la multitud de dispositivos físicos diferentes que ejecutan muchas versiones distintas de su software. 

Y ahora que Internet Explorer ha pasado a mejor vida, los navegadores restantes hacen un trabajo bastante bueno en la implementación de los estándares que hacen que el desarrollo de aplicaciones web sea más fácil cada día.

 

Entrega inmediata y frecuente

Las aplicaciones SaaS acaban con el miedo a entregar a los clientes un error desconocido y que les impida solucionarlo durante semanas o meses. Los días en que se lanzaba un parche para un producto instalado han pasado a mejor vida. En su lugar, si un error catastrófico se abre camino a través de la cadena de desarrollo y llega a la producción, puede conocerlo tan pronto como ocurra. Puede tomar medidas inmediatas (volver a un estado bueno conocido o desactivar un indicador de función) prácticamente antes de que sus clientes se den cuenta. A menudo, puede solucionar el error y desplegar la solución en cuestión de minutos en lugar de meses.

Y no se trata solo de bugs. Ya no hay que mantener las nuevas funciones como "inventario", a la espera de la siguiente versión importante. Antes, si se creaba una nueva función en las primeras semanas después de un lanzamiento importante, esa función tenía que esperar potencialmente meses antes de ponerse a disposición de los clientes. Ahora, una aplicación SaaS puede suministrar una nueva función inmediatamente a los clientes cuando el equipo diga que está lista.

 

Totalmente observable

Dado que una aplicación SasS se ejecuta en un conjunto limitado de navegadores, es mucho más fácil observar lo que ocurre en el entorno de ejecución. Herramientas como Datadog y Dynatrace permiten observar y rastrear todo lo que sucede dentro de una aplicación. La supervisión de errores con herramientas como Rollbar puede informar de los problemas y las incidencias del cliente a medida que se producen, lo que reduce drásticamente el tiempo medio de detección. 

La observabilidad se convierte así, de hecho, en algo en tiempo real, en lugar de ser algo que ocurre indirectamente cuando los clientes informan de los problemas. Las aplicaciones se ejecutan en dispositivos conectados a Internet, ya sea un ordenador con un navegador o un dispositivo móvil, y por tanto pueden informar fácilmente de los problemas, de cómo se está utilizando la aplicación y de lo que ésta hace.

 

Mayor conocimiento del cliente

En el mundo cliente/servidor, las empresas de software tradicionales tenían dificultades para saber quiénes eran sus clientes, y mucho menos qué hacían con el software y con qué frecuencia lo utilizaban. Uno podía literalmente comprar un software, instalarlo y utilizarlo sin que nadie más supiera que lo estaba haciendo. 

Las aplicaciones SaaS les permiten ver prácticamente todo lo que sus clientes hacen con el software. Los datos de los clientes se almacenan en los servidores de las empresas , que pueden saber lo que están haciendo ahora y el historial de lo que han hecho en el pasado.

No se trata de un 'Gran Hermano' vigilando, ni de una amenaza a la privacidad de los clientes. Las aplicaciones SaaS no tienen la costumbre de almacenar información personal identificable. Más bien, la supervisión del comportamiento de los clientes permite a las empresas de SaaS colaborar más estrechamente con ellos y trabajar para ayudarles a ver el valor real de sus productos examinando sus patrones de uso y sus datos.

Como resultado, pueden agregar la actividad de los clientes y enfocar el desarrollo en las áreas que muestran un alto uso. Pueden ver cómo los clientes utilizan o no el producto, ayudarles a utilizarlo mejor, señalar dónde utilizan las mejores prácticas y dónde no, adaptar sus esfuerzos a los clientes que necesitan ayuda y emplear su tiempo de forma más productiva. 

Saber quiénes son los clientes y cómo utilizan los productos es información de oro, y las aplicaciones SaaS permiten hacerlo. Esto conduce a mejores resultados para el negocio y para los clientes. SaaS no es solo una forma mejor de suministrar software, sino una manera más óptima de satisfacer las necesidades de los clientes.

 


TE PUEDE INTERESAR...

Forma parte de nuestra comunidad

 

¿Te interesan nuestras conferencias?

 

 
Cobertura de nuestros encuentros
 
 
 
 
Lee aquí nuestra revista de canal

DealerWorld Digital