Metodología de desarrollo ágil

Metodología de desarrollo ágil ( del inglés  agile software development , desarrollo ágil ) es un término general para una serie de enfoques y prácticas basadas en los valores del Manifiesto de desarrollo de software ágil y los 12 principios que lo sustentan [1] .

Las metodologías ágiles, en particular, incluyen programación extrema , DSDM , Scrum , FDD , BDD y otras.

La mayoría de las metodologías ágiles tienen como objetivo minimizar el riesgo al reducir el desarrollo a una serie de ciclos cortos, llamados iteraciones, que suelen durar de dos a tres semanas. Cada iteración en sí parece un proyecto de software en miniatura e incluye todas las tareas necesarias para producir un mini-crecimiento en funcionalidad: planificación, análisis de requisitos , diseño , programación , pruebas y documentación . Si bien una sola iteración generalmente no es suficiente para lanzar una nueva versión de un producto, se supone que un proyecto de software ágil está listo para su lanzamiento al final de cada iteración. Al final de cada iteración, el equipo vuelve a evaluar las prioridades de desarrollo.

Los métodos ágiles enfatizan la comunicación cara a cara. La mayoría de los equipos ágiles están ubicados en la misma oficina, a veces denominada ing.  bullpen _ Como mínimo, también incluye "clientes" ( propietario del producto en inglés   : el cliente o su representante autorizado que determina los requisitos para el producto; esta función puede ser desempeñada por un gerente de proyecto, analista de negocios o cliente). La oficina también puede incluir evaluadores, diseñadores de interfaces, escritores técnicos y gerentes.

La métrica principal de los métodos ágiles es el producto del trabajo. Al priorizar la comunicación cara a cara, los métodos ágiles reducen la cantidad de documentación escrita en comparación con otros métodos. Esto ha llevado a la crítica de estos métodos como indisciplinados.

Historia

Durante la década de 1990, una serie de métodos ligeros de desarrollo de software evolucionaron en respuesta a los métodos pesados ​​predominantes, que los críticos llamaron sobrerregulados, planificados y microgestionados. Estos incluyen: desarrollo rápido de aplicaciones (RAD) desde 1991 [2] [3] ; proceso y método unificados para desarrollar sistemas dinámicos desde 1994; Scrum, desde 1995; Crystal Clear y Extreme Programming (XP), ambos desde 1996; y desarrollo orientado a características desde 1997. Aunque todos se originaron antes de la publicación del Manifiesto Ágil, ahora se les conoce colectivamente como desarrollo de software ágil.

En febrero de 2001, se publicó en Utah, EE . UU., el " Manifiesto de desarrollo de software ágil " . Proporcionó una alternativa a las prácticas de desarrollo de software de "peso pesado" basadas en documentos, como el " método de cascada ", que era el estándar de oro del desarrollo en ese momento. Este manifiesto fue aprobado y firmado por representantes de las siguientes metodologías: Programación extrema , Crystal Clear , DSDM , Desarrollo impulsado por características , Scrum , Desarrollo de software adaptativo , Programación pragmática . La metodología de desarrollo ágil fue utilizada por muchas empresas incluso antes de la adopción del manifiesto, sin embargo, la entrada del desarrollo ágil en las masas se produjo precisamente después de este evento.

Principios

Agile es una familia de procesos de desarrollo, no un enfoque único en el desarrollo de software, y está definido por el Manifiesto Agile [4] . Agile no incluye prácticas, pero define los valores y principios que guían a los equipos.

El Manifiesto Ágil fue desarrollado y adoptado del 11 al 13 de febrero de 2001 en The Lodge at Snowbird ski resort en las montañas de Utah. El Manifiesto Ágil contiene 4 ideas principales y 12 principios. Cabe señalar que el Manifiesto Ágil no contiene consejos prácticos.

Ideas claves:

Principios fundamentales del Manifiesto Ágil [6] :

Crítica

Uno de los puntos recurrentes de crítica: el enfoque ágil a menudo descuida la creación de un plan ("hoja de ruta") para el desarrollo del producto, así como la gestión de requisitos , en cuyo proceso se forma dicho "mapa". Un enfoque flexible para la gestión de requisitos no implica planes de gran alcance (de hecho, la gestión de requisitos simplemente no existe en esta metodología), sino que implica la capacidad del cliente para establecer repentina e inesperadamente nuevos requisitos al final de cada iteración, a menudo contradiciendo la arquitectura de un producto ya creado y entregado. Esto a veces conduce a un "trabajo práctico" catastrófico con refactorización masiva y reelaboración en casi cada iteración siguiente.

Además, se cree que trabajar en Agile motiva a los desarrolladores a resolver todas las tareas entrantes de la manera más simple y rápida posible, mientras que a menudo no prestan atención a la corrección del código en términos de los requisitos de la plataforma subyacente (el "trabajo y enfoque "todo"), sin tener en cuenta que el código puede dejar de funcionar si se modifica más. Esto da como resultado una calidad reducida del producto y una acumulación de defectos (ver " deuda técnica ").

Metodologías

Existen metodologías que se adhieren a los valores y principios enunciados en el Manifiesto Ágil, algunas de ellas son:

Notas

  1. ¿Qué es el desarrollo ágil de software? . Alianza ágil. - "El desarrollo ágil de software es un término general para un conjunto de marcos y prácticas basadas en los valores y principios expresados ​​en el Manifiesto para el desarrollo ágil de software y los 12 principios que lo respaldan". Consultado el 29 de junio de 2019. Archivado desde el original el 31 de julio de 2018.
  2. Martín, James. Desarrollo rápido de aplicaciones . - Macmillan, 1991. - ISBN 978-0-02-376775-3 .
  3. Kerr, James M.; Cazador, Ricardo. Inside RAD: Cómo construir un sistema totalmente funcional en 90 días o menos . - McGraw-Hil, 1993. - ISBN 978-0-07-034223-1 .
  4. Manifiesto ágil Archivado el 23 de febrero de 2011 en Wayback Machine . 
  5. Los Principios Fundamentales del Manifiesto Ágil . agilemanifesto.org. Fecha de acceso: 8 de diciembre de 2016. Archivado desde el original el 25 de diciembre de 2014.
  6. Modelado ágil . Fecha de tratamiento: 25 de diciembre de 2011. Archivado desde el original el 31 de diciembre de 2008.

Literatura