Esta sección explica los principales tipos de enfoques que se pueden utilizar para crear la solución. El enfoque también se conoce como ciclo de vida del desarrollo de la solución.
Hablaremos de los tres grandes tipos de enfoques para el desarrollo de soluciones: el enfoque o ciclo de vida predictivo, el enfoque o ciclo de vida iterativo y el enfoque o ciclo de vida incremental. Lo que se llama enfoque ágil es una combinación del enfoque iterativo y el enfoque incremental.
El ciclo de vida de un proyecto se refiere al conjunto de fases o iteraciones en las que se organiza un proyecto. Según la estructura y el tipo de producto a desarrollar, se pueden definir diferentes tipos de ciclos de vida de proyectos:
Ilustremos esto con un ejemplo.
Solución predictiva
Supongamos que se lanza un proyecto para llenar un bache. Si conocemos las dimensiones exactas del bache y se pueden establecer los requisitos, entonces el trabajo a realizar es predecible. Esto comienza con las dimensiones y requisitos, continúa con el diseño y preparación del molde, luego con la colocación del concreto, el acabado del bloque y termina con el llenado del bache. Esto se llama enfoque en cascada o enfoque predictivo. Esto solo funciona si todos los requisitos se conocen y se comprenden claramente al principio. Si no conocemos las dimensiones del bache, esto se convierte en un problema complejo.
Solución iterativa
En el mismo ejemplo, supongamos que usted no conoce las dimensiones del bache, por lo que decide cincelar la forma para llenar el vacío. Usted continúa refinando la forma, cortándola y recortándola una y otra vez, hasta que encaja perfectamente en el bache. Usted refinó por iteraciones hasta que el bloque esculpido se integra 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 llama enfoque iterativo.
Solución incremental
Ahora, resolvamos este problema complejo de otra manera. Usted puede crear un bloque de concreto y entregárselo al cliente. El cliente coloca este bloque de concreto en el bache y da su opinión sobre las partes restantes del bache sin llenar. Usted crea más bloques incrementales según las retroalimentaciones del cliente y continúa llenando el bache. Esto se llama enfoque incremental. En este caso, el cliente no tiene que esperar hasta el final del proyecto para obtener valor. En lugar de eso, el cliente puede comenzar a usar los incrementos y continuar proporcionando requisitos funcionales hasta el final del proyecto. Por lo tanto, incluso si no conocía las dimensiones iniciales, puede llenar el vacío gradualmente utilizando un enfoque incremental.
Solución ágil
Esta es otra forma inteligente de manejar un problema complejo cuando los requisitos son desconocidos al principio. En este escenario, usted no tiene absolutamente ninguna idea del tamaño del bache. En este caso, decide entregar ladrillos más pequeños. En función de las retroalimentaciones regulares del cliente, usted puede proporcionar ladrillos pequeños con tamaños y formas adecuados. Algunos de los ladrillos deben ser cincelados para integrarse mejor en el bache, y el cliente le indica si esta modificación de un ladrillo ya entregado debe hacerse ahora o más tarde. A veces el cliente considera que es más importante establecer nuevos ladrillos en lugar de perfeccionar uno que no encajó bien después de la primera entrega. El cliente decide. Por lo tanto, este enfoque es tanto iterativo como incremental. Es una forma inteligente de manejar demasiadas incógnitas y/o requisitos poco claros. Esto se llama enfoque ágil, que es tanto iterativo como 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, utilicemos esta información y apliquémosla al ejemplo de nuestra solución en línea “para aumentar la transparencia de las transacciones”.
Ciclo de vida predictivo (también llamado “en cascada”)
Cuando se conocen todos los requisitos y se comprenden claramente al comienzo del proyecto, podemos seguir un enfoque predictivo. Ejecutamos las fases del proyecto en orden y entregamos una solución en línea completa al final.
Ciclo de vida iterativo
Cuando los requisitos no se conocen al principio, podemos adoptar un enfoque iterativo. Esto comienza con la creación de una solución básica para todos los productos. Sobre la base de los comentarios del cliente, afinamos la solución mediante iteraciones progresivas hasta que el cliente declare que el producto está listo.
Podría haber ventajas en trabajar simultáneamente en todos los procesos involucrados en contabilidad, ventas y logística para asegurarnos de que todo esté integrado y encaje desde el principio hasta el final.
El enfoque iterativo consiste en recopilar gradualmente los requisitos y afinar todo el producto de manera iterativa hasta que se satisfagan todos los requisitos del cliente. Se trabaja en todo de manera progresiva y al mismo tiempo.
Ciclo de vida incremental
Ahora, usemos el enfoque incremental para abordar este mismo ejemplo. Proporcionamos un sistema en línea funcional con funcionalidades consideradas completas para la versión 1 del sistema, pero desplegadas solo para una parte de los productos. Por ejemplo, implementaremos una visibilidad completa de todos los estados de una sola línea de productos. De esta manera, el cliente podrá comenzar a usarlo antes sin esperar a que todos los productos migren a la nueva forma de seguimiento de transacciones. Esto se llamaría el primer incremento. Luego agregamos nuevas funcionalidades a otras líneas de productos, a razón de una línea de productos por incremento.
Enfoque Ágil
Si usted utiliza ambos enfoques en simultáneo, el iterativo y el incremental, estaría utilizando un ciclo de vida Ágil.
Aquí proporcionaremos un sistema en línea con capacidades de trabajo que el cliente puede comenzar a utilizar, como se explicó anteriormente, en el enfoque incremental para el primer incremento.
Sin embargo, en un enfoque Ágil, el cliente puede decidir si desplegar funcionalidades ya desarrolladas en una nueva gama de productos o desarrollar más funcionalidades para el mismo grupo de productos.
Por ejemplo, supongamos que el incremento anterior muestra un estado de entrega como “el producto está en camino hacia usted”, sin entrar en detalles sobre qué significa “en camino hacia usted”. En el próximo incremento, el equipo desarrollará los detalles de lo que significa “en camino hacia usted”. Por ejemplo: estado 1) el producto ha salido de nuestro depósito. Estado 2) el producto se encuentra en el centro de distribución principal del remitente. Estado 3) el producto se encuentra en el centro de distribución regional del remitente. Estado 4) El producto está en camino a su hogar. Y finalmente, estado 5) el producto ha sido entregado en su hogar.
Alternativamente, el cliente puede decidir que el próximo incremento deje la funcionalidad en un nivel bastante general de “en camino hacia usted”, pero que el equipo la implemente en una nueva gama de productos.
De esta manera, el propietario del producto decide en cada incremento si el equipo del proyecto agrega más funcionalidades a la solución, perfecciona funcionalidades existentes o implementa funcionalidades existentes en más productos. De esta manera, el producto final se entrega en múltiples incrementos, mejorando iterativamente el número de funcionalidades, el nivel de calidad de estas funcionalidades o el alcance de la implementación de las funcionalidades. Y esto, en el orden de ejecución que el cliente decida, iteración por iteración.
El cliente expresa nuevas exigencias en cada iteración gracias a entregas iterativas e incrementales. Las iteraciones y los incrementos continúan hasta que el cliente decida que el alcance, las funcionalidades y el nivel de calidad son suficientes.
De esta manera, el equipo del proyecto puede adaptarse a exigencias iniciales desconocidas o cambiantes.
Sin embargo, no todos los productos son factibles por incrementos. Y para algunos productos, muchos cambios son muy problemáticos, especialmente en las últimas etapas del ciclo de vida del desarrollo. En general, los elementos físicos son menos elegibles para enfoques progresivos. En general, se puede decir que cuanto más cerca esté un producto de una etapa de producción a gran escala, más difícil será formular requisitos importantes que se hayan omitido previamente.
Además, debido a la flexibilidad del alcance a entregar por los métodos Ágiles, algunas personas piensan que se trata más bien de métodos de desarrollo de productos que de métodos de dirección de proyectos.
Resumamos, mirando nuevamente los gráficos que describen el enfoque predictivo, el enfoque iterativo, el enfoque incremental y el enfoque Ágil.