Últimos artículos

blog image

¿Qué son las metodologías ágiles? ¿Cuáles son las más populares?

February 17, 20246 min read
09a59a

¿Qué son las metodologías ágiles? ¿Cuáles son las más populares?

09a59a

Como lo prometido en el anterior post es deuda, hoy hablaremos sobre las metodologías ágiles, cuáles son las más populares, qué características tienen y qué roles ocupan los integrantes del equipo de desarrollo en cada una.

¿QUÉ SON LAS METODOLOGÍAS ÁGILES?  

Son formas de trabajo basadas en el modelo iterativo que permiten adaptar el ciclo de vida del software a las condiciones cambiantes del proyecto. Surgen como alternativas a la rigidez del patrón en cascada, cuyos críticos sostienen que introducir cambios no tiene por qué ser costoso. Por ende, rompen con este paradigma en el que apegarse al plan es prioridad y, en su lugar, optan por gestionar el proceso de desarrollo mediante iteraciones en las que se van incorporando cambios y funcionalidades nuevas.  

Las metodologías ágiles se apegan fielmente al Manifiesto Ágil, que dicta los principios fundamentales para la correcta implementación de cada una:

  1. Individuos e interacciones sobre procesos y herramientas

  2. Software funcionando sobre documentación excesiva

  3. Colaboración con el cliente sobre negociación contractual

  4. Respuesta ante el cambio sobre seguir un plan

¿QUÉ VENTAJAS TIENE IMPLEMENTAR UNA METODOLOGÍA ÁGIL?

Las ventajas de implementar una metodología ágil en un proyecto son variadas:

  1. El trabajo del equipo de desarrollo es veloz y eficiente.

  2. El cliente puede observar con detalle la evolución de su producto de software.

  3. Los errores se pueden detectar a tiempo.

  4. Se crean soluciones de calidad que satisfacen por completo al cliente.

¿CUÁLES SON LAS METODOLOGÍAS ÁGILES MÁS POPULARES?

SCRUM

Más que una metodología ágil, se define como un marco de trabajo (framework en inglés) aplicable dentro del desarrollo ágil de software. Goza de popularidad en muchos proyectos actualmente y tiene su propio manual de aplicación.  

VALORES FUNDAMENTALES DE SCRUM  

  1. Foco, que implica la concentración de los esfuerzos del equipo en concluir únicamente lo definido en los objetivos para cada iteración.

  2. Apertura, lo que significa que el equipo completo debe estar abierto a escuchar opiniones y ser transparente con respecto a temas relacionados con el proyecto.

  3. Respeto entre los miembros del equipo, valoración por el trabajo del colega y colaboración continua.

  4. Coraje para entender que el cambio es un factor constante.

  5. Compromiso con el proyecto, con el cumplimiento de los objetivos propuestos, con la creación de un producto de verdadera calidad y con la aplicación de todos los valores anteriores.  

CARACTERÍSTICAS DE SCRUM

  1. La utilización de sprints de dos semanas de duración en las que se cumplen los requisitos fijados para tal periodo.

  2. La existencia del Product Backlog, que es el lugar en donde se colocarán todos los requerimientos e historias de usuario.

  3. La realización de reuniones diarias de duración menor a 15 minutos en las que el equipo se mantiene al corriente del trabajo realizado y por hacer, así como los problemas encontrados.

  4. Los equipos pueden auto organizarse.

  5. El número de integrantes del equipo de desarrollo es relativamente pequeño: 3-9 personas.

ROLES DE SCRUM

  1. Product Owner: es el enlace entre el cliente y el equipo de trabajo. Ayuda en la creación de las historias de usuario, las prioriza y las coloca en el ya mencionado Product Backlog, para que todos los miembros tengan acceso a él.

  2. Scrum Master: es la persona encargada de facilitar la aplicación de SCRUM en el equipo, así como de suprimir cualquier impedimento que obstaculice la finalización del sprint. Contrario a lo que se cree, el Scrum Master NO es un líder ya que el grupo de trabajo se auto organiza.

  3. El equipo de desarrollo, que está capacitado para ejecutar todas las fases del ciclo de vida del software.  

xp

PROGRAMACIÓN EXTREMA (XP, eXtreme Programming)

Es una metodología ágil que tiene como fundamento la simplicidad y la adaptabilidad por encima de la previsibilidad. 

Contrario a los modelos tradicionales, la programación extrema sostiene que luchar contra la idea de los cambios durante el desarrollo es contraproducente y, en su lugar, se debe prestar atención especial a ellos.

VALORES FUNDAMENTALES DE LA PROGRAMACIÓN EXTREMA

  1. Retroalimentación continua, que describe la participación activa del cliente y su posibilidad de emitir opiniones o sugerir cambios sobre cada entrega parcial del producto.

  2. Valentía en el equipo de desarrollo, lo que implica que los programadores deben tener presente que si un cambio amerita desechar código obsoleto o reescribir la mayoría de un componente, se haga sin contratiempos ni limitaciones personales; se programa para hoy y no para después.

  3. Respeto entre los desarrolladores, el cual no solo aplica en el marco de sus relaciones interpersonales, sino que este se extrapola al proceso de codificación: no demorar el trabajo de otros introduciendo cambios innecesarios en el código,  no menospreciar el esfuerzo ajeno y pensar siempre en mejorar el producto son también formas de respeto.

  4. Comunicación, que implica no solo la que se produce dentro del equipo de manera oral, sino aquella que está implícita en el código: asegurarse que este sea legible, simple y sostenible por el resto del equipo hace que también sea un canal comunicativo entre los programadores. 

CARACTERÍSTICAS DE LA PROGRAMACIÓN EXTREMA

  1. Su filosofía incremental: pequeños cambios y mejoras por cada iteración.

  2. Programación en parejas: escribir código junto a otro programador hará que este sea de mejor calidad.

  3. Testing continuo para garantizar el hallazgo de errores de manera temprana.

  4. Corrección de errores antes que introducción de funciones.

  5. Refactorización constante del código.

  6. Simplicidad sobre complejidad para evitar que la dificultad de mantener el proyecto crezca exponencialmente.  

ROLES DE LA PROGRAMACIÓN EXTREMA  

  1. Programadores: son los roles esenciales del equipo de trabajo.

  2. Test Developers: diseñan las pruebas unitarias del proyecto.

  3. Cliente: es quien aporta los requisitos del producto y propone las mejoras.

  4. Tester: es quien realiza las pruebas funcionales del software en desarrollo.

  5. Tracker: hace el seguimiento del proyecto en términos de tiempo y costes, y proporciona realimentación al equipo de trabajo.

  6. Trainer: entrena al equipo de trabajo para que el proceso de desarrollo se ejecute de manera correcta.

  7. Consultor: es el integrante del equipo que tiene un conocimiento específico y necesario para ayudar en algún tema determinado del proyecto.

  8. Big Boss: es el enlace principal de comunicación entre el cliente y los programadores.  

xp

Fuente: Metodología XP - Diego Calvo

KANBAN

Kanban viene del idioma japónes y su traducción literal es cartelera. Se trata de una metodología de desarrollo que prioriza la entrega justo a tiempo y la representación visual del flujo de trabajo mediante columnas y tarjetas, organizadas de la siguiente forma:

  1. Primera columna: To do (Cosas por hacer)

  2. Segunda columna: In progress (En proceso)

  3. Tercera columna: Done (Terminado).  

Esta cartelera debe estar accesible para todos los integrantes del equipo. De esa manera se evita el olvido y la ejecución de trabajo repetido o innecesario.

PRINCIPIOS FUNDAMENTALES DE KANBAN

  1. Calidad sobre rapidez, lo que implica la ejecución correcta y sin errores de cada tarea.

  2. Reducción del desperdicio, lo que significa la supresión de trabajo sin importancia y la realización de lo justo y necesario.

  3. Mejora continua, que es vital para todo proyecto de software.

  4. Flexibilidad, lo que permite priorizar determinadas tareas colocadas en el backlog según sus niveles de importancia, en lugar de simplemente ejecutarlas por orden de entrada.

VENTAJAS DE APLICAR KANBAN

  1. Permite organizar el proceso de producción.

  2. El manejo del trabajo que cada integrante del equipo debe desarrollar es más eficiente.

  3. Su sistema de gestión visual posibilita la detección de embotellamientos dentro del flujo de trabajo y su posterior corrección.

kabN

Fuente: Kanban, el sistema que llevó a Toyota al mercado internacional


Ahora que conoces qué son las metodologías ágiles y cuáles son las más populares, te invito a que comiences nuevos proyectos de software en los que puedas implementarlas. Si todavía no crees tener los conocimientos necesarios para hacerlo, entonces puedes visitar nuestro portal de cursos en academiaweb.ca/cursos para mejorar tus habilidades y adquirir otras que te permitirán dar el gran paso.

Metodologías ÁgilesManifiesto ÁgilScrumProgramación ExtremaKanban
blog author image

Carlos Reyes

Estudiante de Ingeniería en Computación y Desarrollo Web Front-End. Amante de la educación autodidacta, de la tecnología y de todo lo que se ha podido lograr con ella. Actualmente construyendo mi propio camino hacia la realización personal.

Back to Blog

© All Rights Reserved.