Por qué debería invertir en una buena experiencia de desarrollador

Por qué debería invertir en una buena experiencia de desarrollador-annie-spratt-QckxruozjRg-unsplash

En este artículo, se comparten las razones para invertir en la Experiencia del Desarrollador (DX) y los enfoques clave para preparar a su equipo de desarrollo y, por lo tanto, a su negocio hacia el éxito. La Developer Experience (DX) abarca todos los aspectos de la interacción del desarrollador con la organización, sus herramientas y sistemas.

En más del 50% de las organizaciones, los desarrolladores de software solo dedicaron del 30 al 40% de su tiempo al desarrollo (State of DevOps 20182019). Si bien DevOps y la Entrega Continua (CD: Continous Delivery) resuelven problemas específicos para aumentar el tiempo dedicado a actividades de valor agregado, el desempeño de su organización está determinado por más de una brecha entre el desarrollo y las operaciones. Mejorar la experiencia general del desarrollador es esencial para aumentar la eficacia del desarrollador.

Qué tan mala es la experiencia del desarrollador

Observamos el impacto de las malas experiencias de los desarrolladores en diferentes escenarios tecnológicos en todas las industrias. Una causa fundamental de las malas experiencias de los desarrolladores es no considerar al desarrollador como un cliente. Sin tomar la perspectiva del desarrollador y realizarles una Investigación de Cliente, la tesis y viabilidad del producto o servicio proporcionado no está probada. En lugar de resolver problemas reales de los desarrolladores, las soluciones corren el riesgo de aumentar innecesariamente la complejidad de los equipos de desarrollo. Con el tiempo, el tiempo de comercialización (Time to market) del software aumentará en la medida que los desarrolladores estén sujetos a malas experiencias de desarrollador, y aunque a veces son muy específicas del dominio y contexto, los patrones que se repiten son:

  • Interfaces gráficas (GUI) no automatizables de las herramientas y los sistemas proporcionados llevan a los desarrolladores a realizar actividades manuales sin valor agregado.
  • El hardware y la infraestructura suelen ser escasos y difíciles de conseguir, especialmente en las primeras etapas o en proyectos de tecnología emergente. La baja disponibilidad de entornos parecidos al Ambiente de Producción conduce a ciclos de retroalimentación prolongados, inhibe la experimentación y tiene un impacto negativo en la calidad del software.
  • La tediosa incorporación y configuración del entorno de trabajo cuesta días hasta que se pueda escribir la primera línea de código y ponerla en producción. Abrirse camino a través de una jungla de tickets solo para obtener una licencia o permiso aplasta la motivación cuando se unen nuevos miembros del equipo y aumenta el tiempo dedicado a actividades que no agregan valor.
  • Las estructuras de equipo fragmentadas introducen dependencias de traspaso ineficaces entre equipos. Si bien el ejemplo más popular es el aislamiento de Desarrollo y las Operaciones, esto también se aplica a otras brechas en un flujo de entrega.
  • La falta de documentación para consumir API, bibliotecas o plataformas aumenta la carga cognitiva de un equipo. Sin orientación, ejemplos y conocimiento compartido, cada equipo tiene que perder el tiempo pensando en cómo extenderlos o integrarlos. Exceder la carga cognitiva de un equipo conduce a cambios de contexto derrochadores y, por lo tanto, a retrasos y problemas de calidad.

Estas perdiendo dinero 

Las malas experiencias de los desarrolladores conducen a una baja eficacia del desarrollador y rendimiento organizacional. Veamos algunos ejemplos de por qué debería invertir en una buena experiencia del desarrollador:

Acelerar la entrega de software acorta el Time to market

Las restricciones y los problemas en el recorrido del desarrollador son una oportunidad para acelerar la entrega delsoftware. En uno de nuestros proyectos automotrices, nos enteramos de que la falta de disponibilidad de hardware y los pasos manuales en el proceso de prueba llevaron a un ciclo de prueba de 2-3 semanas para los desarrolladores. Esto incluyó esperar en las franjas horarias con un banco de pruebas de hardware y también trasladarse físicamente a otro edificio con todo el equipo necesario.

Debido a que esta tarea se realizaba varias veces a la semana y era fundamental para la calidad del software, el apalancamiento para resolver este problema fue alto. Al habilitar actualizaciones remotas y pruebas automatizadas en los bancos de pruebas, el tiempo del ciclo de prueba se redujo de semanas a horas. Los desarrolladores se beneficiaron de una experiencia convincente que también fomentó más pruebas. La entrega de software acelerada permitió a la empresa llevar el software a manos del cliente mucho antes y con mayor calidad.

La flexibilidad habilita la experimentación habilita la innovación

Una de las razones por las que las organizaciones se trasladan a una infraestructura en la nube (on cloud) es la flexibilidad y la facilidad de poder escalar la potencia informática. Pero, ¿por qué es eso tan importante? Un desencadenante definitivamente es el potencial de ahorro de costos asociados. ¿Por qué alquilar una nueva capacidad de servidor durante todo un mes si solo desea realizar una prueba de carga que se puede realizar en menos de un día?

Sin embargo, la flexibilidad es el otro factor, probablemente incluso más importante, que proporciona una infraestructura en la nube. Los equipos no solo pueden escalar automáticamente «presionando un botón», sino que también tienen una amplia variedad de servicios a su disposición. Esta flexibilidad de usar servicios “listos para usar” es un gran incentivo para comenzar a experimentar y potencialmente innovar sin asumir grandes riesgos o hacer grandes inversiones que podrían no dar sus frutos.

Atraiga y retenga el talento de TI

¿Está motivado si se siente improductivo, bloqueado y esperando la mayor parte del día? Probablemente no. Lo que motiva a la mayoría de las personas también se aplica a los desarrolladores. La motivación crea un flujo que fomenta la creatividad en beneficio de su organización.

Con varias empresas innovadoras alrededor, todas compitiendo por los mejores talentos tecnológicos, las organizaciones ya no pueden permitirse el lujo de no invertir en un entorno que permite a los desarrolladores hacer lo que vinieron a buscar: ofrecer funciones asombrosas que deleiten a sus clientes.

Cómo puede lograr una buena experiencia de desarrollador

Una buena experiencia de desarrollador requiere más que reducir la brecha entre Desarrollo y Operaciones y proporcionar herramientas de Entrega Continua. Si realmente desea aumentar la efectividad de los desarrolladores y, por lo tanto, acelerar sus objetivos comerciales, debe probar algunos de los siguientes enfoques:

  • Adopte el pensamiento de producto para plataformas y productos técnicos que faciliten el trabajo de los desarrolladores.
  • Adopte una visión holística de los viajes (journeys) de sus desarrolladores para comprender su camino, puntos de contacto e influencias e identificar las limitaciones fundamentales. Lea el artículo Customer Journey: Cómo transformar la experiencia… y la organización, sobre el “viaje del cliente”.
  • Identifique y acorte los ciclos de retroalimentación para mejorar de forma frecuente los flujos de trabajo y medir continuamente el progreso.
  • Habilite y fomente la colaboración para eliminar los silos y fomentar el entendimiento mutuo.
  • Crear una cultura en la que los miembros del equipo se sientan seguros para experimentar y sean animados a innovar.

Conclusión

Invierta en la experiencia de sus desarrolladores. Una mala experiencia de desarrollador disminuye la efectividad de sus desarrolladores. Una buena DX hará que sus desarrollos se desplieguen en Producción de forma rápida, fiable y segura.Entender la perspectiva de los desarrolladores beneficiará a su negocio.

Fuentes

Author: Alex Andrade

Magister Ingeniería de Software, MBA y Especialista en Gerencia de Proyectos Tel: +57-317-241-5118

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.