0 - FOUNDATIONAL ELEMENTS
1- I N I T I A T I N G
2 - P L A N N I N G
3 - E X E C U T I N G
4 - C O N T R O L L I N G
5 - C L O S I N G

2.4 Definir el ciclo de vida del desarrollo

Ciclo de Vida

Esta sección explica los principales tipos de ciclos de vida de desarrollo que se utilizan para crear una solución resultante de un proyecto: ciclos de vida o enfoques predictivos, iterativos, incrementales y ágiles.

El ciclo de vida del proyecto se refiere al conjunto de fases o iteraciones en las que se organiza un proyecto. Dependiendo de la organización y del tipo de producto a desarrollar se pueden definir varios tipos de ciclo de vida del proyecto:

  • Los ciclos de vida predictivos definen los requisitos del producto y el alcance que se entregará como parte de la planificación del proyecto. Los cambios son excepciones al plan.
  • Los ciclos de vida iterativos e incrementales mejoran o amplían gradualmente el producto, lo que permite una definición gradual de los requisitos.
    • Un enfoque iterativo mejora gradualmente todo el alcance recopilando comentarios antes de continuar con la siguiente iteración.
    • Un enfoque incremental agrega funcionalidades una por una, terminando cada una en cada iteración.
  • Los ciclos de vida ágiles son iterativos e incrementales al mismo tiempo.

Ilustremos esto con un ejemplo

Profético

Supongamos que se inicia un proyecto para llenar este bache. Si conocemos las dimensiones exactas del bache y se pueden establecer los requisitos, entonces el trabajo a realizar es predecible. Se parte de las dimensiones o requerimientos, diseñar y preparar el molde, colocar el material de hormigón, terminar el bloque y rellenar el bache. Esto se denomina enfoque en cascada o enfoque predictivo. Solo funciona si todos los requisitos se conocen y se comprenden claramente al principio. Si no conocemos las dimensiones del bache, se convierte en un problema complejo.

Solución iterativa

En el mismo ejemplo, suponga que no conoce las dimensiones del bache, por lo tanto, decide cincelar la forma para llenar el espacio, continúa refinando la forma tallando y cortándola y cortándola una y otra vez hasta que encaje. en el bache. Refina en iteraciones hasta que el bloque tallado encaja perfectamente en el bache. Por lo tanto, incluso si no conoce las dimensiones o los requisitos, puede llenar el vacío con varias iteraciones. Esto se denomina enfoque iterativo.

Solución incremental

Resolvamos ahora este complejo problema de otra manera. Puede crear un bloque cuadrado y entregarlo al cliente. El cliente coloca este bloque cuadrado en el bache y le informa de las partes restantes del bache sin rellenar. Crea más bloques incrementales basados ​​en los comentarios y continúa llenando el bache. Esto se denomina enfoque incremental o ciclo de vida. Aquí el cliente no tiene que esperar hasta el final del proyecto para recibir valor. En su lugar, el cliente puede comenzar a utilizar los incrementos y continuar proporcionando comentarios hasta el final del proyecto. Por lo tanto, incluso si no conocía las dimensiones para empezar, podría llenar el vacío utilizando un enfoque incremental.

Manera ágil

Y ahora, otra forma inteligente de manejar el complejo problema cuando los requisitos se desconocen al principio. En este escenario, no tiene ni idea de cuán grande o pequeño es el bache. En este caso, decide entregar ladrillos más pequeños. Con los comentarios continuos de los clientes, puede entregar ladrillos pequeños con el tamaño y la forma adecuados. Algunos de los ladrillos deben cincelarse para que quepan mejor en el bache y el cliente le dice si ese reproceso a los ladrillos ya entregados debe hacerse ahora o más tarde, ya que a veces el cliente considera de mayor prioridad colocar algunos ladrillos nuevos en su lugar. en lugar de perfeccionar uno que no encajaba bien después del primer parto. El cliente decide. Por lo tanto, este enfoque es tanto incremental como iterativo. Este es un enfoque inteligente cuando tiene demasiadas incógnitas y / o requisitos poco claros. Esto se denomina enfoque ágil, que es iterativo e incremental.

Resumen intermedio

Hemos visto el enfoque predictivo, el enfoque iterativo, el enfoque incremental y el enfoque ágil. Esperamos que este método gráfico le ayude a recordar los diferentes tipos de ciclo de vida que puede utilizar para desarrollar su solución.

Ejemplo de sistema en línea

Ahora, usemos estos conocimientos y aplíquelos al ejemplo de nuestra solución en línea para aumentar la transparencia de las transacciones.

Ciclo de vida predictivo (también llamado “cascada” o “cascada”)

Cuando todos los requisitos se conocen y se comprenden claramente al comienzo del proyecto, podemos seguir un enfoque predictivo. Ejecutamos las fases del proyecto en secuencia y entregamos una solución completa en línea al final.

Ciclo de vida iterativo

Cuando los requisitos no se conocen al principio, podemos adoptar el enfoque iterativo. Comienza con la creación de una solución en línea completa para todos los productos, un diseño básico y borradores de las funcionalidades deseadas. Continuamos refinando, cincelando la solución en línea en iteraciones posteriores hasta que el producto final esté listo.

Puede haber ventajas en trabajar simultáneamente en el diseño de todos los procesos involucrados vistos como un todo y también rediseñar las cuentas por cobrar y las funcionalidades de facturación del sistema contable mientras se trabaja en el sistema de gestión logística para asegurar de principio a fin que todo esté integrado y encaje.

El enfoque iterativo consiste en recopilar requisitos de forma progresiva y perfeccionar todo el producto de forma iterativa hasta que se cumplan todos los requisitos del cliente. Estás trabajando en todo progresivamente al mismo tiempo.

Ciclo de vida incremental

Ahora, usemos el enfoque incremental para tratar este mismo ejemplo. Ofreceríamos un sistema en línea funcional con capacidades de trabajo limitadas, importantes pero completas. Por ejemplo, implementaríamos una visibilidad completa de todos los estados de un producto o una línea de productos con características similares y el cliente podría comenzar a usarlo antes, sin esperar que todos los productos migren a la nueva forma de rastrear transacciones. Esto se llamaría el primer incremento. Luego continuamos agregando las nuevas funcionalidades a otros productos o líneas de productos. Cada incremento también podría tener algunas funcionalidades para productos seleccionados y el siguiente incremento más funcionalidades para el mismo, pero no para todos los productos. Por ejemplo, en un incremento, un estado podría ser “en camino hacia usted”, mientras que el siguiente incremento mostraría más detalles del estado “en camino hacia usted” en “despachado desde nuestro stock”, “en el centro de distribución principal del transportista. ”,“ En el centro de distribución regional de su área ”,“ en camino a su lugar ”y un estado final“ entregado ”.

El equipo continuaría de esta manera agregando funcionalidades o productos al alcance en forma de incrementos hasta que se entregue el producto final. De esta forma, el producto final se entrega mediante múltiples incrementos.

Enfoque ágil

Si usara ambos, un enfoque iterativo e incremental, estaría usando un ciclo de vida ágil.

Aquí, entregaríamos un sistema en línea funcional con capacidades de trabajo limitadas, importantes pero completas, que el cliente puede comenzar a usar, como se explicó anteriormente para el enfoque incremental. A esto se le llama el primer incremento. Luego continuamos agregando nuevas funcionalidades o productos adicionales en forma de incrementos. Continúa hasta que se entrega el producto final. Aquí ofrecemos nuevas funcionalidades o cubrimos productos adicionales en incrementos. Este es el aspecto incremental de ágil.

El cliente decide en cada iteración si continuar con nuevas funcionalidades o productos (incremental) o refinar algunas o muchas de las funcionalidades ya entregadas para productos cubiertos (iterativo).

El cliente entrega nuevos requisitos a través de múltiples entregas iterativas e incrementales.

Las iteraciones y los incrementos continúan hasta que el producto final está listo.

O nunca se prepara como en el ejemplo de Windows 10 que recibe una nueva versión dos veces al año.

De esta manera, el equipo del proyecto puede adaptarse a los requisitos iniciales desconocidos o cambiantes.

Sin embargo, no todos los productos se pueden entregar en incrementos ni todos los productos son sostenibles si hay muchos cambios, especialmente en las últimas fases del ciclo de vida de un desarrollo. En términos generales, los artículos físicos son menos elegibles para enfoques incrementales. Y mientras más artículos de fabricación y producción a gran escala estén involucrados, menos incremental podrá proceder.

Resumamos viendo nuevamente los gráficos que describen el enfoque predictivo, el enfoque iterativo, el enfoque incremental y el enfoque ágil.