Desarrollo adaptativo S / W - Introducción

¿Qué es ágil?

En términos literarios, la palabra "ágil" significa alguien que puede moverse rápida y fácilmente o alguien que puede pensar y actuar rápida y claramente. En los negocios, "ágil" se utiliza para describir formas de planificar y realizar trabajos en los que se entiende que realizar 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 Ágil fue publicado por un equipo de desarrolladores de software en 2001, destacando la importancia del equipo de desarrollo, teniendo en cuenta 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 del cliente sobre la negociación del contrato.
  • 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 la agilidad:

  • La agilidad en el desarrollo de software ágil se centra en la cultura de todo el equipo con equipos multidisciplinarios e interfuncionales que están capacitados 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 todo el equipo evita demoras y tiempos de espera.

  • Las entregas frecuentes y continuas garantizan comentarios rápidos que a su vez permiten que el equipo se alinee con los requisitos.

  • La colaboración facilita la combinación oportuna de diferentes perspectivas en la implementación, la corrección de defectos y la modificació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). Ahora se conocen colectivamente como las metodologías ágiles, después de que se publicara el manifiesto ágil en 2001.

En este tutorial, aprenderemos la metodología ágil: desarrollo de software adaptativo .

¿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 complejos 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 desarrolló 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 extendió para incluir enfoques adaptativos para la gestión, con la especulación reemplazando la planificación.

Ciclo de vida de ASD

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 fase Especular, colaborar, aprender reflejando el ámbito impredecible de sistemas cada vez más complejos. El desarrollo adaptativo va más allá de su herencia evolutiva en dos formas clave. Primero, reemplaza explícitamente el determinismo con la 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 ".