Metodologías de desarrollo de software (tradicionales vs ágiles)

Las metodologías son marcos (técnicas y métodos organizativos) que hacen más eficiente el desarrollo de software, generalmente orientados a un desarrollo grupal aumentando su organización.

Existen muy diversas técnicas englobadas en metodologías, pero debemos destacar la enorme influencia que tienen las metodologías ágiles a nivel empresarial, estas facilitan el desarrollo de un software de calidad minimizando el tiempo de desarrollo. Según estudios recientes (ver anexo: https://www.pmi.org/-/media/pmi/documents/public/pdf/learning/thought-leadership/pulse/pulse-of-the-profession-2017.pdf ) estas metodologías son usadas (en 2017) en el 71% de las empresas de desarrollo.

En líneas generales una metodología de desarrollo permite reducir la dificultad, agilizar el proceso, ordenar las tareas y en suma, mejorar el resultado del producto final.

Tipos de metodologías de software

Las metodologías se organizan en dos grandes bloques, las tradicionales y las ágiles.

Metodologías tradicionales : Se caracterizan por la rigidez y claridad a la hora de definir los requisitos del proyecto, el ciclo de desarrollo es generalmente muy poco flexible y no está abierto a cambios. Dentro de las metodologías tradicionales encontramos las siguientes:

  • Cascada : Organización descendente de las etapas del desarrollo, rígido.
  • Prototipado : Se basa en la creación de un prototipo sobre el que se iteran futuras etapas.
  • Espiral : Iteraciones de ciclos de cuatro etapas (planificación, análisis de riesgo, desarrollo y evaluación, es una mezcla entre cascada y prototipado)
  • Incremental : Se llega al producto final de manera progresiva, se añade funcionalidades por etapas, es mucho más flexible que cascada y permite una rápida interacción con el producto.
  • Diseño rápido (RAD) : Desarrollo rápido y eficiente, costes elevados, propenso a errores.

Metodologías ágiles: Permiten un desarrollo más rápido y flexible, permiten adaptar el software a las necesidades cambiantes, la versatilidad es uno de sus pilares, son en general, mucho más eficientes que las tradiciones:

  • Kanban: Se divide el trabajo en ínfimas porciones y se organizan en un tablero que se divide en tareas pendientes, en curso y realizadas.
  • Scrum: Se itera sobre bloques de tiempo (normalmente entre 2-4 semanas), se conocen estas iteraciones como sprints y comprenden las siguientes etapas: planificación, ejecución, reunión diaria y demostración de resultados.
  • Lean: Centrada en las personas, formación y experiencia antepuestas a horarios y costes.
  • Programación extrema (xp): Basada en las relaciones interpersonales y en la adaptación al contexto del desarrollador, se realiza en parejas.

A continuación un gráfico que muestra la frecuencia de uso de varios elementos en el desarrollo empresarial:

¿Te ha resultado útil?

Promedio de puntuación 5 / 5. Recuento de votos: 1

Deja una respuesta