¿Qué son las metodologías ágiles y para qué sirven? - CableNaranja

¿Qué son las metodologías ágiles y para qué sirven?

¡Comparte nuestro contenido!

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)

Trabajar en equipo en cualquier tipo de proyecto, puede a veces ser muy complejo y engorroso. Los ideales de los integrantes chocan, las actitudes no siempre son las adecuadas, incluso puede haber personas en el equipo que no tengan las aptitudes requeridas ni la experiencia, entonces ¿Cómo organizamos un proyecto con un cliente exigente, una apretada agenda de trabajo y un equipo de trabajo que puede no ser siempre el mejor? La respuesta está en las metodologías ágiles.

¿Qué son las metodologías ágiles?

Por metodologías ágiles entendemos al conjunto de herramientas, estrategias y metodologías que ayudan en el proceso de desarrollo de proyectos que por necesidad deben enfocarse completamente en suplir y satisfacer las necesidades del cliente (client driven) Contrario a lo que algunos piensan, este tipo de metodologías no sirven únicamente para desarrollo de software, sino también en proyectos enfocados a marketing, calidad en el servicio, satisfacción al cliente, publicidad, diseño de productos, entre otras.

Los que se busca con ellas es la optimización y rendimiento tanto de recursos, esfuerzo y talento humano. Para lograr esto, se enfocan en la agilización de los procesos o etapas del proyecto al eliminar redundancia, ambigüedad, sobrecarga de trabajo y; propiciar la innovación y la renovación de los métodos de trabajo.

Características de una metodología ágil

Para que sea considerada ágil, y por lo tanto útil, la implementación de una de estas metodologías, debe mantener las siguientes características:

  • Cooperación entre equipos de trabajo
  • Debe fomentar la autogestión
  • El usuario / cliente debe estar altamente involucrado en todo el proceso
  • Debe permitir una comunicación fluida
  • Revisiones constantes del trabajo realizado
  • Entregas regulares a corto plazo
  • Medición objetiva del progreso
  • Adaptación a los cambios

Manifiesto del desarrollo ágil y sus 4 valores

En el año 2001 un grupo formado por 17 desarrolladores de software se reunió para discutir los problemas típicos en el desarrollo de proyectos. El resultado de esas reuniones fue un documento al que llamaron Manifiesto Ágil el cuál esta basado en 4 valores:

  1. Individuos e interacciones sobre procesos y herramientas: Esto significa que en un proyecto, siempre deben tener mayor valor las personas involucradas y sus relaciones e interacciones, por encima de procedimientos, procesos, herramientas de trabajo, entornos de desarrollo, frameworks, etc.
  2. Software funcionando sobre documentación extensiva: Significa darle mayor importancia al desarrollo del producto y dejar de lado aquellos elemento que no sean imprescindibles o cuyo obtención absorba demasiado tiempo o esfuerzo.
  3. Colaboración con el cliente sobre negociación contractual: Siendo el cliente el elemento más importante, debe colaborar la mayor cantidad de tiempo posible en el proyecto sin enfocarse demasiado en detalles contractuales que, pueden ser tratados por otras áreas o departamentos.
  4. Respuesta ante el cambio sobre seguir un plan: Ser más flexible ante los cambios que puedan ocurrir, sin necesidad de preocuparse demasiado por el apego a un plan de trabajo. Con esto se busca poder cambiar rápidamente de estrategias sin afectar demasiado al proyecto como un todo.

Los 12 principios del manifiesto ágil

Para poder enfocarse en el cumplimiento de estos 4 valores, se creo un conjunto de 12 principios que deben regir todo proyecto que adopte una metodología ágil. estos son:

  1. Nuestra mayor prioridad es satisfacer al cliente mediante la entrega temprana y continua de software con valor.
  2. Aceptamos que los requisitos cambien, incluso en etapas tardías del desarrollo. Los procesos Ágiles aprovechan el cambio para proporcionar ventaja competitiva al cliente.
  3. Entregamos software funcional frecuentemente, entre dos semanas y dos meses, con preferencia al periodo de tiempo más corto posible.
  4. Los responsables de negocio y los desarrolladores trabajamos juntos de forma cotidiana durante todo el proyecto.
  5. Los proyectos se desarrollan en torno a individuos motivados. Hay que darles el entorno y el apoyo que necesitan, y confiarles la ejecución del trabajo.
  6. El método más eficiente y efectivo de comunicar información al equipo de desarrollo y entre sus
    miembros es la conversación cara a cara.
  7. El software funcionando es la medida principal de progreso.
  8. Los procesos Ágiles promueven el desarrollo sostenible. Los promotores, desarrolladores y usuarios debemos ser capaces de mantener un ritmo constante de forma indefinida.
  9. La atención continua a la excelencia técnica y al buen diseño mejora la Agilidad.
  10. La simplicidad, o el arte de maximizar la cantidad de trabajo no realizado, es esencial.
  11. Las mejores arquitecturas, requisitos y diseños emergen de equipos auto-organizados.
  12. A intervalos regulares el equipo reflexiona sobre cómo ser más efectivo para a continuación ajustar y perfeccionar su comportamiento en consecuencia.
¿Qué son las metodologías ágiles y para qué sirven? - CableNaranja
Foto de Ryland Dean en Unsplash

Metodologías ágiles más comunes

Dado que hay muchas, listaremos aquí las más conocidas y / o populares por su adaptación y seguimiento a los 12 principios ágiles:

  • SCRUM: Probablemente la más conocida de todas. Es ideal para equipos pequeños que son liderados por un “Scrum Master” cuyo trabajo es conseguir que todos trabajen motivados, además de quitar los obstáculos que se puedan presentar. Se enfoca en sesiones de trabajo o sprints con objetivos claramente definidos y sesiones informativas cortas.
  • Kanban: Se trabaja con un tablero para representar tareas a cumplir y columnas que representan las etapas o avances esperados. Cada miembro del equipo debe ir actualizando sus actividades moviendo estas a la columna que corresponda según lo que ha logrado.
  • AFP: Conocida como Marco de Proyecto Adaptativo, se enfoca en la idea de que todo puede cambiar en cualquier momento: los recursos, el presupuesto, el cronograma de trabajo e incluso los miembros del equipo, por lo tanto el enfoque debe estar en los recursos que realmente tenemos disponibles.
  • XPM: En español es conocida como Gestión Extrema de proyectos. Se aplica en proyectos con elevado grado de incertidumbre, enfocándose en el cambio de los procesos hasta que se logre el objetivo deseado. XPM maneja periodos de trabajo (sprints) realmente muy cortos, así como la posibilidad de hacer prácticas de prueba y error.
  • ASD: O Desarrollo Adaptativo de Software, es una metodología que favorece el aprendizaje mientras se trabaja. Se enfoca en la adaptación continua a través de sus tres fases únicas: teorizar, colaborar y aprender. Dado que no se busca trabajar de manera lineal, incluso las etapas pueden superponerse.
  • FDD: El Desarrollo Basado en Funcionalidad o FDD busca la incorporación inmediata de cualquier elemento al ciclo de trabajo, al aumentar la frecuencia de actualización del proyecto. La corrección de errores se va haciendo al mismo tiempo que la implementación, por lo que no hay que esperar a corregir errores y luego liberar el producto. Esta metodología depende completamente de la retroalimentación del cliente.
  • Lean: Consiste en identificar todos aquellos procesos que no son relevantes para la consecución del objetivo del proyecto, para enfocarse en aquellos que si lo son, y con ello, ahorrar recursos.
  • XP: La programación extrema es una metodología que se basa en 5 principios básicos: simplicidad, comunicación, retroalimentación, coraje y respeto. Uno de sus enfoques más importantes consiste en diseñar y programar para hoy y no mañana. Otro enfoque de esta metodología es la constante implementación de buenas prácticas, en otras palabras, no se trata de “trabajar a lo loco” como algunos piensan.

¿Cómo evitar que la metodología no falle?

Una enorme crítica a las metodologías ágiles, es lo complejas que pueden ser y lo fácil que se falla en su implementación. No de balde, las redes sociales están llenas de gente quejándose constantemente de ello. Así que ¿Cómo evitamos el fracaso o, al menos entregamos algo medianamente decente sin acabar odiando el proceso? Aquí algunas sugerencias:

  1. Compromiso de todo el equipo: Siempre vamos a tener elementos que no son muy buenos trabajando en equipo. Debemos buscar un compromiso total de todos los miembros y eso los incluye. Debemos hacer lo posible por lograr que esas personas entiendan la importancia del trabajo en equipo. Si algún miembro no se compromete, es importante sacarlo del proyecto después de una o dos llamadas de atención, antes de que contamine al resto con sus malas actitudes y constantes quejas.
  2. Flexibilidad no es señal de irresponsabilidad: Irónicamente muchos piensan que el cuarto valor significa no seguir pautas, reglas, normas o estándares. Es importante dejar en claro que no se trata de hacer lo que sea, como sea o cuando sea. Un trabajo sin dirección ni reglas suele ser trabajo perdido. En otras palabras, hay que respetar las pautas marcadas.
  3. Buscar la mejora continua: Otro error muy común es creer que se debe entregar sin mirar demasiado los detalles del resultado obtenido. Esto por supuesto no es así, ya que cada entrega siempre debe buscar ser mejor en calidad que la anterior.
  4. Respetar lo roles establecidos: siempre va a haber alguien que quiera hacer de todo, también podemos tener un superior que por ahorrar puede querer saturar a alguien de responsabilidades. El trabajo sin orden y sin control no solo no es productivo, es desgastante y socava la productividad del equipo. Hay que hacer lo posible por no solo respetar los roles, sino conocer a fondo sus tareas y responsabilidades.
  5. Respetar los tiempos o renegociar: aunque muchos fanáticos del movimiento ágil odian renegociar, es importante saber a tiempo nuestra falta de tiempo, capacidad, recursos o personal. La renegociación es importante y, dado que el tercer valor nos pide estar en constante comunicación con el cliente, debemos establecer un vínculo amistoso que nos permita hacer esto sin mucha dilación. No hay peor cosa que fallar por falta de tiempo.

¿Te ha resultado? Déjanos saber en los comentarios aquí abajo, en nuestra cuenta de twitter @cablenaranja7 o en nuestra página de facebook.

¡Comparte nuestro contenido!

Entradas relacionadas

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *