Scrum frente a Waterfall frente a Agile frente a Lean frente a Kanban: Guía completa de comparación

La industria del desarrollo de software presenta muchos enfoques diferentes — algunos son nuevas versiones de métodos antiguos, mientras que otros adoptan prácticas relativamente recientes. Los dos enfoques más comúnmente utilizados sonAgile, comoScrum, Kanban y Lean, y el modelo tradicional de Waterfall, como los métodos estructurados o el más reciente RUP.

La mayoría de las empresas de software que siguen estos dos paradigmas creen que su método elegido es superior en ciertos aspectos. Así que antes de responder la pregunta, «¿cuál es más exitoso?» — examinemos sus diferencias clave.

Enfoque Waterfall

Waterfall es un enfoque lineal para el desarrollo de software. Cada fase representa una etapa distinta en el proceso, generalmente completada antes de que comience la siguiente. A menudo existen hitos entre cada fase de desarrollo.

  • Estructurado como un gran proyecto en un proceso secuencial
  • Adecuado para entornos donde los cambios son raros
  • Requiere que los requisitos estén completamente definidos desde el principio

Por lo tanto, el modelo Waterfall insiste en avanzar a la siguiente fase solo después de que la anterior haya sido verificada y validada, como se muestra en la figura a continuación:

Waterfall Approach

Enfoque Waterfall

Ejemplo:

En el modelo Waterfall original de Royce, se siguen las siguientes fases en orden:

  • Requisitos del sistema y del software:Capturados en un documento de requisitos del producto
  • Análisis:Produce modelos, arquitectura y reglas de negocio
  • Diseño:Produce la arquitectura del software
  • Codificación:Desarrollo, verificación e integración del software
  • Pruebas:Descubrimiento sistemático y depuración de defectos
  • Operación:Instalación completa del sistema, migración, soporte y mantenimiento

Enfoque Agile

Agile se deriva del pensamiento Lean, aplicando el concepto de «Lean» en entornos de TI. El enfoque principal de los métodos Lean es:

  • Eliminar el desperdicio en los procesos
  • Minimizar las actividades comerciales que no aportan valor
  • Maximizar el valor desde la perspectiva del cliente
Agile Approaches

Enfoques Ágiles

Ágil es una metodología de gestión de proyectos comprobada que fomenta los siguientes principios fundamentales:

  • Inspección y adaptación frecuentes
  • Fomenta la colaboración del equipo, la autoorganización y la responsabilidad
  • Un conjunto de mejores prácticas de ingeniería para entregar proyectos de alta calidad de forma rápida
  • Un enfoque empresarial que alinea el desarrollo con las necesidades del cliente y los objetivos de la empresa

Desarrollo Ágil – Ciclo de vida iterativo

El desarrollo ágil incluye fases tradicionales como planificación, análisis de requisitos, diseño, codificación, pruebas y despliegue — pero forman un bucle en lugar de una línea recta. Esto significa que el proceso es flexible, repetible y puede ocurrir en cualquier orden o en paralelo. Esto permite recopilar comentarios de los usuarios, pruebas continuas en diferentes entornos y modificar el alcance del proyecto durante la ejecución.

Fundamentos de la metodología Ágil

  • Empirismo:Capacidad para ejecutar, detenerse, reflexionar, mejorar y continuar de una manera que aumente progresivamente la productividad.
  • Priorización:Entregar trabajo basado en el valor para el negocio.
  • Autoorganización:El equipo entiende mejor cómo entregar el trabajo dadas las recursos y limitaciones disponibles.
  • Tiempo limitado:El equipo debe completar una tarea definida dentro de un marco de tiempo fijo.
  • Colaboración:El equipo se compromete a entregar el producto final dentro de un tiempo determinado, fomentando la colaboración entre equipos y la realización creativa de las tareas.

Ágil frente a Cascada – La triple restricción

La mayor ventaja del enfoque en cascada es el costo fijo y la previsibilidad. Conoces el precio y la fecha de entrega. Su mayor debilidad es la falta de flexibilidad. Los métodos ágiles son altamente flexibles y pueden evolucionar hacia productos significativamente diferentes de la visión original.

Agile vs Waterfall

Ágil frente a Cascada

Cascada tradicionalse basa en la triple restricción de tiempo, costo y alcance. Ajustar cualquiera de estas variables obliga a cambiar al menos una otra. Entregar un proyecto exitoso depende del equilibrio entre estas variables en conflicto. Pero como sabemos, simplemente agregar recursos a un proyecto no siempre logra el resultado deseado. De hecho, añadir recursos tarde en un proyecto de software puede tener un impacto negativo.

Enfoque Ágiladoptar un enfoque diferente, invirtiendo la triple restricción. En lugar de tratar el alcance como fijo desde el principio, Ágil establece el tiempo (iteraciones) y el costo (miembros del equipo) como fijos, y luego ajusta el alcance para centrarse en los elementos de mayor prioridad. Ágil asume que el alcance evolucionará con el tiempo. El objetivo es cumplir con los requisitos más importantes del cliente dentro del presupuesto y el tiempo. A medida que avanza el proyecto, Ágil permite nuevas exigencias o reordenación de prioridades.

Agile vs Waterfall Quality

Ágil frente a Cascada Calidad

¿Ágil o cascada? Vea las figuras

El último informe del Grupo Standish cubre proyectos estudiados entre 2013 y 2017. El éxito general, los desafíos y los fracasos de los proyectos ágiles y en cascada se muestran a continuación. Los proyectos ágiles tienen aproximadamente el doble de probabilidades de tener éxito y tres veces menos probabilidades de fallar que los proyectos en cascada.

Agile vs Waterfall – Project Success Rate

Ágil frente a cascada – Tasa de éxito de proyectos

El paraguas ágil

Desde el nacimiento del Manifiesto Ágil en 2001, el enfoque ágil ha ganado un impulso significativo. De hecho, el ágil no es una única metodología, sino una mentalidad que permite a los equipos y organizaciones innovar, responder rápidamente a las demandas cambiantes y reducir riesgos. Las organizaciones pueden adoptar de forma flexible diversos marcos disponibles, como Scrum, Kanban, Lean, XP y más.

Agile Umbrella

Paraguas ágil

Enfoque Lean

Las organizaciones Lean comprenden el valor para el cliente y se centran en sus procesos clave para mejorarlo continuamente. El objetivo final es entregar un valor perfecto al cliente mediante un proceso ideal de creación de valor sin desperdicios.

Enfoque Lean de cinco pasos

El proceso de pensamiento de cinco pasos que guía la implementación Lean es fácil de recordar, pero no siempre fácil de ejecutar:

  1. Defina el valor desde la perspectiva del cliente final.
  2. Mapee todos los pasos en la cadena de valor para cada producto, eliminando los pasos que no aportan valor siempre que sea posible.
  3. Haga que los pasos que crean valor fluyan de forma suave y secuencial hacia el cliente.
  4. Deje que el cliente extraiga valor de la actividad siguiente aguas arriba según sea necesario.
  5. Mejore continuamente identificando las cadenas de valor, eliminando desperdicios, introduciendo flujo y extracción, y repitiendo el proceso hasta alcanzar la perfección — donde se entrega un valor perfecto con cero desperdicios.
5-Step Lean Approach

Enfoque Lean de cinco pasos

Enfoque Scrum

Scrum es una forma ágil de gestionar proyectos, típicamente en el desarrollo de software. Utilizar Scrum para el desarrollo de software ágil a menudo se considera una metodología — pero en lugar de tratar Scrum como una metodología, debería considerarse como un marco para gestionar el proceso.

Scrum Process Canvas

Mesa de proceso Scrum

Enfoque Kanban

Kanban significa en japonés «señal visual» o «tarjeta». Los trabajadores de la línea de Toyota usaban Kanban para representar los pasos en un proceso de fabricación. Como parte del enfoque Lean, la naturaleza altamente visual del sistema permite a los equipos comunicar más fácilmente qué debe hacerse y cuándo. También estandariza el flujo de trabajo y perfecciona el proceso, ayudando a reducir el desperdicio y maximizar el valor. Al igual que un tablero de sprint de Scrum, Kanban rastrea las actividades «Por hacer – En progreso – Hecho», pero limita el número de tareas en progreso (definido por el líder del equipo y no puede ser superado).

Kanban Approach

Enfoque Kanban

Existen cuatro principios centrales de Kanban:

  • Visualice el trabajo para aumentar la comunicación y la colaboración.
  • Limite el trabajo en progreso para evitar cadenas infinitas de tareas abiertas sin priorizar.
  • Mida y optimice el flujo — recopile métricas, prediga problemas futuros.
  • Mejore continuamente mediante análisis y retroalimentación.

 

Dejar una contestacion