Ciudadanos desarrolladores y la digitalización de procesos sin programar.

Según la definición de Gartner, los ciudadanos desarrolladores son empleados que crean aplicaciones, para su uso personal o para otros empleados, utilizando herramientas que no están prohibidas en la organización. Son personas (no cargos o roles), que no reportan o dependen del departamento de Tecnologías de la Información y Comunicaciones (TIC o simplemente TI).

El punto clave aquí es justamente que un ciudadano desarrollador no tiene porqué tener formación de informática, computación o programación. Todo lo contrario, se entiende que es una persona de otra área, pero que utilizando herramientas adecuadas, puede crear sus propias aplicaciones para atender necesidades del negocio.

La in – dependencia hacia TI

¿Porqué es tan interesante el concepto de los ciudadanos desarrolladores? Ya hace tiempo – y nada hace pensar de que vaya a cambiar en el corto plazo – que los departamentos de TI tienen muy poco tiempo disponible. Siempre están «atorados» de trabajo, con cientos de pendientes, e intentando cumplir los lineamientos estratégicos de la organización en informática. Y por supuesto, también instalando las nuevas versiones de todo su stack tecnológico, aplicando parches de seguridad, y apagando «incendios» que siempre existen.

Toda esta actividad en los departamentos de TI, deja muy poco espacio para que puedan escuchar nuevas necesidades de los empleados, y aún menos para construir nuevas aplicaciones. Desarrollar (o adquirir) un nuevo sistema es una tarea que demanda mucho tiempo. Y además, una vez que se tiene esa aplicación, hay que darle mantenimiento, instalar actualizaciones, resolver problemas, administrarla, hacer respaldos, etc. Por todo lo anterior, a los departamentos de IT se les hace difícil atender pedidos de nuevas aplicaciones por parte de los demás empleados.

Pero los usuarios del negocio tienen necesidades. Cada vez más. Y si TI no las atiende, serán ellos mismos quienes las atiendan.

De esto se trata el concepto de ciudadanos desarrolladores, personas que deciden «no esperar más» por aplicaciones para sus necesidades. Y se embarcan en construirlas por ellos mismos. Sean que las usarán de forma individual o con sus equipos de trabajo.

A continuación exploraremos las capacidades fundamentales que debe tener un ciudadano desarrollador para crear aplicaciones. Como caso de aplicación concreta, veremos como estos conceptos aplican a la digitalización de procesos sin programar.

Capacidades de los ciudadanos desarrolladores

Cuatro son las capacidades principales que tienen los ciudadanos desarrolladores: entender y poder formalizar un problema de su organización, crear una aplicación para resolverlo, evangelizar a sus equipos para utilizar esa aplicación, y finalmente (pero no menos importante), mejorar la aplicación en función de las observaciones y uso de la misma. Veamos cada una de estas capacidades.

Capacidades claves de los ciudadanos desarrolladores

Entender el negocio

La primera capacidad corresponde a que el ciudadano desarrollador sea capaz de entender el negocio, su función dentro de la empresa, los objetivos perseguidos y cómo una aplicación podría ayudarle a resolver sus problemas para alcanzar dichos objetivos.

A partir de ese entendimiento, es fundamental que los ciudadanos desarrolladores puedan formalizar y describir con precisión esas necesidades y la solución deseada. Un modelo siempre es una abstracción de la realidad, que no contiene todos los detalles, y se centra en los elementos más importantes. El ciudadano desarrollador debe poder hacerlo. Distraerse en detalles o casos de uso que suceden esporádiamente evitará que pueda construir una aplicación útil en un corto tiempo.

Como ejemplo concreto, pensemos en un ciudadano desarrollador que está en una iniciativa de digitalización de procesos sin programar. Debe ser capaz de entender cómo funciona ese proceso en su organización, qué objetivo persigue, qué etapas tiene, quiénes son las personas involucradas en cada etapa y tareas deben realizar, etc. Y luego, deberá construir un modelo de ese proceso, mediante una representación gráfica (formal, por ejemplo utilizando la notación BPMN). A continuación un ejemplo concreto de un proceso Flokzu, para atender las solicitudes de cotización personalizadas. Este proceso podría ser definido por un ciudadano desarrollador que está intentando digitalizarlo y automatizarlo mediante un diagrama gráfico, sin programar:

Proceso de negocios (workflow) digital, en notación BPMN, construido por ciudadanos desarrolladores sin programar.

Crear las aplicaciones

El ciudadano desarrollador debe ser capaz de crear sus propias aplicaciones. Para ello, obviamente, no deberá programar (codificar). Pero tampoco debería requerir conocimientos técnicos, instalar software complejo, o realizar configuraciones avanzadas. Las herramientas denominadas low-code, cumplen todos estos requisitos. Se trata de herramientas los suficientemente intuitivas, que permiten construir aplicaciones de forma sencilla y sin conocimientos avanzados de informática.

Otro punto relevante al crear las aplicaciones es dónde ejecutarán las mismas. No es lo mismo pensar en crear una App que sea descargada e instalada en los teléfonos de las personas, que una que resida en un servidor de la organización, que una que funcione 100% en la nube.

Los ciudadanos desarrolladores por lo general escojen el último escenario: herramientas que ya están disponibles en la nube, y que ejecutan allí.

De esta forma, una vez creada la aplicación, ya está resuelto el despliegue de esa aplicación, y los usuarios simplemente la utilizan.

La agilidad en la creación de estas aplicaciones es clave. Debe ser posible constuirlas rápidamente, para mostrar resultados y ganar apoyo. Pero además, debe ser posible darles mantenimiento evolutivo, incorporar correcciones o mejoras de forma ágil. Este ciclo iterativo deberá repetirse muchas veces a lo largo del ciclo de vida de la nueva aplicación.

Continuando con el ejemplo de la iniciativa de digitalización de procesos sin programar, Flokzu es una herramienta específica para que el ciudadano desarrollador pueda crear rápidamente una aplicación de BPM. Además del flujo de trabajo ilustrado previamente, podrá definir el formulario asociado, las personas que trabajan en cada etapa y las reglas de negocio relevantes. Y luego, simplemente desplegará esta aplicación para hacerla disponible a los usuarios finales.

Evangelizar

Algunos ciudadanos desarrolladores crean aplicaciones para sí mismos, para hacer más eficiente, efectivo o simple su trabajo diario. Otros, las hacen para sus equipos. En este segundo grupo, es vital la evangelización de la nueva aplicación a los demás usuarios.

Las personas tienen inercia, y por lo general prefieren seguir haciendo las cosas como las venían haciendo. Esto no está bien ni mal, es un dato de la realidad. Pero para cambiar esa inercia, debemos hacer una intervención.

Debemos lograr que cambien un comportamiento adquirido. Y que cambien su forma de trabajo para adoptar la nueva aplicación.

Le llamamos Evangelizar a la tarea de comunicar los beneficios de la nueva aplicación, motivar a los demás miembros del equipo para que la utilicen, convencer a los detractores para que al menos no se opongan.

En la medida que la aplicación entregue los resultados esperados, es muy importante compartir esos logros con los primeros usuarios que la adoptaron. Debe ser un festejo compartido. El ciudadano desarrollador se apalancará en este éxito, para lograr nuevos adherentes, sponsors, y hasta apoyo gerencia o presupuesto.

Mejorar.

Una vez que la aplicación está en funcionamiento, la historia no terminó. Al contrario, recién comenzó. Las aplicaciones son vivas, requiere correcciones y evoluciones. El parte fundamental de la tarea de los ciudadanos desarrolladores, corregir los problemas que con certeza aparecerán. Es inherente al software. Lo importante es identificarlos, resolverlos y liberar una nueva versión de la aplicación corregida.

Además, es fundamental definir indicadores para saber si la aplicación está atendiendo los objetivos iniciales (identificados en la primera etapa de «Entender»). Y como estos objetivos pueden cambiar junto al negocio (por cambios en el mercado, en reguladores, internos de la empresa, etc, ), la aplicación también deberá cambiar. A esto le llamamos desarrollo evolutivo, y es necesario para que la aplicación no quede obsoleta en poco tiempo.

Finalmente, se debe participar a los demás usuarios de esta evolución. Que propongan mejoras (luego de utilizar la aplicación por un tiempo prudencial). Esto generará confianza y mayor apego a la nueva aplicación, reforzando el ciclo de mejora continua.

Metodología de construcción ágil

La metodología del ciudadano desarrollador para crear sus aplicaciones deberá ser ágil, y atender tres requisitos clave:

  • Pruebas de Concepto (PoC). Construir rápidamente protipos y versiones que le muestren el concepto funcionando. Aplicaciones sin terminar, pero que incluyen las funcionalidades medulares. El ciudadano desarrollador no es un Ingeniero de Software, es muy importante que pueda ver los resultados rápido para corregir el rumbo si es necesario.
  • Velocidad. El tiempo insumido desde que detecta la necesidad y liberá la PoC debe ser mínimo. Como máximo un par de días. Idealmente, algunas horas. Naturalmente, puede haber situaciones o procesos más complejos que lleven más tiempo. Pero el concepto es claro, la iteracción debe ser muy rápida.
  • Retorno de la inversión. El beneficio de construir la aplicación debe ser visible, y medible. Sea en tiempo ahorrado, mejor atención a clientes, reducción de costos, etc. No se debe construir la aplicación sin saber qué se espera recibir. Recordemos que la aplicación será construida probablemente durante el horario laboral, esa inversión de tiempo debe ser justificable.

Los tres elementos anteriores, son claves para la actividad de Evangelización. Poder mostrar la aplicación (PoC) ayuda a que los demás la entiendan. Hacerlo rápido y poder incorporar las sugerencias recibidas, estimula la participación y apoyo de las personas. Mostrar un retorno de la inversión concreto y tangible ayudará a obtener apoyo de los superiores para la primera, y para las siguientes aplicaciones.

Continuando con el ejemplo de la digitalización de procesos, usando Flokzu el ciudadano desarrollador podrá construir PoC en minutos y mostrar el proceso funcionando. A partir de allí, justificará el tiempo ahorrado al eliminar cientos de mails, interminables planillas Excel, e incluso el trasiego de papeles (con sus costos asociados). Si el proceso involucra clientes o proveedores, probablemente también se mejore su satisfacción.

Impacto en la carrera profesional

Hemos visto en varias empresas de diferentes continentes que utilizan Flokzu, como un ciudadano desarrollador propone y construye una aplicación para la mejora de un proceso de la organización. La aplicación es un éxito, los demás usuarios la adoptan. El ciudadano desarrollador gana el crédito. Pero también se hace evidente que la misma tecnología podría servir para otras aplicaciones. Naturalmente, se le piden a la misma persona, quien gana relevancia y reputación. Al cabo de un tiempo, tiene muchas nuevas puertas abiertas para su desarrollo profesional.

Si la construcción de la aplicación es exitosa, el ciudadano desarrollador tendrá reconocimiento de sus superiores. Probablemente, esto genere un impacto positivo en su carrera profesional.

Además, la experiencia de haber construido su propia aplicación, genera en el ciudadano desarrollador una experiencia muy valiosa para enfrentar nuevos problemas o desafíos en su vida profesional. Sabe que puede utilizar herramients low-code disponibles en la nube, para no depender de terceros y mejorar la eficiencia individual o de su equipo.

Conclusiones

Los ciudadanos desarrolladores son personas no informáticas que construyen sus propias aplicaciones, y así atienden con independencia del departamento de TI necesidades individuales o de sus equipos. En este artículo hemos presentado los pilares fundamentales para que sea exitoso haciéndolo.

Las herramientas low-code son el instrumento adecuado para los ciudadanos desarrolladores. Cuando se trata de desarrollar aplicaciones para la digitalización de procesos de negocios y flujos de trabajo (Workflow), Flokzu es el instrumento exacto.