La gestión de los desarrolladores tiene mucho en común con la gestión de cualquier otra persona. La mayoría quiere un gerente que los ayude a resolver problemas de negocios, los proteja de la política de la oficina y los ayude a alcanzar sus metas profesionales personales. Sin embargo, los desarrolladores también requieren algunas técnicas especiales de gestión para fomentar su productividad.
Zach Holman lo ha clavado:
Sólo hay dos problemas difíciles en la informática:
1. People
2. Personas
– Zach Holman (@holman) 15 de septiembre de 2016
En GitPrime, queremos ayudarte a ser excelente en la gestión de equipos de desarrollo de software, lo que significa saber cómo dirigir un equipo técnico de manera eficaz. Aquí tienes siete consejos específicos para dirigir un equipo de ingenieros de software:
1. Permitir a los desarrolladores hacer su trabajo
Uno de los deseos más comunes entre los desarrolladores es un gerente que reconozca sus habilidades y confíe en que harán su trabajo. Permitir que los desarrolladores escriban código – les encanta hacerlo. Sólo hay que encontrar una manera de que los desarrolladores lo hagan de manera que beneficie a la empresa.
Parte de la confianza es dar a los desarrolladores tiempo para pensar fuera de la codificación. Dando a los desarrolladores la oportunidad de desarrollar soluciones por su cuenta les ayudará a mantenerse creativos.
2. Manejar el trabajo no relacionado con el desarrollo
Las actividades que no implican escribir código no son importantes para la mayoría de los desarrolladores. Su trabajo más importante para muchos desarrolladores es protegerlos de las pérdidas de tiempo como reuniones no técnicas y papeleo administrativo.
Los desarrolladores quieren que un gerente les proporcione una lista de tareas prioritarias con prioridades significativas. Ningún desarrollador disfruta de una fecha límite poco realista, y una de las únicas maneras de mitigar esto es perforar realmente los requisitos de antemano. Sea militante sobre los buenos requisitos. Es la única manera de entender realmente el alcance y manejar las expectativas en torno a las fechas de entrega de una manera que sea razonable. Cuando las entregas son significativamente diferentes de las expectativas, esto crea una carga operacional. El mejor momento para resolver esto es invirtiendo esfuerzo por adelantado y asegurándose de que las partes interesadas piden trabajo de manera responsable.
3. Escuchar y responder
No importa lo bien que crea que puede haber comunicado las especificaciones, los desarrolladores seguirán teniendo preguntas. El desarrollo es un proceso iterativo.
Este es otro lugar en el que el esfuerzo inicial da sus frutos: una vez que se han reunido los requisitos que tienen sentido, hay que involucrar a los desarrolladores antes de empezar a trabajar. Los ingenieros deben tener la oportunidad de criticar, ampliar o rechazar los requisitos si no tienen sentido.
Una vez iniciado el trabajo, se aplica la misma lógica: los mejores requisitos son esencialmente una especie de documento vivo que evoluciona durante el desarrollo. Así como «ningún plan de batalla sobrevive al primer contacto con el enemigo», no se debe esperar que ningún conjunto de requisitos sobreviva a la implementación sin un poco de flexibilidad.
4. Fomentar el progreso
Los mejores desarrolladores están continuamente tratando de mejorar sus habilidades. Los gerentes más exitosos facilitan el crecimiento. Para hacer esto, encuentra una cosa específica y accionable en la que se puedan centrar.
Eso podría sonar como: «Concéntrate en romper tu trabajo en piezas más pequeñas», o, «Me gustaría verte dar un paso adelante y tomar más código de refactorización de legado».
Utilice un plan de desarrollo personal para sugerir áreas de investigación que el desarrollador pueda llevar a cabo durante el tiempo de inactividad. Interesarse en el desarrollo profesional de sus ingenieros le ayudará a perfeccionar su dirección técnica, beneficiando en última instancia a su empresa. Ofrezca orientación para sus proyectos, incluso cuando no esté directamente relacionada con su trabajo.
5. Poner énfasis en la calidad sobre la cantidad
Un gerente inexperto puede creer que si se lanza a más desarrolladores a un proyecto se incrementará la productividad. Esta práctica rara vez es útil, ya que los nuevos desarrolladores retrasarán el desarrollo hasta que se pongan al día en un proyecto.
Una mejor solución para mejorar la productividad de sus desarrolladores es reorganizar su equipo para realizar pequeñas tareas, típicamente las que pueden realizarse en unos pocos días o semanas. Asigne a cada miembro del equipo funciones específicas como la codificación, las pruebas y la implementación. Asegúrese de que los desarrolladores de cada equipo tengan una variedad de niveles de experiencia, incluyendo oficiales, desarrolladores de nivel medio y superior.
6. Revisar las métricas correctas
Los exámenes de rendimiento ofrecen la oportunidad más adecuada para medir el rendimiento de un promotor e identificar posibles problemas. Sin embargo, es vital seleccionar sólo las métricas que sean aplicables, ya que muchos directivos recogen todas las métricas disponibles sólo para mostrar que el proyecto está todavía en desarrollo. Consulte nuestra entrada anterior para obtener más información sobre las mejores métricas para utilizar en la retroalimentación periódica.
Pregunte a un desarrollador directamente sobre los problemas que ve en el proyecto y las métricas que cree que reflejan mejor el estado real del proyecto. Revise las entradas abiertas del proyecto semanalmente, pero no se centre únicamente en cerrarlas. Puede ser mejor dejar un ticket abierto por un tiempo para asegurar la corrección del error asociado.
7. Evitar el cambio de tareas
Muchos trabajos requieren la realización de múltiples tareas, pero esta práctica va en detrimento de un desarrollo eficaz de los programas informáticos. Tu equipo pasa su atención haciendo malabares con tediosos problemas conceptuales en su cabeza. Cualquier interrupción de esto tiene un costo tremendo – una interrupción inoportuna podría hacer retroceder a alguien medio día.
El cambio de contexto es costoso y la sobrecarga cognitiva de la multitarea resulta en un rendimiento pobre. Cuando se trabaja en varios proyectos, algunos administradores exigen a sus desarrolladores que trabajen en un proyecto por la mañana y en otro por la tarde. La mejor solución para manejar varios proyectos suele ser redistribuir a sus desarrolladores en pequeños grupos dedicados a un proyecto concreto.
La clave para retener a los mejores desarrolladores es tratarlos bien y manejarlos de manera justa. Se ajustarán si pierdes alguno de los puntos anteriores ocasionalmente, pero comenzarán a buscar mejores oportunidades si pierdes una constantemente durante demasiado tiempo.
¿Tiene uno o dos consejos de gestión para compartir? Nos encantaría escuchar lo que ha funcionado para usted. Comparta su historia con nosotros en [email protegido].