Mi experiencia como líder de un equipo de desarrollo de software

| 2014-06-25 | No hay comentarios »

leadership-development1En mi facultad (quinto curso de Ingeniería en Informática en la Universidad Católica – Campus Itapúa) en el primer semestre nos dieron para que hagamos un proyecto de desarrollo de software (una aplicación web y móvil) grupal (todo el curso debía ser parte del proyecto), a mí me eligieron como coordinador y mi equipo estuvo conformado por 8 personas (incluyéndome), a continuación quiero contarles toda mi experiencia ya que pude liderar a mi equipo de una forma exitosa.

El proyecto duró 6 semanas, antes de comenzar con todo, tuve que dedicar varias horas para investigación, ya que teníamos que cumplir con muchos requisitos:

– La aplicación móvil debía ser Android, como ya tenía experiencia y también contaba en mi equipo personas con experiencia, decidí trabajar por dicha aplicación recién en la cuarta semana.

– La aplicación web debía de estar hecha con JAVA EE utilizando la tecnología JSP y el framework Hibernate (ORM: Mapeo Objeto/Relacional), yo nunca utilicé ese tipo de tecnología ni tampoco mi equipo, así que me puse a investigar y a realizar ejemplos básicos de prueba, una vez que me fui adaptando (me llevó una semana más o menos) cree una aplicación completa para tener como ejemplo pero utilizando MAVEN como administrador del proyecto con el IDE Netbeans.

¿Qué herramientas utilizamos para trabajar en equipo? 

SCM (Administración de Código Fuente): Decidí utilizar GIT porque es la tendencia actual y no SVN como me lo recomendaron los docentes.

Gestión de cambios de la base de datos: Decidí utilizar Liquibase como me recomendaron los docentes.

Chequeo de estilo de programación: Decidí utilizar CheckStyle como me recomendaron los docentes.

Sistema de Integración Continua: Decidí utilizar Jenkins como me recomendaron los docentes.

Para aprender a utilizar todas esas herramientas, tuve que investigar y realizar todas las pruebas necesarias ya que nunca antes trabajé en equipo y no conocía esas herramientas.

¿Qué metodología de trabajo utilizamos?

Utilizamos la metodología SCRUM que es una metodología ágil y flexible para gestionar el desarrollo de software, en mi caso, mi rol era de Scrum Master.

Para utilizar adecuadamente la metodología utilizamos la herramienta Redmine y en total hubieron 5 Sprints, el primero de 2 semanas y los restantes de 1 semana.

Una vez que tenía todo definido, enseñe a mi equipo a utilizar las herramientas, la tecnología a utilizar y las bases de la metodología Scrum antes de comenzar el primer Sprint. Como no estábamos acostumbrados a trabajar con la metodología de trabajo mencionada, tuve que crear el Product Backlog y asignar las tareas a cada desarrollador/a de acuerdo a su perfil.

¿Cómo manejé a mi equipo?

Como nunca antes trabajé en equipo, está parte es la que más me costó. Por ejemplo para la asignación de tareas, como no conocía el perfil de todos, las primeras dos semanas fueron fundamentales para que me pueda dar cuenta de las capacidades de cada uno, tuve que arriesgarme, pero sí, siempre trabajé muy de cerca con los miembros de mi equipo que tenían más dificultades y que no tenían conocimientos previos, siempre confié y me apoye en cada uno de ellos y no me decepcionaron.

Durante el desarrollo del proyecto,  me dediqué a dirigir, presionar, motivar y sobre todo a ser el soporte del equipo.

¿Cómo mantuve motivado al equipo?

Encontré muchas formas para mantener motivado a mi equipo durante la duración del proyecto, una de las formas fue que siempre empecé todo por mí mismo y siempre demostré mucho entusiasmo y seguridad, otra de las formas fue el compartir toda la información del proyecto y mantener el ambiente agradable en todo momento. Los esfuerzos de cada miembro siempre los reconocí y elogié los trabajos bien realizados.

Siempre les hacía saber a cada uno de sus fuertes y limitaciones, gracias a eso pudieron mejorar. Mi equipo también participaba en la toma de decisiones.

Las últimas dos semanas fueron las semanas más duras que viví, tuve que hacer mucha presión pero los resultados fueron los esperados, el proyecto terminó en tiempo y forma, y nada quedó inconcluso, se llegó a cumplir el 100% de los requisitos, todo eso fue gracias a mi equipo.

Para concluir quiero decir que un líder no solamente debe tener muchos conocimientos, ser un investigador y utilizar las herramientas y metodologías adecuadas, debe saber direccionar, presionar, influir, motivar y sobre todo apoyarse en su equipo (es lo más valioso que tiene), debe aprender a moverse por los demás y arriesgarse para que se pueda llegar al éxito o resultado esperado.

Acerca del autor: Rodrigo Paszniuk

Ingeniero Informático, amante de la tecnología, la música, el ciclismo y aprender cosas nuevas.