Saltar al contenido
← Todos los escritos
1 de mayo de 2020 · 12 min de lectura

SaaS vs el desarrollo de software in-house

Publicado originalmente el 1 de mayo de 2020, cuando era fundador en Hubbec y "Experto en SaaS" estaba en mi título. Lo dejo aquí sin editar, como registro. El framework sigue vigente, y creo que importa más hoy que entonces. La respuesta por defecto a la que llega, no construyas, compra SaaS, es la que la IA invirtió. Escribí sobre qué cambió, y qué diría hoy, en Build vs buy, después de que construir se volvió barato.

Diferencias que pueden generar un impacto en la estrategia y el crecimiento de los negocios.

¿Se han preguntado cuál es la base tecnológica de su organización? ¿Cuál es el elemento único y transformador de los servicios que presta? ¿Es el software el elemento único, y si lo es, debería tener un equipo in-house o contratar una empresa externa?

Entendiendo la tecnología como la utilización del conocimiento científico aplicado a una industria para un uso práctico, es evidente que todas las compañías enfrentan un reto importante a la hora del uso adecuado de las tecnologías necesarias para crecer de forma exponencial, y mantenerse en el juego infinito, como lo define James P. Carse en su libro "Finite and Infinite Games", y adoptado más recientemente por Simon Sinek para aplicarlo a entornos empresariales. En este sentido, es de vital importancia identificar para cada empresa el tipo de base tecnológica que le permita la verdadera diferenciación en el mercado. Entre más única, innovadora, y utilizada sea, más cerca estará la empresa de convertirse en un participante dominante del mercado.

En materia de software, para algunas empresas puede ser su base tecnológica, mientras que para otras el software puede ser una herramienta que contribuye a su operación, mas no necesariamente ser su base tecnológica. Tener el software como base tecnológica implica que éste se convierte en el activo más importante de la compañía y sin éste, no se puede generar ingresos.

La diferencia puede ser en ocasiones tan sutil, que muchas empresas confunden por ejemplo, las tendencias digitales con su base tecnológica, cuando en realidad su base tecnológica está alejada de ser un software. Esta confusión puede llegar a ser extremadamente peligrosa en las estrategias corporativas en el mediano y largo plazo, particularmente cuando surge la discusión de tener una fábrica de desarrollo de software in-house, contratar una empresa de desarrollo de software externo, o contratar un Software como Servicio (SaaS por sus siglas en inglés). En este caso se está teniendo una discusión de estrategia de negocio, y de entendimiento de la base tecnológica del mismo.

Por ejemplo, una empresa de transporte terrestre podría estar invirtiendo en la creación de un laboratorio digital para el desarrollo de un software que permita la venta de servicios de paquetería online, y pensar que aquí está su core tecnológico y de innovación, cuando en realidad su core es el transporte, y debería estar pensando en tecnologías de transporte eficiente como tecnologías verdes, o transporte alternativo como drones o inclusive la teletransportación. Tal vez pueda parecer extremo, pero las compañías verdaderamente innovadoras son las que entienden dónde está su core tecnológico y cuál es el camino para impactar en el mercado.

Otro ejemplo común se presenta en el sector financiero. Los bancos, entre otros, están en el negocio de la administración del riesgo de pago de sus clientes, el saber identificar cuánto, cómo, dónde, a qué precio, y a quién prestar. La aparición de muchas fintech que buscaron nichos específicos y convirtieron el canal digital en su core tecnológico, han generado confusión en las entidades financieras, llevándolas a pensar que su core tecnológico también es el canal digital, hasta el punto de pensar que las fintech son sus enemigos. Tal vez deberían pensar en desarrollar metodologías de riesgo basadas en personalidad o ADN, creación de monedas electrónicas, o inclusive la manera de intercambiar valor en la economía.

Como estos ejemplos podría nombrar muchos más, pero al final lo importante es poder identificar si la base tecnológica es el desarrollo de software, una tecnología específica creada a base de software, o es una herramienta que permita el crecimiento pero que no necesariamente sea la base tecnológica de la empresa.

¿Cómo diferenciar si el software es la base tecnológica de una empresa?

Hay varios factores que pueden ayudar a determinar la base tecnológica, no todos son absolutos, pero algunas de las características de las compañías de software como base tecnológica son las siguientes:

Activo principal generador de ingresos. Las compañías de software como base tecnológica tienen como activo principal el software, lo cual se refleja como activo intangible dentro de la contabilidad. Si no existe el software, no existe la compañía. Por ejemplo, Facebook sin su plataforma no existiría. Lo mismo aplica para el caso de Instagram, WhatsApp, Netflix, Spotify, o inclusive para compañías como Visa y Experian, entre muchas otras. Algunos dirían que el activo más valioso de éstas compañías es la red, lo cual puede ser cierto en su etapa madura ya que es su forma de monetizar, pero sin el software no podrían tener la red o generar los ingresos. Sin embargo, esto no es igualmente válido para una heladería que podría seguir vendiendo helados siempre que tenga helados, o inclusive un banco, que podría seguir prestando y llevando su contabilidad en libros físicos como lo hacía desde sus inicios, poco práctico en el mundo de hoy, pero no imposible, porque su activo principal está en sus créditos, lo que realmente le genera el ingreso. Y es aquí donde hay que tener cuidado, ya que muchas personas confunden tecnologías que contribuyen a su operación con una tecnología base, que inclusive se pueden volver necesarias y un estándar mínimo para la industria, pero que siguen sin ser el core de tecnología, por ejemplo, los cajeros automáticos para el sector financiero.

Entendimiento tecnológico a nivel directivo. Otro factor es el entendimiento profundo de la tecnología por parte de los altos directivos (socios, miembros de junta directiva, presidente, vicepresidentes). Una empresa de software como base tecnológica debe tener un gran entendimiento de lo que implica un software en el mediano y largo plazo, y es parte intrínseca de su estrategia. Es muy raro ver una empresa de base tecnológica cuyos fundadores y altos directivos no tengan entendimiento profundo de software. Si dejan todo el entendimiento y las decisiones de tecnología delegadas exclusivamente en un CTO (Chief Technology Officer, el oficial más alto responsable de tecnología en una organización), y no hacen parte de su estrategia y entendimiento profundo, lo más probable es que no sea una compañía de software como base tecnológica.

Discusión estratégica. Las compañías de software como base tecnológica tienen discusiones de estrategia asociadas al software extremadamente relevantes como: la arquitectura a utilizar para garantizar la escalabilidad del producto en el tiempo, el lenguaje a utilizar, o si se deben utilizar múltiples lenguajes para funcionalidades específicas, modelos de integración, qué tipo de nube o infraestructura utilizar, qué servicios integrar, qué tipo de desarrolladores son vitales para la organización, cuál es la estrategia de atracción y retención de los desarrolladores, qué metodologías de trabajo utilizar, qué software de desarrollo es mejor para el propósito, qué tipo de seguridad utilizar, y mucho más. Si estas discusiones no tienen lugar en las reuniones estratégicas de la compañía y con un entendimiento profundo por parte de sus directivos de alto nivel, es posible que la empresa no sea de software como base tecnológica.

Existen muchos otros factores o características, pero al final del día, lo importante es entender cuál es la base tecnológica, y evitar errores como contratar un equipo de desarrollo de software in-house para resolver una tecnología que contribuye a la operación, particularmente si esta tecnología existe en el mercado.

¿Cuándo contratar un equipo de desarrollo in-house?

La respuesta es simple: cuando el software es la base tecnológica de la empresa.

Algunas compañías podrían argumentar que requieren de desarrolladores in-house ya que los software existentes no cumplen con sus requerimientos, otras podrían incluso argumentar que no existe un software en el ámbito que requieren, y que esto se puede convertir en su diferenciador de mercado.

Para el primer argumento, cuando una empresa está contemplando contratar un equipo de desarrollo in-house para desarrollar un tipo de software existente para ayudar a su operación, puede estar frente a un problema de entendimiento de su base tecnológica. El solo hecho que exista en el mercado un software, significa que para la empresa que lo comercializa, ese software es su core tecnológico, y ya tiene una ventaja competitiva en el mercado por las economías de escala que el software pueda tener. El equipo de desarrollo está entrenado en las particularidades del software, y por lo general son software que tienen una arquitectura multi-tenant (que se ajusta a varias empresas) para poder distribuirlo y ajustarlo a múltiples tipos de empresas. Esto significa que la empresa que está contemplando la contratación del desarrollo in-house puede caer en pérdida de valor y recursos en el tiempo, desviación del enfoque estratégico, y pérdida de oportunidad de mercado. Tal vez, una mejor estrategia es adoptar la tecnología existente, y poder moverse rápidamente en el mercado.

Un ejemplo de esto puede ser Salesforce o algún otro sistema de CRM (Customer Relationship Manager, o Sistema de Gestión de Clientes) en el mercado. Es posible que exista una empresa que aún piensa desarrollar su propio CRM porque considera que Salesforce no le ofrece lo que específicamente su negocio necesita y que cree que las funciones que carece Salesforce son su diferencial. Sin embargo, es improbable que la inversión de desarrollo de su propio CRM se mantenga en el tiempo. Esto debido a que se está poniendo a competir el equipo in-house contra una compañía que lleva años de inversión en el desarrollo específico de un software que es su base tecnológica y donde será más ineficiente y costoso el equipo in-house en cuanto a desarrollo, mantenimiento, y actualizaciones futuras. En este sentido una solución de Software como Servicio (SaaS) siempre será superior.

Para el segundo argumento, de que no existe un software que resuelva una necesidad individual de una compañía y que esto puede significar una diferencia de mercado, es importante evaluar, aún en ese escenario, las capacidades del entendimiento tecnológico y las implicaciones que tiene en la estrategia de la compañía. Si no es una empresa con la experiencia en desarrollo de software, en la mayoría de los casos será inclusive mejor contratar a una compañía de software externa, cuya base tecnológica sea desarrollar software, aún por encima del desarrollo in-house.

Pero algo más importante aún, es que eventualmente, ese diferenciador dejará de serlo en el tiempo y llegarán compañías de software que lo adopten como su propia base de tecnología para venderlo y comercializarlo a competidores de la empresa que inicialmente lo consideró, y así el diferenciador de mercado se vuelve un estándar de mercado. En este caso, la compañía de software que lo adopte como su base tecnológica siempre será más eficiente que un departamento interno de desarrollo. Tal vez sea más interesante para la compañía que concibió la idea realizar un spin-off (proyecto nacido como extensión de otro) en una empresa de software y ser inversionista de la nueva compañía, dejándola crecer libremente en el mercado.

Software como Servicio (SaaS), el camino para los software que contribuyen a la operación de las empresas

Cuando las empresas no tienen el software como base tecnológica, su mejor alternativa es utilizar Software como Servicio (Software as a Service, SaaS). A continuación, algunas de las ventajas asociadas al SaaS:

Tiempo. El tiempo es un factor determinante en el posicionamiento estratégico. Es claro que no siempre el que llega primero es el que se mantiene en el tiempo, pero sí le puede dar "momentum" o el impulso necesario para que lo sea. El SaaS por lo general tiene disponibilidad inmediata, no genera tiempo de desarrollo, sus tiempos de configuración son cortos, y por lo general ya tienen diversas integraciones incluidas. El costo de oportunidad es vital para las empresas.

Equipo requerido. No requiere un equipo de desarrollo como se tendría bajo una modalidad in-house. Basta con tener un experto en tecnologías que pueda entender a la organización y cómo implementar las existentes a las necesidades de la empresa.

Costo. El SaaS permite tener un costo individualizado por consumo, bien sea por usuarios, por transacciones, o por suscripción mensual o anual. Esto permite tener certeza de los costos unitarios e inclusive facilitar el detalle para entidades que utilizan costos ABC. Dependiendo del tipo de SaaS pueden ayudar a identificar con precisión el CAC (costo de adquisición de clientes) y el CLTV (el valor de cliente en el tiempo). Las empresas bajan su costo de infraestructura o inclusive pueden llegar a eliminarlo (servidores, procesamiento, actualizaciones, backups, etc). Los SaaS se pueden beneficiar de las economías de escala en cuanto a costo por funcionalidad (inclusive por línea de código), infraestructura, costo unitario de transacción, entre otras.

Alineación con la satisfacción. Esto es muy simple, si el SaaS no funciona o no está alineado a la satisfacción de sus clientes, se termina el servicio, es reemplazable. Las empresas SaaS están forzadas por el mercado a ofrecer un servicio excelente, tienden a bajar sus tarifas o incrementar sus beneficios en el tiempo, buscan procesar cada vez más rápido y ofrecer mejores interfaces y experiencias de usuario. Algunas inclusive están alineadas a los resultados de las empresas que las utilizan.

Adaptabilidad y mejoras continuas. Por lo general los SaaS más robustos tienden a tener servicios paramétricos, lo que permite tener cierto grado de personalización a las necesidades específicas de cada empresa. Entre mayor sea el nivel de parametrización, mayor robustez de la base tecnológica del SaaS, ya que para las SaaS es un desafío tecnológico la flexibilidad. Las empresas también se ven beneficiadas de las mejoras continuas que los SaaS tienen que hacer para mantenerse vigentes en el mercado, así que por lo general siempre contarán con la última tecnología probada en el mercado.

Perfeccionamiento del servicio. Los SaaS tienen la ventaja que múltiples usuarios permiten detectar más rápidamente errores del sistema, o mejoras necesarias, lo que lleva a una plataforma con mayor calidad en menor tiempo.

En conclusión

Es de vital importancia determinar la base tecnológica de la organización. Si es una empresa de software como base tecnológica es recomendado tener un equipo de desarrollo in-house; en caso contrario, SaaS será una solución superior sobre el desarrollo in-house o las empresas de desarrollo de software, para las necesidades de apoyo al core de la organización.

Andrés Ramírez Sierra. Emprendedor tech, experto en servicios SaaS, fundador de Hubbec. Mayo de 2020.