Brian Campana escribió este interesante artículo para Forbes, donde explica cómo diseñar una consistente
Experiencia de Desarrollador, para sostener una buena Experiencia de Cliente. Compartimos la nota a continuación:
Cuando se habla de
experiencia de usuario, a menudo nos centramos exclusivamente en los clientes. Pero los desarrolladores también son usuarios. De hecho, la experiencia del desarrollador es un impulsor crítico del valor empresarial, que afecta directamente a la calidad y la rentabilidad general de los productos digitales que ofrece una empresa.
Mientras que La
Experiencia de Cliente se basa en lo que un equipo de producto ha construido,
La Experiencia de Desarrollador se basa en las herramientas con las que un equipo de producto está creando. Por lo tanto, depende de los líderes y gerentes crear un entorno que encante a sus desarrolladores.
El costo de una mala Experiencia de Desarrollador
En pocas palabras, la
Experiencia de Desarrollador repercute en la experiencia de los clientes. Piénselo: Cuanto más tiempo tengan que dedicar los desarrolladores a averiguar las herramientas y los procesos, menos tiempo tendrán para innovar.
Una mala
Experiencia de Desarrollador también puede conducir a la rotación de personal. Cuando no se apoya la creatividad, la independencia y la productividad de los desarrolladores, seguirán escribiendo el mismo código de siempre, hasta que acepten un trabajo en otra organización.
La retención debe ser lo más importante. Incluso si se consigue reclutar a los mejores desarrolladores del mundo -un gran "si", teniendo en cuenta el estado de la batalla actual por el talento-, las
entrevistas, la tutoría y la incorporación afectan a la productividad de todo el equipo.
Es imprescindible mejorar la experiencia de los desarrolladores de forma integral. Su concentración, eficiencia e incluso su satisfacción laboral dependen de ello.
A nivel individual la Experiencia de Desarrollador
¿Qué quieren los desarrolladores? Para responder a esta pregunta, hablé con los expertos técnicos de mi propia organización. Nuestro vicepresidente de ingeniería y nuestro ingeniero de soluciones senior destacaron que los desarrolladores necesitan
- Respeto
No contratarías a un electricista para hacer un trabajo y luego te pondrías por encima de su hombro. Aunque están abiertos a recibir comentarios, los desarrolladores quieren que se confíe en ellos para que hagan el trabajo que hay que hacer.
-Autonomía
Relacionado con el respeto, los desarrolladores quieren hacer su trabajo con una dependencia mínima de los demás. Necesitan las herramientas, los materiales y el tiempo adecuados para tomar las decisiones necesarias sin tener que solicitar opiniones o permisos.
- Elección
Asimismo, los desarrolladores quieren poder trabajar con el menor número posible de limitaciones. Eso significa ofrecer opciones para los recursos que tienen a su disposición.
- Propósito de la Experiencia de Desarrollador
Si le das una serie de tareas sin sentido a un desarrollador, perderá la motivación y el interés. Si les inspiras para que ayuden a crear un producto que cambie las reglas del juego, moverán cielo y tierra para hacer el trabajo.
- Comunidad
No importa lo inspirador que sea un proyecto si un desarrollador no tiene un equipo que le ayude a mantener su sentido de propósito. Necesitan que otros desafíen sus ideas, fomenten la experimentación y les empujen a luchar por cosas más grandes y mejores.
Una gran experiencia para el desarrollador significa deshacerse de cualquier cosa que reduzca su capacidad de concentración. Esta es una función que requiere un pensamiento profundo y la resolución de problemas. No hay nada más perjudicial que las complicaciones innecesarias; elimínelas y estará creando un entorno verdaderamente propicio y creativo.
A nivel de procesos de la Experiencia de Desarrollador
Los mejores procesos tienen en cuenta todas las herramientas, lenguajes, bibliotecas, APIs y servicios con los que un desarrollador va a trabajar. Para las personas encargadas de adquirir la tecnología de la que dependen los desarrolladores, garantizar una experiencia sin fricciones debería ser una prioridad absoluta.
También lo debe ser la documentación.
Toda herramienta para desarrolladores debe tener una documentación comprensible y accesible, con funciones de búsqueda intuitivas que devuelvan la información correcta. Con demasiada frecuencia, los desarrolladores se sienten frustrados por una documentación que peca de breve en lugar de clara.
Hablé con nuestro director de ingeniería y con uno de nuestros ingenieros de software para conocer su opinión sobre cómo facilitar la experiencia de los desarrolladores. Me explicaron tres consideraciones prácticas:
Aprender una nueva tecnología por primera vez es una aventura de ensayo y error, por lo que hay que pensar en esta fase inicial a la hora de implementar sistemas y herramientas. Eso se traduce en una documentación eficaz y un amplio apoyo de la comunidad de desarrolladores.
- Realizar tareas tediosas es agotador.
La automatización facilita que los desarrolladores apliquen sus habilidades allí donde son importantes y ayuda a reducir el número de errores e incidencias, lo que contribuye a la satisfacción de los desarrolladores (y de los clientes).
- Permitir la libertad creativa es una apuesta por la mesa.
Los desarrolladores se sentirán realizados si pueden probar sus ideas, realizar pruebas en producción y demostrar sus hipótesis. Las banderas de características dan a los desarrolladores espacio para probar cosas nuevas y evaluar los resultados de forma intencionada y controlada.
-Por último, evalúe el éxito de cada proyecto.
La vida de un desarrollador implica solucionar problemas, y si no se miden esos problemas -o sus intentos de solución- es imposible saber qué ha funcionado. Proporcionar métricas es importante para que los desarrolladores identifiquen formas de seguir mejorando sus proyectos, procesos y habilidades.
A nivel cultural
Hace unos años, hablé con el jefe de ingeniería de un servicio mundial de streaming de música. Me dijo que se estaba produciendo un cambio en su organización y en otras: A la hora de contratar nuevos ingenieros y Experiencia de Desarrollador, se daba preferencia a los que habían escrito el código detrás de las banderas de las características. Este cambio se está acelerando a medida que las empresas líderes ven el valor de una cultura de experimentación.
Como señala McKinsey, las organizaciones que obtienen los mejores resultados son las que han creado un entorno seguro para que los equipos de software puedan probar, fallar y aprender sin miedo.
Aunque una cultura de intercambio de conocimientos, mejora continua y liderazgo de servicio es importante, el factor más crucial es la seguridad psicológica. Esto ocurre cuando todo el mundo acepta la experimentación y se da cuenta de que es esencial para la innovación; sin embargo, sólo el 20% de los ejecutivos piensa que sus organizaciones han creado una cultura en la que se defiende y apoya.
Aquí es donde los líderes pueden mostrar una verdadera iniciativa, invirtiendo en los sistemas que permiten a sus desarrolladores resolver problemas y hacer evolucionar la Experiencia de Desarrollador del cliente a través de la experimentación.
Me complace, pero no me sorprende, ver que las empresas con mejores resultados son las que ofrecen funciones como las banderas de características, las versiones controladas, las reversiones automáticas y los informes post mortem, es decir, el tipo de soluciones que mi equipo se ha comprometido a crear.
Las empresas no son las únicas que se benefician de la libertad y la flexibilidad que infunde una cultura de experimentación. La alegría y la satisfacción que aporta a la experiencia de desarrollador les permite crear mejores productos, lo que a su vez proporciona alegría y satisfacción a los clientes.
Con información de Forbes