Desarrollo de software adaptativo: ciclo de vida

El desarrollo de software adaptativo ha evolucionado a partir de las prácticas RAD. Los aspectos de equipo también se agregaron a estas prácticas. Empresas desde Nueva Zelanda hasta Canadá, para una amplia gama de proyectos y tipos de productos, han utilizado el desarrollo de software adaptativo.

Jim Highsmith publicó Adaptive Software Development en 2000.

Las prácticas de desarrollo de software adaptativo brindan la capacidad de adaptarse al cambio y son adaptables en entornos turbulentos con productos que evolucionan con poca planificación y aprendizaje.

Fases del ciclo de vida de los TEA

El desarrollo de software adaptativo es cíclico como el modelo evolutivo, y los nombres de las fases reflejan la imprevisibilidad de los sistemas complejos. Las fases del ciclo de vida del desarrollo adaptativo son:

  • Speculate
  • Collaborate
  • Learn

Estas tres fases reflejan la naturaleza dinámica del desarrollo de software adaptativo. El Desarrollo Adaptativo reemplaza explícitamente al Determinismo con Emergencia. Va más allá de un simple cambio en el ciclo de vida a un cambio más profundo en el estilo de gestión. El desarrollo de software adaptativo tiene un ciclo de vida dinámico de especulación, colaboración y aprendizaje.

El ciclo de vida del desarrollo de software adaptativo se centra en los resultados, no en las tareas, y los resultados se identifican como características de la aplicación.

Especular

El término plan es demasiado determinista e indica un grado de certeza razonablemente alto sobre el resultado deseado. El objetivo implícito y explícito de conformidad con el plan restringe la capacidad del gerente para dirigir el proyecto en direcciones innovadoras.

En Desarrollo de software adaptativo, el término plan se reemplaza por el término especular. Mientras especula, el equipo no abandona la planificación, pero reconoce la realidad de la incertidumbre en problemas complejos. Speculate fomenta la exploración y la experimentación. Se fomentan las iteraciones con ciclos cortos.

Colaborar

Las aplicaciones complejas no se construyen, evolucionan. Las aplicaciones complejas requieren que se recopile, analice y aplique un gran volumen de información al problema. Los entornos turbulentos tienen altas tasas de flujo de información. Por lo tanto, las aplicaciones complejas requieren que se recopile, analice y aplique un gran volumen de información al problema. Esto da como resultado diversos requisitos de conocimiento que solo pueden manejarse mediante la colaboración en equipo.

Colaborar requeriría la capacidad de trabajar en conjunto para producir resultados, compartir conocimientos o tomar decisiones.

En el contexto de la gestión de proyectos, la colaboración representa un equilibrio entre la gestión con técnicas de gestión tradicionales y la creación y mantenimiento del entorno colaborativo necesario para la emergencia.

Aprender

La parte de aprendizaje del ciclo de vida es vital para el éxito del proyecto. El equipo tiene que mejorar sus conocimientos constantemente, utilizando prácticas como:

  • Reseñas técnicas
  • Retrospectivas del proyecto
  • Grupos de enfoque de clientes

Las revisiones deben realizarse después de cada iteración. Tanto los desarrolladores como los clientes examinan sus suposiciones y utilizan los resultados de cada ciclo de desarrollo para aprender la dirección del siguiente. El equipo aprende -

  • Acerca de los cambios de producto

  • Cambios más fundamentales en los supuestos subyacentes sobre cómo se están desarrollando los productos.

Las iteraciones deben ser breves, para que el equipo pueda aprender de errores pequeños en lugar de grandes.

Especular - Colaborar - Aprender el ciclo como un todo

Como puede observar en el ciclo Especulación-Colaboración-Aprendizaje, dado anteriormente, es obvio que las tres fases no son lineales y se superponen.

Observamos lo siguiente desde un marco adaptativo.

  • Es difícil colaborar sin aprender o aprender sin colaborar.

  • Es difícil especular sin aprender o aprender sin especular.

  • Es difícil especular sin colaborar o colaborar sin especular.