Russell Youngblood Senior Solution Architec OutSystems
Ciudad de México, junio 2023 – Si está a cargo de un departamento de TI, en algún momento se preguntará: ¿Cómo puedo maximizar la productividad de los desarrolladores? Si aún no lo ha hecho, lo más probable es que lo haga muy pronto.
Hoy las organizaciones están sometidas a la presión de innovar y reaccionar con rapidez a los cambios del mercado, lo que supone una carga cada vez mayor para los desarrolladores. Deben producir nuevas soluciones de software en plazos ajustados y trabajar en múltiples proyectos simultáneamente, al tiempo que garantizan que los productos que entregan son estables, seguros y cumplen los requisitos más estrictos de experiencia de usuario.
La escasez de talentos tecnológicos no se detiene (y los costos de los desarrolladores aumentan), por lo que es fundamental que maximice la productividad de su equipo de desarrolladores para satisfacer estas demandas.
Cono ejemplo de lo anterior la Encuesta de Escasez de Talento 2022 de ManpowerGroup, señala que México se ubicó en un 74% de escasez de talento, y señaló que actualmente cubrir puestos digitales es difícil para 6 de cada 10 empresas, mientras el Banco Interamericano de Desarrollo (BID) estimó un déficit de más de un millón de programadores en América Latina para 2025.
¿Qué es la productividad de los desarrolladores y como medirla?
La productividad del desarrollador se refiere a su capacidad para completar tareas en un plazo determinado con eficacia. Se trata de entregar software de alta calidad a un ritmo rápido, construirlo bien y para el futuro. Definir “productividad” es sencillo. Lo que no es cómo medirla. Se trata de una cuestión importante al dar seguimiento del progreso, identificar áreas de mejora y tomar decisiones informadas.
Algunos buscan métricas como el número de horas que dedica el equipo, el número de líneas de código que escriben y el número de errores que corrigen. Pero estas métricas estrictamente “cuantitativas” no le llevarán muy lejos. Es mejor dar un paso atrás y comprender el resultado que busca al mejorar la productividad de los desarrolladores.
DORA, una división de investigación de Google Cloud, describe las organizaciones de alto rendimiento como aquellas que demuestran excelencia en la entrega de software y el rendimiento operativo. Esto puede medirse en función de cuatro métricas que, en mi opinión, también son una excelente forma de medir la productividad de los desarrolladores:
- Frecuencia de despliegue del código en producción.
- Tiempo de espera para implementar y desplegar los cambios de código.
- Tiempo medio de recuperación (MTTR) que tarda el sistema en recuperarse de fallos o incidencias.
- Porcentaje de fallos en los cambios que dan lugar a un despliegue fallido o que requieren corrección.
Estas métricas indican la capacidad de las organizaciones para ofrecer rápidamente nuevas características y funcionalidades, con un menor riesgo de fallos o tiempos de inactividad. Esto, a su vez, permite a los desarrolladores ser más productivos y centrarse en crear nuevas funciones en lugar de corregir errores o resolver problemas operativos.
Son varios los factores que influyen en la productividad de los desarrolladores. El mayor error que cometen las organizaciones es pensar que sólo es el elemento humano: la capacidad de su equipo para entregar más y más rápido. Esto está lejos de la realidad.
En la productividad influyen múltiples factores, como las habilidades, el entorno de trabajo e incluso la motivación. Pero, según un estudio de McKinsey, lo que más influye son las herramientas a las que tiene acceso su equipo. Yo diría que el principal obstáculo es la complejidad tecnológica que impiden innovar a los equipos por lo siguiente:
Desarrollar código es difícil, ya que los datos y las capacidades que necesitan los desarrolladores están dispersos en múltiples sistemas.
Los desarrolladores tienen que trabajar en un mundo complejo de integraciones y API, una empresa media tiene 254 aplicaciones SaaS con las que tienen que tratar y de las que tienen que consumir datos para crear experiencias para clientes y empleados.
La nube requiere conocimientos técnicos profundos y especializados, los desarrolladores tienden a utilizar servicios multi-nube que requieren un profundo conocimiento técnico de los servicios que existen, lo que hacen, cómo funcionan y cómo se pueden combinar para generar servicios compuestos o resolver un problema empresarial.
Los desarrolladores hacen algo más que codificar, según IDC1, la mayor parte del tiempo se dedica a tareas no relacionadas con el propio acto de desarrollo. Se dedica a CI/CD, actividades operativas, pruebas y seguridad y sólo el 16% del tiempo se dedica a la codificación. Para maximizar la productividad las organizaciones deben empezar a invertir en tecnología que permita a sus equipos centrarse en la creatividad y en producir realmente innovación.
Cómo el low-code aumenta la productividad de los desarrolladores
La plataforma low-code adecuada puede ayudar a los desarrolladores a eliminar residuos y gastos generales, de modo que puedan crear más aplicaciones sin perder poder y control sobre su código. Este es el caso de la plataforma low-code de OutSystems. La empresa ofrece una plataforma de desarrollo low-code de alto desempeño que permite a las organizaciones construir aplicaciones web y móviles de 5 a 8 veces más rápido que las formas tradicionales de construcción de software. En OutSystems, hemos asumido la misión de hacer que los desarrolladores sean 100 veces más productivos.
1Source: IDC – Worldwide Development Languages, Environments, and Tools Forecast, 2021-2025