Desarrollo adaptativo de S / W - Introducción

¿Qué es Agile?

En términos literarios, la palabra “ágil” significa alguien que puede moverse rápida y fácilmente o alguien que puede pensar y actuar con rapidez y claridad. En los negocios, “ágil” se usa para describir formas de planificar y hacer el trabajo en donde se entiende que hacer los cambios necesarios es una parte importante del trabajo. La "agilidad" empresarial significa que una empresa siempre está en condiciones de tener en cuenta los cambios del mercado.

En el desarrollo de software, el término "ágil" se adapta para significar "la capacidad de responder a los cambios: cambios de Requisitos, Tecnología y Personas".

Manifiesto ágil

El Manifiesto Agile fue publicado por un equipo de desarrolladores de software en 2001, destacando la importancia del equipo de desarrollo, acomodando los requisitos cambiantes y la participación del cliente.

El Manifiesto Ágil es:

Estamos descubriendo mejores formas de desarrollar software haciéndolo y ayudando a otros a hacerlo. A través de este trabajo, hemos llegado a valorar:

  • Individuos e interacciones sobre procesos y herramientas.
  • Software de trabajo sobre documentación completa.
  • Colaboración con el cliente sobre negociación de contratos.
  • Responde al cambio sobre el siguiente plan.

Es decir, si bien hay valor en los elementos de la derecha, valoramos más los elementos de la izquierda.

Características de la agilidad

Las siguientes son las características de Agility:

  • Agility in Agile Software Development se centra en la cultura de todo el equipo con equipos multidisciplinares y multifuncionales que están empoderados y se autoorganizan.

  • Fomenta la responsabilidad compartida y la rendición de cuentas.

  • Facilita la comunicación efectiva y la colaboración continua.

  • El enfoque de equipo completo evita retrasos y tiempos de espera.

  • Las entregas frecuentes y continuas garantizan una respuesta rápida que, a su vez, permite que el equipo se adapte a los requisitos.

  • La colaboración facilita la combinación de diferentes perspectivas de manera oportuna en la implementación, la corrección de defectos y la adaptación de cambios.

  • El progreso es constante, sostenible y predecible, enfatizando la transparencia.

Metodologías ágiles

Las primeras implementaciones de métodos ágiles incluyen Rational Unified Process, Scrum, Crystal Clear, Extreme Programming, Adaptive Software Development, Feature Driven Development y Dynamic Systems Development Method (DSDM). Estos ahora se conocen colectivamente como las metodologías ágiles, después de que se publicó el manifiesto Agile en 2001.

En este tutorial, aprenderemos la Metodología Agile - Adaptive Software Development.

¿Qué es el desarrollo de software adaptativo?

El Desarrollo de Software Adaptativo es un movimiento hacia prácticas adaptativas, dejando las prácticas deterministas en el contexto de sistemas y entornos complejos. El desarrollo de software adaptativo se centra en la colaboración y el aprendizaje como una técnica para construir sistemas complejos. Se desarrolla a partir de las mejores prácticas de desarrollo rápido de aplicaciones (RAD) y ciclos de vida evolutivos. El desarrollo de software adaptativo se amplió luego para incluir enfoques adaptativos para la gestión, con la especulación reemplazando a la planificación.

Jim Highsmith publicó un libro sobre desarrollo de software adaptativo en 2000. En palabras de Highsmith:

“El Desarrollo de Software Adaptativo es cíclico como el modelo evolutivo, con los nombres de las fases Especular, colaborar, aprender reflejando el reino impredecible de sistemas cada vez más complejos. El desarrollo adaptativo va más allá de su herencia evolutiva de dos formas clave. Primero, reemplaza explícitamente el determinismo por emergencia. En segundo lugar, va más allá de un cambio en el ciclo de vida a un cambio más profundo en el estilo de gestión ".