Blog

Por qué los desarrolladores no deberían descartar las plataformas de poco código

Guía indispensable para ser un buen analista-programador. Base de datos

Las plataformas de desarrollo low-code, no-code y las destinadas a los desarrolladores ciudadanos tienen su lugar, pero necesitan la orientación y la supervisión de los desarrolladores profesionales para lograr realmente una verdadera transformación digital de las empresas.

La necesidad por parte de las empresas de contar con nuevas aplicaciones jamás ha sido tan apremiante. Se está exigiendo a las empresas de desarrollo y a los departamentos de informática que encuentren formas más rápidas e innovadoras de desarrollar y dar mantenimiento a un mayor número de proyectos de software y de aplicaciones.

Aunque mejoren los procesos y las herramientas, no es tan fácil de conseguir y todos los que estamos en el sector de la tecnología de la información y la programación profesional lo estamos evidenciando.

Los tres nuevos enfoques propuestos, estrechamente vinculados entre sí -desarrollo low-code o de poco código, desarrollo no-code o sin código y el desarrollo ciudadano- provocan en muchos desarrolladores profesionales un sentimiento negativo, casi de rechazo.

Pero, ¿está justificado? Antes de tomar una postura firme con respecto a estos enfoques, es necesario tomarse unos minutos para entenderlos y darse cuenta de que, con la ayuda de los desarrolladores profesionales y analistas-programadores, podrían funcionar.

Además, si eres programador, es bueno saber dónde fallan estos enfoques, para que tu respuesta negativa esté respaldada por un análisis sólido. Así, la dirección de la empresa no interpretará tu actitud como un mero interés personal o un miedo al cambio.

Por qué a la dirección de la empresa le atraen las plataformas low-code

Muchos equipos de desarrollo (ya sean departamentos de informática o empresas de programación) se enfrentan a tal presión que hace que los responsables de las empresas busquen nuevos enfoques para complementar de alguna manera a dichos equipos de desarrollo. Imaginemos el siguiente supuesto:

  • En una fábrica tenemos que por un lado, tres departamentos están compartiendo hojas de cálculo para hacer un seguimiento de la producción. La validación de los datos en las hojas de cálculo es limitada, y los errores están creando retrasos y problemas de calidad en el trabajo. ¿Puedes hacer un prototipo, desarrollar, probar e implementar una nueva aplicación de flujo de trabajo en unos pocos días que substituya a las hojas de cálculo y mejore la productividad y la calidad del departamento?
  • En otra parte del negocio, se pide a un equipo de operaciones de campo que actualice la información en múltiples sistemas de la empresa cada vez que visita a un cliente. ¿Cuán rápido y de qué manera puede el equipo de desarrollo crear una aplicación móvil que se conecte a estos sistemas y proporcione una herramienta única y fácil de usar para este equipo de operaciones?

Los responsables de las empresas saben que pueden obtener importantes ventajas competitivas cuanto más digitalicen sus operaciones comerciales y cuanto mejor ofrezcan a sus clientes experiencias personalizadas.

Son partidarios de las prácticas ágiles y quieren que las aplicaciones se entreguen lo antes posible, que se aprenda de los usuarios y que las aplicaciones se adapten a las necesidades y oportunidades que vayan surgiendo sin muchas complicaciones.

Muchos directivos, especialmente los CIOs (directores de sistemas de información) y los CFOs (directores financieros), también están preocupados por el coste de desarrollar y mantener las aplicaciones:

  • Quieren reducir el número de plataformas heredadas y aplicaciones propietarias que requieren un soporte continuo.
  • Buscan que sus equipos de desarrollo de software trabajen en aplicaciones que generen ingresos o que proporcionen ventajas competitivas significativas.
  • También quieren asegurarse de que las nuevas aplicaciones sean fiables, escalables y funcionen bien una vez que se desplieguen en los entornos de producción.

Para lograr estos objetivos, los directivos buscan formas ágiles de gestionar el proceso de desarrollo y tecnologías que mejoren la productividad y la calidad del desarrollo de software.

Las empresas de tecnología han respondido a esta demanda proporcionando herramientas y plataformas para facilitar el desarrollo y el apoyo de las aplicaciones.

Por ejemplo, herramientas como los entornos de desarrollo integrado (IDEs) y los editores de código ayudan a los desarrolladores a ser más productivos cuando es apropiado desarrollar una aplicación personalizada en Java, .Net, PHP, JavaScript, Python o cualquier otro lenguaje de programación.

Otras tecnologías tienen por finalidad reducir al mínimo la necesidad de escribir código para desarrollar y mantener aplicaciones. A veces se denominan plataformas de desarrollo de poco código (low-code), sin código (no-code) y de desarrollo ciudadano (citizen-development).

Estas tecnologías suelen funcionar en la nube y proporcionan herramientas para desarrollar aplicaciones, ejecutarlas para casos de uso de producción e integrar las interfaces de usuario, los datos y el flujo de trabajo con otras tecnologías.

A las empresas les interesan las plataformas de poco código porque los desarrolladores pueden centrarse en el desarrollo de procesos complicados y críticos para la empresa, sin preocuparse por la tecnología de desarrollo en sí y los matices de la programación tradicional. El efecto final es que los desarrolladores pueden suministrar aplicaciones con mayor rapidez y, por lo tanto, son más valiosos para la empresa.

Los desarrolladores son objeto de una enorme demanda y existe una escasez, lo que los convierte en un recurso muy preciado para las empresas. Dado que el software se está comiendo al mundo, es clave que las empresas obtengan la mayor capacidad de programación posible, y las plataformas lowcode ofrecen una solución indispensable para superar este desafío.

Varias de estas plataformas de desarrollo existen desde hace más de 15 años y su adopción va en aumento porque muchas más empresas están invirtiendo en el desarrollo de aplicaciones de software y en su digitalización.

Diferencias entre el desarrollo con plataformas de poco código, sin código y el desarrollo ciudadano

Existe mucha confusión sobre la terminología de estas plataformas.

Entornos de desarrollo lowcode

El término plataforma low-code (poco código) implica que se requiere cierto grado de programación para desarrollar una aplicación, por lo que el fabricante de la tecnología en este caso vende una herramienta productiva para el desarrollo de aplicaciones.

Esto podría ser en forma de interfaces de arrastrar y soltar, modelos de programación visual, herramientas de diseño de interfaz de usuario WYSIWYG y otros paradigmas que permiten desarrollar una aplicación en menos tiempo y potencialmente con mayor calidad.

Estas plataformas en muchos casos soportan lenguajes de programación como JavaScript o Java para poder ampliar funcionalidades sin límites.

Las plataformas low-code se diferencian por ir dirigidas a desarrolladores profesionales e incluso a empresas de desarrollo. Las plataformas poco código más complejas que exigen saber programar se dirigen a los desarrolladores de aplicaciones profesionales y tienen por objeto facilitar el desarrollo y hacerlo más productivo y rentable.

Entornos no-code y desarrollo ciudadano

Otras plataformas que requieren muy poco y a veces ningún tipo de código para desarrollar aplicaciones permiten a los usuarios en empresas crear y dar mantenimiento a sus propias aplicaciones.

Estas plataformas se pueden seguir utilizando para crear aplicaciones sofisticadas, pero presentan otras limitaciones y no permiten una digitalización de la empresa sostenible en el tiempo.

Cuando las plataformas van dirigidas a usuarios expertos, estos entornos sin código a veces se conocen como plataformas de desarrollo ciudadano.

Criterios clave a la hora de analizar un entorno lowcode o nocode

Ya hace unas semanas publicamos esta Guía para elegir una tecnología de desarrollo de poco código en la que ya establecimos en profundidad varias pautas o claves a la hora de elegir un entorno de programación lowcode. Aquí simplemente enumeraremos unas cuántas preguntas qué debemos hacernos antes de hacer cualquier desarrollo con este tipo de metodologías de poco código.

Lo principal que hay que tener en cuenta con las plataformas de poco código es si pueden utilizarse para ofrecer los tipos de aplicaciones que necesitan las empresas y los usuarios finales de la mismas, con una experiencia de usuario lo suficientemente buena y creadas en menos tiempo, con menos costes y con menos esfuerzo por parte de los desarrolladores que si se hace lo mismo con una programación a medida desde cero.

Muchas de estas tecnologías están diseñadas para hacer ciertos tipos de aplicaciones empresariales -no se utilizan para programar cualquier cosa como los lenguajes de programación generalistas- y proporcionan funcionalidades pre-programadas para que los desarrolladores puedan configurar las aplicaciones de forma rápida y fácil.

Debemos hacernos las siguientes preguntas:

  • ¿Para qué tipos de aplicaciones permite la tecnología un rápido desarrollo y una ventaja competitiva?
  • ¿Permite la tecnología una experiencia satisfactoria para el usuario, o se tendrá que personalizar con código nativo de todos modos?
  • ¿La integración que proporciona es suficiente para los tipos de aplicaciones contempladas?
  • ¿La experiencia del desarrollador y el conjunto de aptitudes previstas se ajustan bien al modelo de negocio de la empresa que las va a desarrollar?
  • ¿El modelo de alojamiento y las normas de cumplimiento que soporta la tecnología satisfacen las necesidades normativas de los clientes y usuarios de las empresas?
  • ¿Cumple el proceso de desarrollo y el ciclo de vida de las aplicaciones de la plataforma los requisitos mínimos necesarios para el tipo de aplicaciones que podrían llegar a ser desarrolladas?
  • ¿Funciona bien el modelo de costos para las aplicaciones que pretende desarrollar y comercializar?

Cómo deben contribuir las empresas de software al desarrollo de aplicaciones con tecnologías lowcode

Los desarrolladores deberían ayudar a impulsar las soluciones programadas en tecnologías de código bajo por un simple sentido de supervivencia: si no puedes vencerlas, únete a ellas. Si encaja en un tipo de proyecto determinado, ¿por qué no? Los mejores programadores son los que saben elegir qué tipo de tecnología necesitan para cada software.

En el caso de las aplicaciones más sofisticadas, aprender a desarrollar con tecnologías lowcode permite abordar las necesidades de las empresas que de otra forma no se podrían abordar de forma rentable con los enfoques de desarrollo tradicionales.

Las reglas de seguridad de las plataformas de poco código también pueden mejorar la calidad, proporcionar una mejor experiencia al usuario y garantizan en muchos casos tener unas aplicaciones finales más seguras que las aplicaciones desarrolladas con lenguajes de desarrollo tradicionales.

Los desarrolladores también pueden desempeñar un papel importante ayudando a los ciudadanos desarrolladores con buenas prácticas en lo que se refiere a las aplicaciones que se pueden mantener por estos últimos.

Este tipo de plataformas empoderan al desarrollo ciudadano, pero los desarrolladores profesionales de aplicaciones empresariales siguen siendo necesarios en lo que respecta a las prácticas óptimas en el diseño de la interfaz de usuario, la arquitectura de datos, las convenciones de denominación, las pruebas y otras consideraciones de diseño y de análisis del software.

Artículos relacionados: ¿Qué es una plataforma lowcode?, Plataformas lowcode: ¿son para programadores? 

Dejar un comentario