Métodologías ágiles en proyectos tecnológicos [Artículo de colaboración]

Métodologías ágiles en proyectos tecnológicos [Artículo de colaboración]

14 septiembre 2020 0 Por Alvaro

Gestionando proyectos IT exitosos con metodologías ágiles

Si bien la aplicación de la gestión de proyectos no es nueva, los nuevos «enfoques» o filosofías de gestión de proyectos han dado lugar a mejoras significativas en la calidad final de los proyectos y en el propio proceso general de gestión. Atrás quedaron los días en los que una hoja de cálculo Excel y la dependencia de los programas de Microsoft Office eran suficientes herramientas de gestión de proyectos IT. Ahora tenemos que elegir entre un número cada vez mayor de metodologías para gestionar los proyectos complejos en buena forma y dentro del presupuesto. Todo esto, dándonos la flexibilidad de realizar mejoras que queden fuera del alcance inicial del proyecto.

Pero cuando se trata de elegir la metodología de gestión de proyectos adecuada para nuestra empresa, hay muchos factores que entran en juego, como el tipo de trabajo o la industria en la que nos encontramos. Nos centraremos en uno de los enfoques de metodologías que está siendo fundamental en el éxito de la gestión de proyectos tecnológicos: las metodologías ágiles o agile.

Presentación de Agile

Un proyecto de IT rara vez es realizado por una sola persona. Desde el gerente que supervisa el flujo de trabajo hasta el desarrollador back-end, todos forman parte de los proyectos. Por ello, resulta clave un correcto enfoque de colaboración. Un enfoque de gestión de proyectos fijo y tradicional se basa en unas peticiones iniciales que se deben entregar. El presupuesto y el calendario se basarán en esas peticiones iniciales. Pero, ¿qué pasa si surge una idea no esperada que pueda dar lugar a un mejor producto, pero el plazo o el presupuesto no lo permiten? El alcance se establece de nuevo (potencialmente a peor) y la idea muchas veces no se materializa.
En nuestra opinión, los proyectos más exitosos son aquellos que son flexibles y permiten el cambio a lo largo del camino – y ahí radica la diferencia clave entre la metodología Ágil y los métodos más convencionales de gestión de proyectos IT.

La flexibilidad de los proyectos es una de las características de las metodologías ágiles

 

Un nuevo enfoque a la gestión de proyectos

Para explicar con más detalle las metodologías ágiles podemos compararlas con una metodología tradicional de gestión de proyectos: tomemos como ejemplo Waterfall.

Waterfall es un modelo lineal de gestión de proyectos que se basa en que cada fase se complete en secuencia antes de que otra pueda comenzar. Aunque se puede confiar en los plazos y no hay (o no debería haber) sorpresas grandes con los costes, suele ser un enfoque rígido. Los cambios no se pueden implementar fácilmente y los proyectos a largo plazo pueden tener dificultades para mantenerse en el camino correcto.

Por otro lado, las metodologías ágiles ofrecen una mayor flexibilidad, lo que las hace muy adecuadas para proyectos de naturaleza compleja en los que existen ciertan incertidumbres en alguna de las fases. Como explica Agile Alliance, Ágil es un término general para «un conjunto de marcos y prácticas basados en los valores y principios expresados en el Manifiesto para el Desarrollo Ágil de Software y los 12 Principios que lo sustentan«. En esencia, se trata de un enfoque más realista de cómo deben gestionarse los proyectos con muchos componentes.
Los cuatro valores que sustentan las metodologías ágiles son:

  1. Los individuos y las interacciones son más importantes que los procesos y las herramientas.
  2. Un producto funcional es más importante que una documentación completa. El método más eficiente y efectivo de transmitir información hacia y dentro de un equipo de desarrollo es la conversación cara a cara
  3. La colaboración con el cliente es más importante que la negociación contractual. Clientes y desarrolladores deben colaborar, no deben ser vistos como adversarios.
  4. Responder a los cambios es más importante que el seguimiento de un plan.

Es importante señalar que las metodologías ágiles no sugieren que toda la documentación, contratos o planes deban ser desestimados o tirados a la basura, sino que el enfoque de un proyecto debe ser la colaboración, la flexibilidad y la capacidad de respuesta – y cuando estos valores se adhieren a las empresas, estas pueden esperar un aumento de la productividad y un resultado de mayor calidad.

¿Qué es un framework?

Los valores anteriores y sus principios asociados constituyen la base de la metodologías ágiles, pero para que se aplique con éxito es necesario un marco o sistema. Las tres opciones más utilizadas son:

  • Scrum (Utilizado por Netflix, Adobe, Amazon y Apple)
    • Scrum funciona bien para proyectos complejos y de gran escala que dependen de múltiples tareas para ser actuados de la manera más rápida y eficiente posible.
    • Los proyectos se dividen en tareas manejables, o «sprints«, que se controlan en Scrums (reuniones) diarias. La regularidad de los Scrums permite una continua retroalimentación y colaboración, y como cada miembro del equipo tiene sprints claramente definidos, los Scrums promueven una cultura de transparencia. Por otra parte, las desventajas que hay que tener en cuenta incluyen un tamaño óptimo del equipo para que funcione (mínimo tres, máximo nueve/diez) y la necesidad de que uno o más miembros del equipo tengan la experiencia adecuada para proporcionar una retroalimentación significativa.
  • Kanban (utilizado por Zara, Spotify, Pixar y Toyota)
    • Los miembros del equipo en un entorno ágil de Kanban se encuentran en el flujo de trabajo de un proyecto en tiempo real a través de una junta de Kanban. La pizarra – que puede ser tan literal como una pizarra blanca o un programa de software – forma la base del marco de trabajo de Kanban, con los elementos de trabajo asociados a un proyecto y su estado capaz de ser visualizado de un vistazo. Considerado un marco ideal para empresas nuevas en metodologías ágiles, es importante señalar que Kanban corre el riesgo de complicar demasiado un proyecto – por lo que los miembros del equipo pueden necesitar un WIP para minimizar la confusión.
  • Extreme Programming (XP) (Utilizado por IBM, Ford Motor)
    • Popular entre los desarrolladores de software, el XP permite a los equipos producir resultados de alta calidad y al mismo tiempo permite que los cambios de los clientes se implementen a lo largo del proceso. Esto es posible gracias al nivel de pruebas realizadas, la frecuencia de los lanzamientos y un canal de comunicación abierto entre el cliente y el desarrollador. Mientras que muchos programadores pueden encontrar desconcertante la idea del contacto directo con el cliente, la metodología XP depende en gran medida del respeto mutuo para que funcione, y las reuniones «stand up» programadas diariamente deberían reducir la aparición de solicitudes ad-hoc.

Entonces, ¿debería elegir una metodología ágil?

No hay dos negocios o culturas iguales, por lo que saber si las metodologías ágiles son adecuadas para su organización sólo puede ser determinado por usted y sus colaboradores. Pero para guiarle en su toma de decisiones, hay varios factores que puede tener en cuenta:

  • ¿Cómo es la estructura organizativa? ¿Permite a los individuos trabajar en equipos más pequeños sin depender de los que están en posiciones de liderazgo?
  • ¿Los tipos de proyectos de TI que produce permiten la colaboración tanto interna como externa?
  • ¿Es la cultura de su lugar de trabajo o equipo flexible por naturaleza y los individuos están abiertos al cambio?
  • ¿Las metodología ágiles y el marco de trabajo elegido permitirá a las personas realizar su mejor trabajo posible?

Consideraciones finales

Es importante tener una metodología de proyectos sana ya que el éxito de ellas suele basarse en un enfoque de colaboración. Un equipo debe ser entusiasta con la metodología de elección y el resto de los miembros deben ser claros sobre los resultados que vayan obteniendo. Las reuniones diarias deben mantener a todo el equipo conectado en el mismo punto ya que de otro modo se pueden producir descuelgues que haga inútil la aplicación de la metodología.

Por otro lado, es importante hacer demostraciones regulares de final de sprint que permitan a los clientes proporcionar una retroalimentación instantánea. Por último, la metodologías ágiles pueden no ser adecuada para todos, por lo que es importante que las empresas que consideren este enfoque emprendan un estudio previo antes de dar el salto.

Artículo realizado en colaboración con la empresa estadounidense especializada en IA y Big Data Makeen Technologies

🙂

Si te ha sido de utilidad este post, te agradecería que me apoyases en Patreon (donando una cantidad aunque sea poca ya sea una vez, o apoyándome mensualmente). Tener una web, dominio, hosting, no es gratis y me apoyas a seguir ayudando con la difusión de educación libre. Apóyame en Patreon! Mil gracias!!

¿Te ha parecido útil este artículo?