Cómo construir producto digital: No Code, Low Code y Code. Mi experiencia haciendo producto.
Antes de lanzar hay que construir y siempre surgen problemas.
Hola soy Rubén, emprender, el producto digital y el deporte, son mis pasiones, disfruto uniéndolas bajo un mismo proyecto. He montado startups, he trabajado en startups y he estado más de 5 años ayudando a crecer Startups.
Ahora gran parte de mi tiempo se lo lleva NextScenario.com, una herramienta de business analytics para negocios de recurrencia y retail.
Arrancamos nueva temporada a esta newsletter, donde me apetece darle un toque más personal a este newsletter. Voy a seguir compartiendo contenidos sobre temas concretos, pero quiero darle pinceladas con los aprendizajes que vaya teniendo como founder en Nextscenario.
El año pasado fui padre, al principio subestimas el tiempo que te va a llevar esta nueva vida y emprender de nuevo, así que los objetivos y la dedicación fueron un poco por el aire, ahora que Pau, vuela libre a la guarde, le damos otra velocidad a la empresa y a la creación de contenidos.
En el mundo cambiante del desarrollo de producto, existe un debate constante entre el el uso de no code, low codeo enfoques de programación tradicionales para construir soluciones de software.
Cada enfoque tiene sus pros y limitaciones, sus embajadores y detractores. En este artículo contaré mi experiencia
El mundo de la IA, va a pasos agigantados, y hay que reconocer que algo de ansiedad nos ha generado, por el miedo a perdernos la ola, o que nuestros trabajos vayan a ser sustituidos. Pero en verdad, estamos aún muy lejos de eso. La gente buena de producto o en su campo, seguirá teniendo trabajo, siempre habra una necesidad de evaluar que es necesario construir o, siempre ara falta “conectar cajitas” en un proyecto de software.
Entender que tipo software necesita construir cada empresa, es clave para poder lanzar al mercado mejoras continuas.
No Code, Low Code y Code. ¿Qué es mejor para construir software?
No Code", "Low Code", y "Code" son enfoques diferentes para el desarrollo de productos digitales. Cada uno tiene sus características, ventajas y desventajas, dependiendo del nivel de habilidad del desarrollador, la complejidad del proyecto y la velocidad con la que se necesita completar el trabajo. A continuación se explica cada uno de estos enfoques y sus diferencias principales:
No Code: Permite crear aplicaciones sin necesidad de escribir código. Se basa en plataformas visuales que permiten a los usuarios diseñar y desplegar aplicaciones mediante interfaces gráficas, arrastrando y soltando elementos y configurando opciones predeterminadas.
Low Code: Combina el uso de interfaces visuales con la capacidad de añadir código personalizado cuando es necesario. Permite a los desarrolladores trabajar más rápido que con programación tradicional, pero con mayor flexibilidad que en el enfoque No Code.
Code: El programar de toda la vida, implica escribir código de manera manual utilizando lenguajes de programación como Java, Python, JavaScript, C++, React…entre muchos otros. Es el método tradicional y más flexible para desarrollar software.
Cada enfoque es adecuado dependiendo del contexto y las necesidades específicas del proyecto.
Aquí puedes patrocinar tu empresa
Más info patrocinio
Lo primero que debemos hacer es diferenciar entre que necesidad de desarrollo tenemos, front end y back end, ya que las tecnologías, framework y herramientas a utilizar pueden llegar a ser muy distintas.
Frontend:
El frontend se refiere a la parte de una aplicación o sitio web que ve el usuario final y con la que interactúa directamente. Es todo lo relacionado con la interfaz de usuario y la experiencia de usuario.
Tecnologías: Las tecnologías comunes incluyen HTML, CSS y JavaScript y Frameworks y bibliotecas como React, Angular y Vue.js son populares.
Herramientas no code: Webflow, Bubble, Flutterflow.
Backend :
El backend es la parte de la aplicación o sitio web que el usuario no ve. Incluye los servidores, dev ops, bases de datos, y aplicaciones que procesan la lógica de negocio.
Se centra en el funcionamiento interno de la aplicación, como la gestión de bases de datos, la lógica de negocio, la arquitectura de la aplicación y la seguridad de los datos.
Se requieren habilidades en programación, gestión de bases de datos, arquitectura de sistemas, y comprensión de APIs y servicios web.
Las tecnologías comunes incluyen lenguajes de programación como Python, Java, Ruby, y PHP, Node. Es necesario tener conocimientos de gestión de bases de datos como MySQL, PostgreSQL, y MongoDB… servidores y arquitectura en AWS(Amazon Web Service), Google Cloud, Digital Ocean.
Para que os hagáis una idea de la importancia de esta parte, esta es la facturación y en en el margen de AWS respecto al total de ingresos de Amazon:
Cómo no code en backend podemos encontrar plataformas de conexión de datos como Make o Zapier, aunque también tienes funciones de low code.
En resumen, el frontend se ocupa de la interfaz y la experiencia del usuario, mientras que el backend se centra en la lógica de la aplicación, el procesamiento de datos y la interacción del servidor. Ambos son cruciales para el desarrollo web y necesitan comunicarse entre si.
Herramientas No Code
Una vez explicado esto podemos hablar de las herramientas no code en detalle.
El principal problema de las herramientas no code es que suelen ser herramientas, de las que si quieres tener cierta lógica de negocio, tienen muchas limitaciones.
Todos sabemos que se pueden hacer muchas cosas con Make o Zapier, pero hay no puedes desplegar un pipeline de transformación de datos medio decente, por ejemplo.
Ahora vamos a ver que opciones de desarrollo tenemos para abordar un proyecto de software. Las plataformas sin código han ganado una inmensa popularidad por sus interfaces fáciles de usar y características de arrastrar y soltar, permitiendo incluso a aquellos sin un background técnico construir aplicaciones.
Pros:
Facilidad de Uso: La mayor ventaja de las plataformas no code es su facilidad de uso. Permiten a usuarios no técnicos crear aplicaciones sin escribir una sola línea de código.
Velocidad: Estas plataformas pueden reducir significativamente el tiempo de desarrollo, permitiendo a las empresas lanzar sus productos rápidamente. En teoría.
Coste-Efectividad: Las soluciones sin código pueden ser más económicas o rápidas dependiendo del proyecto.
Contras:
Personalización limitada: Mientras Pueden funcionar para fases iniciales, testeos rápidos o aplicaciones sencillas. A menudo carecen de la flexibilidad necesaria para soluciones más complejas y personalizadas.
Preocupaciones de escalabilidad: A medida que el negocio crece, una solución sin código podría tener dificultades para escalar eficientemente.
Dependencia de la plataforma: Los usuarios a menudo dependen de los de la plataforma para actualizaciones y mejoras.
Desarrollo Low Code
El desarrollo low code encuentra un equilibrio entre el no code y la programación tradicional, ofreciendo un nivel de personalización más sofisticado mientras sigue siendo accesible.
Pros:
Desarrollo Rápido: Las Low code facilitan un desarrollo más rápido, gracias a módulos preconstruidos, conexiones al back preestablecidas e interfaces fáciles de usar.
Mayor Flexibilidad: Ofrecen más opciones de personalización en comparación con las soluciones sin código, haciéndolas adecuadas para proyectos más complejos.
Facilita ciertas tareas: Las plataformas de bajo código pueden liberar a los desarrolladores de tareas mundanas, permitiéndoles concentrarse en aspectos más complejos de la aplicación.
Contras:
Problemas de Rendimiento: Las aplicaciones construidas en plataformas de bajo código a veces pueden sufrir problemas de rendimiento, especialmente si necesitan manejar grandes volúmenes de datos o procesos complejos.
Bloqueo del Proveedor: Similar al no code, existe el riesgo de quedar atrapado en el ecosistema de un proveedor específico.
Control Limitado: Aunque ofrecen más flexibilidad que las plataformas sin código, siguen teniendo limitaciones.
Las herramientas más potentes en cuanto a opciones de personalización de código, suelen tener un diseño del front un poco más limitado.
Programación Tradicional (Code)
La programación tradicional, o "full code", es el método más flexible y potente para construir software, pero debes de tener en cuenta:
Pros:
Personalización Completa: Ofrece control total sobre la aplicación, desde la interfaz de usuario hasta los procesos de backend.
Escalabilidad y Rendimiento: Las aplicaciones construidas a medida pueden optimizarse para el rendimiento y suelen ser más escalables. También se pueden construir mojones que no escalen.
Capacidades de Integración: Permite amplias capacidades de integración con otros sistemas y tecnologías.
Contras:
Consumo de tiempo: Requiere más tiempo para el desarrollo en comparación con las soluciones.
Requiere experiencia: Este enfoque exige un alto nivel de experiencia técnica, lo cual puede ser una barrera para algunas empresas.
Costes más Altos: Puede ser más costosa, tanto en términos de desarrollo como de mantenimiento. Pero los sobrecostes de proyectos suelen venir por construir demasiadas cosas cuando no las necesitamos.
¿Qué Enfoque es Mejor para Construir un SaaS?
Vale ahora ya que hemos hablado de los diferentes software(por encima) y posible soluciones, vamos a ver cuál es el mejor enfoque para un proyecto.
¿Que enfoque es mejor para construir un SaaS? La respuesta es, que depende de varios factores:
Objetivos de la empresa: Vamos a construir una gran empresa o un site project para probar una estrategia o ganarte unos euros. ¿Hemos validado la solución previamente?
Conocimientos previos: Tienes conocimientos, no solo para poderlo implementar tu, sino para liderarlo, decidir cómo o no hacer las cosas. ¿Tienes los contactos de confianza para que te apoyen en el desarrollo?
Presupuesto: ¿Qué presupuesto tenemos?
Tiempo: Cuánto tiempo contamos para el desarrollo?
Complejidad técnica del proyecto:
Para Aplicaciones Simples: Si el objetivo es lanzar rápidamente una aplicación simple con una inversión mínima, las plataformas sin código podrían ser la mejor opción. Sirve para validar, luego lo tendrás que desechar.
Para Proyectos de Complejidad Media: Las plataformas low códe son ideales para proyectos que requieren un equilibrio entre velocidad y personalización.
Para Aplicaciones Complejas y Escalables: La programación tradicional sigue siendo el enfoque predilecto para construir aplicaciones SaaS, altamente escalables que requieren una extensa personalización y capacidades de integración.
Esto es la teoría, decide en que situación te encuentras tu, a continuación te cuento la mia.
Mi Experiencia con no Code, Low Code y Code.
Esta ha sido mi experiencia construyendo Nextscenario.com, herramienta de business intelligence.
Lo primero que debemos hacer es dividir las necesidades, cuando construyes un Saas, tienes que diferenciar entre lo que es tu producto y tus webs para captar.
Para construir un web para marketing y ventas: Sin duda a día de hoy, no tiene sentido construir una web de captación o información desde cero. Para este caso, el uso de plataformas cómo Worpress o Webflow no tienen discusión.
Webflow
Webflow es una plataforma no code prominente, diseñada principalmente para la creación de sitios web y aplicaciones web.
Características Clave:
Interfaz Visual: Permite a los usuarios diseñar y desarrollar sitios web visualmente, sin necesidad de escribir código.
Responsive Design: Ofrece herramientas avanzadas para crear diseños responsivos que se adaptan a diferentes tamaños de pantalla.
Integraciones: Se integra con otras herramientas y plataformas, como Google Analytics, Zapier y sistemas de gestión de contenido (CMS).
Usos:
Utilizado para prototipos rápidos de sitios web y landing pages, como sustituto de wordpress.
En nuestro caso para la web elegimos Wordpress, con un framework optimizado para Seo(hemos hecho el cambio recientemente).
Ahora si, vamos con el producto propiamente dicho. Estos son los requisitos de partida:
Experiencia: Hace algo más de 10 años, que fui desarrollador backend, por lo que tengo algo de visión sobre la arquitectura y con un poco de ayuda, de amigos y de copilot, he podido seguir desarrollando esta parte. En cambio para el front y javascript soy un negado.
Necesidades del Proyecto: En Nextscenario tratamos con datos, por lo tanto es un servicio que utiliza muchas llamadas a apis, bases de datos, procesos de ETL(Extracción, transformación y carga), ejecución de modelos de datos…y dado que yo hace más de 10 años había sido programador backend esta parte estaba cubierta.
Yo me ocupo de la parte de software del back y de desplegar los servicios en AWS, con un poco de ayuda.
En la parte de transformación y modelado de datos si que tengo un equipo, es la parte core, y es donde hay más recursos. Nuestro stack en el back es: Node, Python, DBT, POSTGRESQL, Firebase para auth.
Esta es la parte donde más horas hay invertidas y es imposible usar no code, casi todo es código, pero si que nos hemos apoyado, con algo de low o de librerías open source para algunos conectores, pero todo lo ha tenido que terminar tocando un programador.
Front
Soy un negado para el front, odio javascript y todos sus frameworks, así que intenté ver si el no code o low code podía ser una solución y evalué las siguientes plataformas:
Webflow.
Flutterflow
Bubble.
Retool.
Webflow y Bubble
Se quedan bastante limitadsa para hacer llamadas apis y cierta lógica de negocio dentro de la app.
FlutterFlow (Low Code)
FlutterFlow se ubica en la categoría de plataformas low code, y está diseñada específicamente para el desarrollo de aplicaciones móviles.
Características Clave:
Basado en Flutter: Utiliza el framework Flutter de Google, lo que permite crear aplicaciones nativas para iOS y Android.
Interfaz de Arrastrar y Soltar: Permite a los usuarios construir aplicaciones con una interfaz de usuario intuitiva, arrastrando y soltando elementos.
Personalización con Código: Ofrece la posibilidad de insertar código personalizado para funciones más complejas, ofreciendo una mayor flexibilidad que las plataformas no code.
Flutterflow es útil para prototipar rápidamente aplicaciones móviles y desarrollar versiones funcionales sin una inversión significativa .
Que problemas me encontré a Flutterflow:
Diferencias a la hora de hacer un registro con lógica de onboarding.
Dificultad en llamadas apis, con pasos de parámetros.
Me fue útil para para establecer tu sistema de diseño y probar colores, tipógrafias, patrones.
Tiempo y coste:Le dedique unas 2 semanas y tuve un coste de 160 euros de un desarrollador que me apoyo.
Retool (Low Code)
Retool es una plataforma de desarrollo low code enfocada en la creación de aplicaciones internas y herramientas de negocio.
Permiet:
Creación Rápida de Interfaces para aplicaciones internas de la empresa: Permite a los usuarios crear interfaces de usuario y funcionales para aplicaciones internas. Muy limitada para externas, ya que tiene limitaciones de autentificación de usuarios y de las llamadas.
Conectividad con Bases de Datos: Se integra fácilmente con varias bases de datos y API, permitiendo a los usuarios manejar y visualizar datos complejos.
Me pareció brutal para conectar cajitas para aplicaciones internas:
Bases de datos.
Apis.
Servicios de terceros, con muchas integraciones fáciles
Es ideal para empresas que necesitan desarrollar rápidamente herramientas internas, en cambio si tienes muchos usuarios o modelo fremium o free trial, no es viable, ya que puede dar problemas a la hora de autentificar usuarios y peticiones. Muy fea, pocas opciones de diseño, poca usabilidad.
Coste: 2 meses perdidos y 600 euros de desarrollo.
Code con React
Totalmente subcontratado con un equipo de confianza, no surgiero limitaciones, ni complicaciones. Utilizamos el framework de react con muchos componentes ya desarrollados.
Con 1500 euros y 2 semanas de desarrollo, tuvimos el front que necesitamos. Posteriormente ha habido muchas más iteraciones.
Cómo contras, como yo soy un patoso con el front, necesito apoyo externo cada cierto tiempo.
En resumen, cada proyecto tiene sus necesidades. En mi caso, perdí algo más de un mes(no solo en el desarrollo, sino también tiempo de espera de entregables de freelance que apoyaron) en explorar las opciones de no code y low code que explico aquí. ¿Me sirvío para algo? A parte de para escribir esta experiencia, para poco más. En solo 2 semanas y poco más de 1500 euros, tuve el front con código que necesitaba. El back es otra historía, porque es core, donde esta toda la lógica de negocio y por suerte es donde más controlo.
Para que os hagáis una idea, solo en los modelos para Saas (tenemos otros para Ads y Retail) para calcular el MRR, Cohortes, movimientos de mrr y métricas compuestas, se ejecutan más de 30 modelos de datos.
Al final, el éxito de un proyecto SaaS no solo depende de la tecnología elegida, sino también de una visión clara de producto. Construir producto cuesta, pero lo difícil es conseguir ventas.
Tu que opinas. ¿No code, Low code o code?