Desarrolladores Ciudadanos, necesidad a futuro para las empresas
Las cosas no pueden seguir así por mucho más tiempo. Los desarrolladores son un talento muy demandado en el mercado laboral por su capacidad de escribir código y, por consiguiente, de desarrollar nuevos servicios digitales. Pero esta gran demanda los ha convertido en una auténtica rareza, una especie de bien escaso, lo que está resultando ser un problema para muchas empresas, que además se prevé que se agravará en el futuro. El Desarrollo Ciudadano (Citizen Development) es un (nuevo) enfoque que permite a las empresas crear, a partir de nuevas ideas y conceptos, aplicaciones aptas para el mercado a pesar de esta escasez de desarrolladores. Descubre en este artículo en qué consiste exactamente y cuáles son sus ventajas.
No es difícil imaginar las consecuencias que puede tener para una empresa de software el dejar de desarrollar software: falta de nuevas versiones, ausencia de nuevos productos, huida de usuarios a la competencia, pérdida de ingresos y, en definitiva, la pérdida de relevancia en el mercado. ¿Pero se puede aplicar la misma ecuación a empresas cuya actividad principal no es el desarrollo de software? La respuesta es sí.
El desarrollo de software es ya una disciplina clave en cualquier sector
Sea cual sea el modelo de negocio, en las actualidad las empresas necesitan trabajar con eficiencia, ofrecer una experiencia de cliente excelente y adaptar constantemente los productos y servicios a las condiciones cambiantes del mercado. Y actualmente ya no se puede hacer frente a estos desafíos sin la participación directa e intensiva del departamento de IT. Esto afecta a los procesos internos, por ejemplo las aplicaciones que permiten el flujo de datos entre diferentes departamentos o sistemas, pero también a los procesos con fines externos, como probar nuevas ideas de negocio o aplicaciones para determinados proyectos centrados en el cliente. Por este motivo, el desarrollo de software se ha convertido en una disciplina clave a nivel multisectorial.
Las altas cargas de trabajo están poniendo a prueba al departamento de IT
Ahora mismo para cualquier compañía es crucial que el departamento de IT pueda hacer frente a la elevada y creciente demanda de desarrollo de software. Pero esto plantea grandes problemas para muchas empresas. En el pasado, por diversas razones, el equipo de IT interno no solía llevar a cabo el desarrollo de software, sino que se subcontrataba a socios externos. Como consecuencia, poco a poco se iban perdiendo los conocimientos técnicos existentes sin que tampoco se sustituyeran por nuevos conocimientos técnicos a nivel interno. Esto ha derivado en que siga siendo necesario recurrir a socios externos a pesar de haberse reconocido que el desarrollo de software debe convertirse en una competencia básica. Con todo, también así pueden darse cuellos de botella y problemas si, por ejemplo, las empresas subcontratadas están a máxima capacidad, no aceptan proyectos pequeños o no tienen la experiencia necesaria en el mercado del cliente. Como consecuencia, se pierde un tiempo importante mientras las ideas innovadoras y las medidas planificadas desde hace tiempo quedan “en espera”. El resultado: menos eficiencia en la empresa, menos innovación y menos éxito en el mercado.
Las cifras lo confirman: es necesario un nuevo concepto de desarrollo de software
Me he encontrado con esta problemática al tratar con nuestros clientes. Ellos mismos suelen ser conscientes de lo que se debería cambiar para poder trabajar con más eficacia, y saben qué productos o servicios digitales se demandan actualmente. Sin embargo, la falta de especialistas en IT y las restricciones presupuestarias hacen a menudo inviables sus proyectos de digitalización. Los estudios y encuestas actuales corroboran el problema: un artículo publicado recientemente en The Economist afirma que solo una de cada 125 personas de la población activa domina los lenguajes de programación. El resultado, según los autores del artículo, es un déficit de 1,4 millones de programadores, una tendencia que va en aumento. McKinsey muestra las consecuencias de esto: las empresas tardan meses en lanzar productos o servicios y los directivos tienen problemas para llevar las nuevas ideas de negocio al mercado.
El Desarrollo Ciudadano democratiza el código
¿Pero qué pasaría si, no solo una élite limitada de especialistas, sino todos los empleados pudieran desarrollar software? Así es precisamente como The Economist titula el artículo citado anteriormente: "What if all workers wrote software, not just the geek elite?" (¿Qué sucedería si todos los empleados desarrollaran software, no solo la élite geek?). En tal caso, la estricta ecuación que relaciona los desarrolladores disponibles con el éxito de las empresas en términos de eficiencia y gestión de la innovación ya no sería tan válida. La tendencia del Desarrollador Ciudadano hace que ahora esta democratización del código sea posible, al menos en parte. Me crucé con este término por primera vez en mi antiguo puesto en Pivotal. Teníamos muy claro que, en el futuro, las empresas deberían adquirir más competencias en el ámbito del desarrollo de software para poder seguir siendo competitivas a largo plazo. En mi puesto actual, en mimacom, vuelvo a abordar este tema, especialmente cuando se trata de colaborar con Flowable, nuestro socio tecnológico y proveedor de una plataforma low-code de automatización de procesos de negocio (BPM).
El concepto de Desarrollo Ciudadano es muy sencillo: en las denominadas plataformas low-code o no-code (LC/NC), las personas con ciertos conocimientos de IT pueden desarrollar software por sí mismas, teniendo poco o ningún conocimiento de programación. Utilizando herramientas de tipo arrastrar y soltar, pueden juntar los diferentes bloques para crear una aplicación. En segundo plano los elementos se traducen en código de software. Gracias a estas plataformas el Desarrollo Ciudadano, por ejemplo, el desarrollo de software por parte de un empleado del departamento de negocio con algún conocimiento en IT, aporta una nueva variable a la ecuación. Se abren así nuevas oportunidades para que las empresas implementen y prueben rápidamente las ideas de las distintas áreas de negocio.
El Desarrollo Ciudadano como lenguaje común entre negocio e IT
Para mí, el desarrollo low-code o no-code (LC/NC) es algo así como un lenguaje común entre negocio e IT. Y eso he comprobado que es fundamental a la hora de desarrollar aplicaciones. Si yo, como responsable de la toma de decisiones en la empresa, deseo someter a ensayo una nueva idea de negocio utilizando un producto mínimo viable o, como jefe de equipo, deseo dar forma a un proceso con el que mis empleados puedan trabajar de forma más eficiente, no tengo que esperar a nuestros compañeros del departamento de IT y perder un tiempo muy valioso. Puedo comenzar yo mismo directamente y hacer que nuestros especialistas revisen o reconstruyan la aplicación después de haber llevado a cabo los ensayos con éxito. De este modo, podemos estar seguros de que los recursos del departamento de IT no se malgastan en proyectos que, finalmente, no ofrecen en absoluto el valor añadido necesario, sino solo en aquellos que ya hayan sido probados y realmente resultan viables. Al mismo tiempo, somos mucho más ágiles y ganamos en velocidad desde el punto de vista del negocio.
Ventajas de los Desarrolladores Ciudadanos: más resultados, menos código
Por ello, el concepto de Desarrollador Ciudadano ofrece muchas ventajas:
- Resultados más rápidos: en las plataformas LC/NC, los especialista de negocio pueden dar forma rápidamente a las aplicaciones y, por lo tanto, someter a ensayo ideas, optimizar procesos y lanzar productos al mercado con mayor rapidez. Esto ofrece importantes beneficios.
- Más fácil de implementar: las plataformas LC/NC ofrecen una interfaz fácil de usar que simplifica considerablemente el desarrollo de software. Como Desarrollador Ciudadano pueden desarrollar aplicaciones sin necesidad de contar con grandes conocimientos en IT.
- Soluciones específicas para el mercado: los Desarrolladores Ciudadanos de los departamentos de negocio conocen los requisitos específicos del mercado y pueden crear las soluciones que mejor cumplan con esos requisitos. Así se eliminan los largos ciclos de coordinación y entendimiento entre el departamento de IT y el de negocio.
- Más seguridad en la planificación, menos riesgo: con frecuencia se invierte mucho dinero en grandes proyectos de software. Pero cuando los beneficios esperados no se materializan o resultan ser menores, la decepción es grande. Las mejoras a posteriori suelen ser bastante costosas. Los Desarrolladores Ciudadanos pueden someter a ensayo ideas innovadoras como mínimo producto viable en una fase temprana y con poco esfuerzo. Si el resultado de los ensayos fuera negativo, se pueden llevar a cabo los primeros ajustes o decidir detener el desarrollo posterior antes de recurrir a los ya de por sí escasos recursos de IT.
- Mayor espíritu innovador: al disminuir los riesgos en cuanto a tiempo y costes, disminuye la inhibición a la hora de "probar" ideas innovadoras y fomenta un mayor espíritu innovador en la empresa.
¿El futuro de la programación es no programar?
Hace unos años, uno de los cofundadores de GitHub profetizó que el futuro de la programación consistiría en no programar en absoluto y estoy de acuerdo en que programar "sin programar" será mucho más relevante en el futuro. Pero, naturalmente, no de forma exclusiva, pues seguiremos necesitando expertos de IT con amplios conocimientos en programación para poder desarrollar productos de software complejos. Veo las aplicaciones desarrolladas por los Desarrolladores Ciudadanos más bien como una primera etapa de iteración que, en muchos casos, los expertos en programación deberán "perfeccionar" en etapas posteriores de iteración. No soy partidario de la idea de que ya no necesitamos programadores, pero me parece interesante la idea de utilizar el Desarrollo Ciudadano para garantizar más rapidez y agilidad en el departamento de negocio.
Por mi experiencia y por las conversaciones con nuestros clientes y socios, puedo decir que en el futuro casi ninguna empresa podrá evitar trabajar de forma intensiva con el concepto de Desarrollo Ciudadano si quieren seguir siendo competitivas, aunque esto conlleve retos. Las empresas solo podrán hacer frente a la creciente escasez de programadores si aprovechan mejor el potencial de desarrollo en los departamentos de negocio. Y aquí es donde el concepto de Desarrollador Ciudadano ofrece una solución efectiva.