La importancia de las metodologías ágiles

Soy un fanático de la agilidad en los proyectos. Estoy en contra de las reuniones de trabajo de duración infinita a las que prácticamente se termina con una ganancia efímera o menor a la que se esperaba. Me gusta mucho que los proyectos se lleven de forma adecuada, en el que las personas se comprometan a trabajar y haya realmente empatía, comunicación y resultados en los proyectos.

En mi experiencia me he topado con muchos controles rígidos de proyectos, en los cuales los administradores exigen una cantidad de documentación impresionante para sustentar al proyecto, lo cual provoca dos situaciones en particular:

  1. Cuando se incorpora una nueva persona al equipo de trabajo, esa persona tiene que nadar y sumergirse en un mar de documentos para poder entender el proyecto, teniendo posteriormente que ser el encargado de mantener actualizados esos documentos a cara de la empresa o del cliente o de ambos, esto desencadena la segunda situación que es…
  2. Se hace doble documentación. Una para el cliente y una de la propia empresa. No basta con los miles de formatos que el cliente pide, sino que también se tienen que llenar los documentos de control que la propia empresa ocupa, haciendo que los desarrolladores se pierdan en un mar de formatos a llenar.
  3. Esto hace que la administración sea “doble”, y que las nuevas personas que se incorporan al grupo tengan que tener una capacitación sobre el llenado de los sustentos al proyecto, ya sea para el cliente o para la empresa o ambas.

Seamos honestos, ¿qué es lo primero que pensamos cuando vemos que habrá una reunión de trabajo de 3 a 6 de la tarde? Se prepara uno para lo peor, se llena de cafeína y refresco de cola para sobrevivir al evento, y se resigna a sacrificar tres horas de la vida en algo que puede que ni siquiera tenga que ver con nosotros. No niego que existen reuniones de trabajo que son muy fructíferas y los resultados obtenidos son maravillosos, pero eso ocurre cuando se hace una planeación adecuada de esa reunión, difusión, entre otras,  pero sobre todo se motiva a la gente para que aporten a las reuniones y no vayan meramente de oyentes o testers de sillas.

Las metodologías ágiles de proyectos vienen a ofrecer a las personas del equipo de trabajo (incluyendo Administradores de Proyectos, Gerentes, Clientes) una visión clara, dinámica y en tiempo real de lo que se está trabajando en cada momento. Como bien pudieron leer, esta forma de trabajo no se limita al equipo de trabajo del proveedor, sino la participación del cliente es muy importante y necesaria para que se obtengan los resultados que éste quiere.

¿Qué sucede cuando se tiene poca comunicación con el cliente? La respuesta es simple: resultados no esperados, trabajo devuelto lo que se traduce en re-trabajo, clientes insatisfechos, desarrolladores frustrados porque el “cliente cambia el requerimiento indiscriminadamente”, en resumen, proyectos que inician muy bien y acaban siendo proyectos kamikaze o proyectos de “marcha de la muerte”.

Esto no ocurre usando metodologías ágiles, el cliente es un miembro más del equipo de trabajo, por lo cual se tiene la participación activa de este en todos los momentos del ciclo de vida del proyecto, siendo una guía para que no haya desviaciones en el proyecto y que las entregas parciales y finales sean lo que realmente pidió, eliminando ambigüedades o supuestos.

Existen diversas metodologías ágiles, pero yo siento especial agrado y he trabajado con tres en particular:

  • Scrum
  • Kanban
  • XP

Cada una de ellas tiene sus características e implicaciones, tienen puntos en común pero lo más destacado es que son metodologías que pueden adaptarse según las necesidades de la empresa o proyecto. Todas promueven valores como comunicación, compromiso, seguimiento, empatía en los miembros del equipo, entre otras.

Como se menciona, lo ágil tiene que ver con que la administración de proyectos se desarrolla de esa manera. Por ejemplo, en Scrum se mantiene un pizarrón donde se encuentran plasmadas las actividades que hay pendientes, con el nombre de la persona que está encargado de ella, duración de la tarea y progreso. De esta forma, no es necesario que el gerente llegue a preguntar ¿cómo vamos? Sino que basta con mirar al pizarrón de Scrum y las tarjetas le dirán que se lleva y que pendientes existen. Todas las personas participan, las decisiones no recaen solo en el Administrador de Proyectos, sino que entre todos se encargan de establecer los tiempos y esfuerzos necesarios para lograr el cumplimiento de las tareas.

Las reuniones también son ágiles. Una reunión de estatus diaria, se realiza de pie (stand-up meeting) para poder mantener la agilidad y evitar que la duración de esta se prolongue. En estas reuniones todas las personas opinan y mencionan que tal van en las tareas que están desarrollando.

Kanban va más orientado a empresas manufactureras,  pero bien pueden funcionar en proyectos de desarrollo de software. En características es muy similar a Scrum pero es un poco más flexible que la anterior. XP (Extreme Programming) es una metodología en la cual se promueve enormemente el trabajo de equipo, permitiendo por ejemplo, que dos personas trabajen en conjunto en un mismo computador, con un solo teclado y mouse. Esto favorece que la calidad del producto de software sea mayor y que no existan “expertos únicos” en el sistema mientras que otros conocen muy poco de este. ¿Extremo? Más bien colaborativo.

Existe otra metodología denominada PSP (Personal Software Process) que es propiedad del SEI (Software Engineering Institute) la cual parece ser no tan ágil como las tres anteriores, pero tiene sus puntos recomendables para poder ser aplicados a todo proyecto de software.

En México, muchas empresas han aplicado estas metodologías ágiles y les ha funcionado bastante bien. Yo he combinado el manejo de Scrum con PSP sin problema, y logrando la interacción adecuada y sincronización entre ambas metodologías. Desde pequeñas hasta enormes empresas pueden ocupar estas metodologías. Gigantes de la industria como Google o Facebook hacen uso de estas teniendo muy buenos resultados.

Yo bien recomiendo el uso de estas metodologías, la implementación es bastante simple y les garantizo que les va a funcionar mucho. Bastantes gurús de la administración de proyectos tradicional estarán en mi contra, pero a mí me ha funcionado bastante y las personas de mi equipo de trabajo que han interactuado con estas por primera vez, las adoptan como parte de su desempeño diario.

Si quieres saber más sobre metodologías ágiles, muy pronto daré un curso sobre estas desde SG Campus.

¡Agiliza tus proyectos, agiliza tus entregas y haz que tus clientes y/ó empleados sientan la diferencia que estas metodologías implementan!

Tags