He observado una tendencia extraña en las reuniones de la junta directiva de la empresa . Los vicepresidentes de marketing y ventas vendrán con gráficos, informes y datos ajustados con precisión. El CFO activará un tablero que detalla cada centavo de ingresos y gastos. El jefe de recursos humanos compartirá las métricas de contratación hasta el último empleado. Pero cuando se trata de ingeniería, el elemento vital de cualquier empresa moderna, hay pocos datos, solo una vaga idea de lo que funciona y lo que no.
La realidad es que la eficiencia de la ingeniería y la experiencia del desarrollador siguen siendo una caja negra, incluso en algunas de las organizaciones más avanzadas en tecnología. Y dentro de esa caja acechan ineficiencias a una escala enorme.
He oído hablar de grandes bancos que emplean a decenas de miles de desarrolladores que operan con una eficiencia del 30 % debido a los procesos inflados y al trabajo innecesario . Esto es más que un desperdicio de recursos. Los desarrolladores frustrados renunciaron. La nómina de la empresa cae bajo el peso de los salarios adicionales necesarios para compensar las ineficiencias. Los clientes están atrapados esperando entregas. Teniendo en cuenta el impacto global en la productividad y la producción, este es fácilmente un problema de un billón de dólares.
La buena noticia es que existen formas sencillas y concretas de priorizar la experiencia del desarrollador (DX) y la eficiencia de la ingeniería. He visto los beneficios transformadores de mejorar DX como desarrollador, fundador y director ejecutivo de tres empresas tecnológicas de alto crecimiento. Esto es lo que todo CEO debe saber:
El verdadero costo de un DX deficiente
Cualquier empresa dependiente del desarrollo de software debería estar obsesionada con optimizar la experiencia laboral de los desarrolladores . Las investigaciones muestran que la mayoría de los ingenieros de software dedican más de la mitad de su jornada laboral a realizar tareas tediosas y repetitivas. Ningún ingeniero quiere pasar horas resolviendo un problema que podría ser detectado por la automatización o esperar semanas para obtener la aprobación de otros equipos. Sí, pueden (y lo hacen) pasar a otros proyectos, pero el cambio de contexto aumenta la resistencia y la probabilidad de errores. También es una forma estresante de trabajar.
Un ambiente de trabajo frustrante conduce a una gran rotación , lo que es costoso en cualquier momento, pero especialmente ahora que la demanda de grandes desarrolladores supera con creces la oferta. En los EE. UU., hay alrededor de 162 900 puestos vacantes para desarrolladores de software y ocupaciones relacionadas, según la Oficina de Estadísticas Laborales. A medida que se corre la voz sobre los fracasos de DX de una empresa, el reclutamiento se vuelve difícil, creando una espiral descendente.
Todo esto se traduce en el resultado final, con desarrolladores que ganan un salario medio de más de $120,000, lo que les deja cantidades inactivas para quemar dinero. Peor aún, la ingeniería ineficiente inevitablemente ralentiza el desarrollo de productos. Las empresas de industrias competitivas como la banca, el comercio minorista o la atención médica que no pueden descifrar DX perderán clientes frente a competidores capaces de lanzar aplicaciones, actualizaciones y nuevos productos rápidamente.
El lado positivo es que, dado que la mayoría de las empresas son nuevas en DX, algunas mejoras simples pueden generar beneficios sustanciales. Aquí hay tres formas prácticas de mejorar la eficiencia de sus desarrolladores:
1. Que sea el trabajo de alguien
Podría ser un Oficial de experiencia de desarrollador (DXO), un ingeniero líder o un equipo rotativo, pero necesita a alguien que sea dueño de DX dentro de su empresa. Aquí en Harness, contamos con un Tiger Team que analiza las ineficiencias y recomienda soluciones. Este es un ejemplo reciente: el equipo se enteró de que nuestra base de código era demasiado grande para que los desarrolladores probaran los cambios en sus computadoras portátiles, lo que convirtió una prueba de dos minutos en una excursión de 40 minutos para usar una computadora lo suficientemente robusta. Una vez que identificaron el problema, la solución fue sencilla: Reducir la cantidad de microservicios necesarios en las computadoras portátiles de los desarrolladores para que pudieran usar sus propias computadoras para probar el código.
2. Reúna datos y póngalos en uso
Es bastante irónico que la ingeniería, de todos los departamentos, adolezca de una falta de datos operativos cuantitativos. La mayoría de las empresas saben más sobre la productividad del equipo de ventas que los equipos de ingeniería en el centro de su trabajo. No puede arreglar lo que no ha medido, así que comience reuniendo números concretos. Algunas métricas útiles incluyen la cantidad de procesos automatizados en el flujo de trabajo de su desarrollador, cuánto trabajo puede completar un desarrollador dentro de un período de tiempo determinado y el tiempo de espera entre el inicio y la entrega de un proyecto.
Luego, están las percepciones cualitativas. La mayoría de las empresas confían en los comentarios de las encuestas de experiencia de los clientes y los empleados para asegurarse de que están en el objetivo, pero no hay equivalente para los desarrolladores, y eso es un gran descuido. Utilice encuestas para recopilar datos cualitativos de los ingenieros e identificar cuellos de botella y deficiencias para resolver. Las mediciones de DX pueden incluir métricas como qué tan fácil es ubicar la información, las herramientas o los sistemas que necesitan para hacer su trabajo.
3. Eliminar barreras innecesarias
Las barreras que enfrentan los desarrolladores pueden ser culturales o tecnológicas. Endémica de muchas grandes empresas es una cultura de microgestión y supervisión excesiva. Para los desarrolladores, eso significa perder el tiempo esperando que alguien dé luz verde al progreso incremental. En su lugar, establezca barandillas de alto nivel en torno al costo, la seguridad y la calidad, y dé a los ingenieros rienda suelta dentro de esos parámetros. El proceso simplificado impulsará la creatividad y la productividad y aumentará la satisfacción laboral de los desarrolladores.
Esto va de la mano con la actualización de los propios kits de herramientas tecnológicas de los desarrolladores. Demasiados están atascados usando herramientas y procesos manuales y anticuados o pirateando sus propias soluciones. Es por eso que he trabajado para crear soluciones utilizando la automatización y la inteligencia artificial para permitir que los usuarios creen, prueben, implementen y verifiquen bajo demanda. Por ejemplo, si un desarrollador está trabajando en una función, fusionarla con el código principal puede requerir miles de pruebas, lo que podría demorar horas en ejecutarse. Pero con la automatización inteligente, el mismo proceso puede demorar 20 minutos. Incluso hay automatizaciones que le permiten definir mediante programación sus medidas de seguridad y automatizar las aprobaciones cuando un proyecto cumple con las especificaciones.
Relacionado: Cómo la IA transformará el desarrollo de software
En última instancia, mejorar la experiencia del desarrollador no puede ser un evento de una sola vez. Se necesita atención e iteración constantes para recopilar datos relevantes, eliminar bloqueadores y aumentar la productividad y la satisfacción laboral . Sin embargo, la mejora está al alcance de la mano, y el rendimiento potencial es demasiado grande para ignorarlo.
Sueño que pronto entraré en una sala de juntas y veré un panel de productividad del desarrollador tan completo como el de cualquier otro departamento. Tenemos las herramientas y los datos para desbloquear la productividad , la moral, la eficiencia, la satisfacción del cliente y los beneficios de la innovación. Es hora de liberar a los desarrolladores del trabajo duro para que puedan hacer el trabajo que aman.
Fuente:
Bansal, J. (2022, 17 noviembre). The High Cost of Ignoring Your Software Developers’ Experience in the Workplace (and How To Fix It). Entrepreneur. https://www.entrepreneur.com/growing-a-business/3-easy-ways-to-improve-your-software-developers-efficiency/438040