Curso · Tema 1 · Lección 7 de 19

Ciclos de vida: predictivo, adaptativo e híbrido

Cascada, iterativo, incremental, ágil e híbrido: qué los distingue de verdad, y cómo elegir según la estabilidad de los requisitos, el tamaño del equipo, el riesgo tecnológico y el plazo.

Lo que vas a ser capaz de hacer al terminar
  • Distinguir con precisión iterativo de incremental (la confusión más común).
  • Explicar la diferencia esencial entre predictivo y adaptativo.
  • Recomendar un ciclo de vida para un proyecto concreto y justificarlo con los cuatro factores del temario.
  • Reconocer los valores del Manifiesto Ágil y desmontar los mitos sobre lo ágil.
Por qué importa para el examen

Tema 1, diapositivas 48-50. La diapositiva 50 termina con una pregunta del profesor: "¿podéis darme ejemplos de proyectos en los que sería mejor uno que otro?". Es casi seguro que habrá preguntas de escenario: "dado este proyecto, ¿qué ciclo de vida?". Lo ágil en detalle (Scrum) es Tema 3, pero aquí necesitas lo suficiente para contrastar.

1. Qué es un ciclo de vida

Un modelo de ciclo de vida es la forma en que se organizan en el tiempo las actividades del desarrollo (requisitos, diseño, construcción, pruebas, despliegue): en qué orden, cuántas veces y cuándo se entrega. Las diapositivas citan cinco:Tema 1, diap. 48. predictivo/secuencial/cascada, iterativo, incremental, ágil e híbrido.

2. Predictivo (secuencial, cascada)

Se intenta definir y planificar gran parte del trabajo al inicio.Tema 1, diap. 50. Las fases van una detrás de otra: requisitos → diseño → implementación → pruebas → despliegue. Cada fase termina con un entregable revisado (un documento de requisitos aprobado, un diseño aprobado) antes de empezar la siguiente. El cliente ve el producto funcionando al final.

Ampliación: el artículo de Winston Royce (1970) que se cita como origen de la cascada en realidad advertía de sus riesgos y proponía iterar. Una variante es el modelo en V, que empareja cada fase de definición con su nivel de prueba (requisitos ↔ aceptación, diseño ↔ integración…).

3. Iterativo frente a incremental

Son dos ideas distintas que se combinan a menudo. Merece la pena tenerlas muy claras:

IterativoIncremental
IdeaRepetir el ciclo para refinar: cada vuelta mejora lo que ya existeConstruir por partes: cada entrega añade funcionalidad completa nueva
Pregunta¿Cómo lo hacemos mejor?¿Qué parte añadimos ahora?
ImagenPintar el cuadro entero en boceto, luego con color, luego con detallePintar el cuadro trozo a trozo, cada trozo ya terminado
TusBusv1 con estimación simple; v2 con un modelo mejor; v3 con datos de tráficoEntrega 1: tiempos de llegada; entrega 2: favoritos; entrega 3: avisos
Riesgo que reduceNo saber cómo debe ser (requisitos, diseño)Tardar mucho en entregar valor

La metáfora del cuadro es de Jeff Patton (User Story Mapping, 2014), con la Mona Lisa.

Un proyecto puede ser incremental sin ser iterativo (entregas por módulos, cada uno hecho en mini-cascada y nunca revisado) o iterativo sin ser incremental (prototipos sucesivos del producto entero, que sólo se entrega al final). Lo ágil es las dos cosas a la vez.

Ampliación: el modelo en espiral de Boehm (1986) es iterativo y está guiado por el riesgo: cada vuelta empieza identificando y reduciendo el mayor riesgo pendiente. Es la raíz de la "priorización por riesgo" de la lección 5.

4. Ágil

Ágil es una familia de enfoques adaptativos: se aprende y se ajusta progresivamente.Tema 1, diap. 50. Se trabaja en ciclos cortos (iteraciones de 1-4 semanas, o flujo continuo), cada uno termina con software funcionando que el cliente ve y comenta, y lo aprendido cambia el plan de los siguientes. Su filosofía está en el Manifiesto Ágil (2001):Manifiesto Ágil (español).

Valoramos más……que
Individuos e interaccionesprocesos y herramientas
Software funcionandodocumentación extensiva
Colaboración con el clientenegociación contractual
Respuesta ante el cambioseguir un plan

La frase final del manifiesto es la que se olvida: "aunque valoramos los elementos de la derecha, valoramos más los de la izquierda". Ágil no elimina planes, documentación ni contratos: los pone al servicio de lo de la izquierda.

Marcos ágiles habituales: Scrum (sprints de duración fija, roles de Product Owner, Scrum Master y equipo de desarrollo; eventos como planificación, daily, revisión y retrospectiva) y Kanban (flujo continuo, tablero visible, límite de trabajo en curso, WIP). Los verás a fondo en el Tema 3; aquí basta con saber que existen y que la gestión no desaparece en ellos: se integra en el backlog, la planificación y las retrospectivas.Las diapositivas citan Scrum y Kanban como apoyo a planificación y seguimiento: Tema 1, diap. 60.

Mitos sobre lo ágil (aparecían en exámenes antiguos)
  • "En ágil no hace falta especificar requisitos": falso. Se especifican de otra forma (historias de usuario con criterios de aceptación) y de forma progresiva, justo antes de necesitarlos.
  • "Debe haber una separación nítida entre el equipo y el cliente": falso, es lo contrario: colaboración continua.
  • "Los cambios son el enemigo": falso. Actitud de encajar los cambios; respuesta al cambio sobre seguir un plan.
  • "Ágil = sin planificación": falso. Se planifica más a menudo y con horizontes más cortos (planificación continua, rolling wave).
  • "Ágil = sin documentación": falso. Documentación "justa y suficiente".Tema 1, diap. 65.
  • Sí caracterizan lo ágil: entregas y demostraciones frecuentes, actitud de encajar los cambios, colaboración con el cliente, equipos autoorganizados.

5. Híbrido

Combina elementos predictivos y adaptativos. Es lo más frecuente en la industria real. Formas típicas:

Ojo con el híbrido mal hecho ("water-scrum-fall"): requisitos cerrados en cascada, sprints en medio, y pruebas y despliegue al final en cascada. Tiene los costes de ambos y los beneficios de ninguno.

6. Cómo elegir

La elección del ciclo de vida no es una decisión trivial ni única: debe adaptarse al contexto considerando la estabilidad de los requisitos, el tamaño del equipo, el riesgo tecnológico y el plazo disponible, porque un modelo inadecuado (predictivo, ágil o híbrido) puede condenar al proyecto antes de escribir la primera línea de código, mientras que el acertado es un habilitador natural del éxito.Tema 1, diap. 49.

FactorEmpuja hacia predictivo si…Empuja hacia adaptativo si…
Estabilidad de requisitosSon estables, conocidos, impuestos (una ley, una norma)Son inciertos o cambiarán al ver el producto
Tamaño del equipoMuy grande, distribuido, con muchos proveedores, que necesita coordinación formalPequeño (unas 3-9 personas), en contacto directo; o grande dividido en equipos pequeños con un marco de escalado
Riesgo tecnológicoTecnología conocida, ya hecha antesTecnología nueva: hay que aprender pronto con iteraciones cortas
Plazo disponiblePlazo holgado y alcance fijo, entrega única aceptableHay que entregar valor pronto o la fecha es fija y el alcance puede ajustarse

Ampliación: el PMBOK 7 añade factores del producto (grado de innovación, seguridad física, regulación), del proyecto (interesados, restricciones de calendario, financiación) y de la organización (estructura, cultura, capacidad). Las matrices de complejidad tipo Stacey dicen lo mismo: cuanto más incierto es qué construir y cómo, más adaptativo.

Ejemplos, como pedía el profesor

ProyectoCicloPor qué
Adaptar la nómina de una empresa a un cambio legal en el IRPFPredictivoRequisitos fijados por ley, tecnología conocida, fecha de entrada en vigor
App de una startup para un mercado que aún no se conoceÁgilRequisitos muy inciertos; hay que aprender con usuarios reales rápido
Software de control de un dispositivo médicoPredictivo o híbrido con mucha verificaciónRegulación estricta, trazabilidad obligatoria, seguridad física (aunque el desarrollo interno puede ser iterativo)
TusBusÁgil o híbridoFecha fija (feria) con alcance negociable (MoSCoW); requisitos que cambiarán al probar; riesgo técnico en los datos GPS; equipo pequeño. Probablemente contrato e hitos predictivos y construcción en iteraciones
Migración de 200 servidores de un banco a la nube con 5 proveedoresHíbridoEquipo grande y distribuido y hitos contractuales (predictivo), con oleadas de migración iterativas que aprenden de la anterior
La idea en una frase

Predictivo apuesta por saber al principio; adaptativo apuesta por aprender por el camino. Se elige según cuánta incertidumbre haya, y casi nunca en estado puro.

Práctica

¿Cuál es la diferencia esencial entre un enfoque predictivo y uno adaptativo?

  1. El predictivo no tiene plan y el adaptativo planifica todo con detalle
  2. El predictivo define gran parte al inicio; el adaptativo aprende y ajusta
  3. El predictivo usa documentación y el adaptativo no documenta nada
  4. El predictivo es para equipos pequeños y el adaptativo para grandes
Predictivo: se intenta definir y planificar gran parte del trabajo al inicio. Adaptativo: se aprende y se ajusta progresivamente. Ambos planifican y documentan; cambia cuándo y cuánto.

¿Iterativo o incremental?

  • Cada entrega añade un módulo nuevo y completo: primero reservas, luego pagos
  • Se rehace la pantalla principal tres veces, mejorándola con lo aprendido
  • El modelo de estimación se refina en cada versión con más datos reales
  • Se publica la app con 3 líneas de bus, y en cada entrega se añaden más líneas
Iterativo = refinar lo que ya hay (vueltas). Incremental = añadir partes nuevas (trozos). Ágil combina ambos.

¿Qué aspectos caracterizan a las metodologías ágiles?

  1. Entregas y demostraciones frecuentes del sistema
  2. Una separación nítida entre el equipo y el cliente
  3. Actitud de encajar los cambios cuando aparecen
  4. No es necesario realizar especificación de requisitos
  5. Respuesta ante el cambio por encima de seguir un plan
  6. Los cambios son el enemigo y deben evitarse a toda costa
Entregas frecuentes, encajar cambios y responder al cambio sí. La separación equipo-cliente es lo contrario de "colaboración con el cliente"; los requisitos sí se especifican (historias con criterios de aceptación, de forma progresiva). Pregunta casi idéntica a una de un examen anterior.

Hay que adaptar el sistema de facturación de una empresa a una nueva norma de factura electrónica, con especificación técnica oficial cerrada y fecha legal de obligatoriedad. El equipo conoce bien la tecnología. ¿Qué ciclo de vida encaja mejor?

  1. Ágil puro, porque siempre es el enfoque más moderno y eficiente
  2. Predictivo, porque los requisitos son estables y la tecnología conocida
  3. Espiral, porque el riesgo tecnológico del proyecto es muy elevado
  4. Ninguno, porque con una fecha legal no se puede planificar el trabajo
Requisitos estables e impuestos, tecnología conocida, alcance cerrado: los factores empujan hacia predictivo. Elegir ágil "porque es moderno" contradice la idea de que la elección depende del contexto.

Una startup de 5 personas quiere lanzar una app para un tipo de usuario que aún no conoce bien, y no sabe qué funciones serán las que importen. ¿Qué ciclo de vida recomiendas?

  1. Cascada, para dejar todos los requisitos cerrados antes de programar
  2. Modelo en V, porque así cada fase tiene su nivel de prueba asociado
  3. Ágil, con entregas cortas para aprender de usuarios reales pronto
  4. Predictivo con un contrato cerrado de alcance, plazo y presupuesto
Requisitos muy inestables, equipo pequeño, necesidad de aprender: adaptativo. Cerrar requisitos sin conocer al usuario garantiza construir lo que no quiere.

Verdadero o falso: "Según el Manifiesto Ágil, la documentación, los planes y los contratos no tienen valor".

  1. Verdadero
  2. Falso
Falso. "Aunque valoramos los elementos de la derecha, valoramos más los de la izquierda." Tienen valor, pero menos que el software funcionando, la colaboración y la respuesta al cambio.

Recomienda un ciclo de vida para TusBus justificándolo con los cuatro factores del temario.

Ágil o híbrido. (1) Estabilidad de requisitos: baja; el ayuntamiento descubrirá qué quiere al ver la app, y los usuarios también. (2) Tamaño del equipo: pequeño (unas 4-6 personas), comunicación directa. (3) Riesgo tecnológico: alto en la calidad de los datos GPS y la precisión de la estimación, conviene validarlo en las primeras iteraciones. (4) Plazo: fijo (feria), lo que pide alcance negociable y entregas tempranas priorizadas con MoSCoW. Híbrido porque el contrato con el ayuntamiento probablemente exija hitos y presupuesto cerrados (predictivo en la relación contractual), con la construcción en iteraciones.

¿Qué quiere decir el temario con que un ciclo de vida inadecuado "puede condenar al proyecto antes de escribir la primera línea de código"? Pon un ejemplo.

Que la elección del ciclo de vida determina cuándo y cómo se descubren los errores y se gestionan los cambios, y si encaja mal con el contexto el fracaso ya está sembrado. Ej.: una app innovadora con requisitos inciertos hecha en cascada: se cierran requisitos que resultan equivocados y sólo se descubre al final, en pruebas o en producción, cuando corregirlo es carísimo. O al revés: un sistema regulado hecho "ágil" sin trazabilidad ni documentación, que luego no pasa la certificación.

Repaso espaciado · lecciones 3-6

¿Cuál es la pregunta fundamental del estudio de viabilidad?

  1. ¿Podemos construir el sistema con la tecnología que ya tenemos?
  2. ¿Cuánto costará exactamente el proyecto hasta su entrega final?
  3. ¿Debemos hacer este proyecto, en todas sus dimensiones?
  4. ¿Qué arquitectura es la más moderna para este tipo de sistema?
"¿Debemos hacer este proyecto?" La técnica es sólo una de las cinco viabilidades.

Repaso de WSJF: valor 13, criticidad temporal 8, reducción de riesgo 4, tamaño 5. ¿WSJF?

(13 + 8 + 4) / 5 = 25 / 5 = 5.

Para profundizar

Fuente principal recomendada

Manifiesto Ágil y sus 12 principios (5 minutos, merece la pena leerlos literalmente). Para Scrum en su fuente primaria (adelanto del Tema 3): The Scrum Guide. Para ciclos de vida en general: Sommerville, cap. 2 "Software processes".

¿Dudas?

Pide a un asistente que te describa cinco proyectos variados y elige para cada uno el ciclo de vida justificándolo con los cuatro factores; luego pídele que critique tu justificación.

Resumen imprimible: Referencia · Fundamentos.