Cerrar

¿Desea conocer información de nuestros sistemas de gestión empresarial para PYMES o plataformas para medianas y grandes corporaciones?

NUESTRO BLOG

Aumentando las habilidades de un equipo de desarrollo de software

Cuando un nuevo proyecto de software inicia, se debe reunir un equipo de acuerdo a las necesidades del cliente y el alcance del proyecto. Idealmente, el equipo debe estar compuesto de miembros altamente calificados con conocimientos adecuados en el monto tecnológico requerida por el proyecto. Teniendo en cuenta la disponibilidad de los desarrolladores dentro de la empresa, el proceso de reclutamiento para contratar nuevos empleados y los costos asociados con las nuevas contrataciones, muchas veces los equipos suelen terminar con una mezcla de ingenieros con experiencia y desarrolladores de un nivel intermedio.

Lo que normalmente ocurre es que algunos ingenieros con experiencia de diferentes orígenes se unen al equipo y algunos otros desarrolladores con menos experiencia tienen la oportunidad de adquirir nuevas habilidades y conocimientos a medida que el proyecto se desarrolla, uniéndose al equipo y trabajando en colaboración con los miembros de alto nivel. El truco aquí es asegurar que los desarrolladores menos experimentados mejoren sus habilidades y se conviertan en futuros líderes en este y otros proyectos. Entonces, ¿cómo puede estar seguro de que los miembros de su nuevo equipo se conviertan en futuros líderes? A continuación enumeramos una recopilación de mejores prácticas y técnicas que pueden asegurar el desarrollo de habilidades y el éxito del proyecto:

Crear un plan de embarque específico

La mejor manera de demostrar cómo funciona la empresa es que los nuevos empleados trabajen en un proyecto real de inmediato. Pero trabajar en un proyecto real es arriesgado, por lo que se debe considerar establecer un proyecto improvisado en el que los miembros del equipo puedan familiarizarse con las metodologías de la empresa y un entorno de trabajo normal. Este entrenamiento en particular enfatiza la metodología, que es importante en todos los proyectos sin importar las habilidades tecnológicas requeridas. Además, al trabajar en este proyecto de ingeniería, las nuevas contrataciones desarrollan una comprensión real de las historias de usuarios y se familiarizan con las metodologías ágiles y de scrum, que son la columna vertebral de nuestra empresa. Los nuevos empleados desarrollan su propia historia de usuario, que luego es revisada, probada, desplegada y evaluada por los “product-owner” dentro de un entorno seguro.

Durante este tiempo los nuevos empleados están participando en proyectos que ocurren en tiempo real. Esta combinación de entrenamiento y trabajo ayuda a los empleados a desarrollar habilidades mientras contribuyen a los proyectos en curso. Es muy importante que los nuevos desarrolladores aprendan a producir código que añada valor en el tiempo mínimo requerido. Desarrollarán esta habilidad mucho más rápido si también sienten la presión de los proyectos de clientes activos. Creemos que vale la pena invertir el tiempo y la energía en la creación de un entorno en el que sus nuevos desarrolladores pueden practicar sus habilidades sin poner alianzas o contratos de millones de dólares en riesgo, sino también participar en un entorno de trabajo real, pero en una pista paralela.

Entrenamiento bajo demanda

A medida que los requisitos iniciales del proyecto se aclaran y el monto de tecnología se identifica y se detalla, tendrá que igualar las habilidades de equipo existentes con las capacidades que el proyecto necesita. Para iniciar el primer sprint y/o iteración con un equipo que pueda manejar y superar las expectativas del cliente, los miembros del equipo necesitan ser entrenados de acuerdo a esas necesidades específicas. Lo que normalmente hacemos es contactar a nuestros expertos internos que ya conocen bien las tecnologías. Una de nuestras fortalezas es poder identificar rápidamente a esas personas y conectarlas con los equipos y proyectos adecuados.

[Un consejo útil: Es buena idea hacer un seguimiento de la habilidad de la gente en su empresa, y no sólo las habilidades profesionales. Nunca se sabe cuando es posible que necesite un fotógrafo para tomar fotos para un proyecto de última hora. Es increíblemente beneficioso entender la experiencia de sus empleados para conectarlos con los proyectos y programas de capacitación adecuados.]

Cuando hay unos cuantos expertos internos disponibles para entrenar a otros, se desarrolla un pequeño plan de entrenamiento y estos expertos dirigen las sesiones de entrenamiento que hemos preparado para el nuevo equipo. Estas sesiones de capacitación utilizan diferentes técnicas de enseñanza práctica, tales como talleres y dojos de codificación. Si no se puede encontrar el conocimiento técnico dentro de la empresa, expertos externos son contratados para proporcionar la capacitación.

Revisiones hechas por colegas

Cuando ciertos miembros del equipo demuestran las habilidades y experiencia específicas requeridas para el proyecto, una de las técnicas más poderosas para difundir el conocimiento en todo el equipo es hacer revisiones por colegas. Esta técnica permite a los desarrolladores menos experimentados obtener retroalimentación sobre su trabajo y a los revisores fortalecer sus habilidades de coaching. Una buena práctica para acompañar las revisiones de pares es hacer una reunión de desarrollo periódica. En esta reunión, los revisores presentan al equipo los errores más comunes y los conceptos clave que consideran importantes para compartir con el equipo.

Los exámenes por pares llevan las cosas un paso más allá consolidando las relaciones entre el grupo, permitiéndoles desarrollar una atmósfera de apertura, honestidad y desafío. Todos estos componentes son esenciales para el éxito de la empresa. Sin desafíos, los miembros del equipo no sentirán la necesidad inmediata de innovar y seguir desarrollando nuevas habilidades. Sin honestidad y apertura, los nuevos miembros del equipo no son conscientes de sus áreas de mejora.

Programación en pareja

Esta técnica es básicamente una revisión de pares llevada “al extremo”. Con la programación en pareja, los compañeros de equipo trabajan juntos en una misma tarea en la misma estación de trabajo. Uno de ellos suele tener más conocimiento que el otro sobre las tecnologías y/o el proyecto empresarial que se utiliza en el proyecto. El desarrollador menos experimentado se pone al corriente más rápidamente que haciéndolo por sí mismo a través de ensayo y error. Encontramos esta técnica muy útil cuando necesitamos incluir nuevos miembros a un equipo existente muy rápidamente, o cuando tenemos que adquirir conocimientos técnicos del cliente. Creamos sesiones de programación de pares que permiten una inmersión total en la metodología de desarrollo, el monto tecnológico y el modelo de negocio, de acuerdo con las necesidades del equipo.

Fomentar el intercambio de conocimientos

¿Así que crees que conoces a Docker? ¿o TDD? ¿o incluso cosas básicas como OOP? ¡Piénsalo dos veces! Cuando se quiera compartir lo que se sabe con otros y comenzar a estructurar toda la información en su cabeza para preparar una presentación, es posible darse cuenta que hay algunas cosas que debe aclarar primero. Hay una variedad de formas divertidas y atractivas de compartir conocimientos, tratar de dar una charla en su comunidad local o programar una reunión de tecnología, como un almuerzo de trabajo, un espacio abierto para opinar, etc. Estas actividades le obligan a aclarar sus conocimientos sobre el tema con el fin de comunicar eficazmente a los demás los componentes principales, además de ir más lejos en profundidad. Animar a sus colegas a dar charlas cortas sobre un tema, es un desafío emocionante para muchos.

Conclusión

Para que un equipo adquiera nuevas habilidades, se necesita una combinación de proporcionar las herramientas y técnicas apropiadas, y alentar su voluntad personal para mejorar como desarrolladores de software. Es necesario proporcionar un entorno adecuado y estimulante que puede ser aprovechado por todo tipo de desarrolladores con cualquier tipo de antecedentes. ¿Qué más ha funcionado para usted?

 

Artículo escrito por Pedro Madrid, quién trabajó como Arquitecto de Software del #EquipoPSL durante 13 años, y ahora es Desarrollador Senior en Lixar.

 

Valora este artículo del blog:
¿Qué considerar antes de involucrarse con Microser...
Sugerencias para implementar correctamente DevOps ...