Desarrollo ágil de software


Desarrollo ágil de software
Desarrollo ágil de software.

El desarrollo ágil de software es un marco de trabajo conceptual de la ingeniería de software que promueve iteraciones en el desarrollo a lo largo de todo el ciclo de vida del proyecto. Existen muchos métodos de desarrollo ágil; la mayoría minimiza riesgos desarrollando software en cortos lapsos de tiempo. El software desarrollado en una unidad de tiempo es llamado una iteración, la cual debe durar de una a cuatro semanas. Cada iteración del ciclo de vida incluye: planificación, análisis de requerimientos, diseño, codificación, revisión y documentación. Una iteración no debe agregar demasiada funcionalidad para justificar el lanzamiento del producto al mercado, pero la meta es tener un demo (sin errores) al final de cada iteración. Al final de cada iteración el equipo vuelve a evaluar las prioridades del proyecto.

Los métodos ágiles enfatizan las comunicaciones cara a cara en vez de la documentación. La mayoría de los equipos ágiles están localizados en una simple oficina abierta, a veces llamadas "plataformas de lanzamiento" (bullpen en inglés). La oficina debe incluir revisores, escritores de documentación y ayuda, diseñadores de iteración y directores de proyecto. Los métodos ágiles también enfatizan que el software funcional es la primera medida del progreso. Combinado con la preferencia por las comunicaciones cara a cara, generalmente los métodos ágiles son criticados y tratados como "indisciplinados" por la falta de documentación técnica.

Contenido

Historia

La definición moderna de desarrollo ágil de software evolucionó a mediados de los años 1990 como parte de una reacción contra los métodos de "peso pesado", muy estructurados y estrictos, extraídos del modelo de desarrollo en cascada. El proceso originado del uso del modelo en cascada era visto como burocrático, lento, degradante e inconsistente con las formas de desarrollo de software que realmente realizaban un trabajo eficiente.

Los métodos de desarrollo ágiles e iterativos pueden ser vistos como un retroceso a las prácticas observadas en los primeros años del desarrollo de software (aunque en ese tiempo no había metodologías formales). Inicialmente, los métodos ágiles fueron llamados métodos de "peso liviano".

En el año 2001, miembros prominentes de la comunidad se reunieron en Snowbird, Utah, y adoptaron el nombre de "métodos ágiles". Poco después, algunas de estas personas formaron la "alianza ágil", una organización sin fines de lucro que promueve el desarrollo ágil de aplicaciones. Muchos métodos similares al ágil fueron creados antes del 2000. Entre los más notables se encuentran: Scrum (1986), Crystal Clear (cristal transparente), programación extrema (en inglés eXtreme Programming o XP, 1996), desarrollo de software adaptativo, feature driven development, Método de desarrollo de sistemas dinámicos (en inglés Dynamic Systems Development Method o DSDM, 1995).

Kent Beck creó el método de Programación Extrema (usualmente conocida como XP) en 1996 como una forma de rescatar el proyecto del Sistema exhaustivo de compensaciones de Chrysler (C3). Mientras Chrysler cancelaba ese proyecto, el método fue refinado por Ron Jeffries.

Métodos ágiles

Algunos métodos ágiles de desarrollo de software:

Enlaces externos

Referencias

Bibliografía

  • Cockburn, Alistair. Agile Software Development. Highsmith Series. 
  • Chin, Gary (2004). Agile Project Management: How to Succeed in the Face of Changing Project Requirements. AMACOM. 



Wikimedia foundation. 2010.

Mira otros diccionarios:

  • Desarrollo ágil de software — Los procesos ágiles de desarrollo, conocidos anteriormente como metodologías livianas, de software, evitan los tortuosos y burocráticos caminos de las metodologías tradicionales y se enfocan en la gente y los resultados …   Enciclopedia Universal

  • Desarrollo de diseño-dirigido — Saltar a navegación, búsqueda El Desarrollo de Diseño Dirigido (D3) es un proceso ágil para crear requerimientos innovadores para construir mejores soluciones. Trabaja de cerca con SCRUM y Extreme Programming (XP) para manejar e implementar estos …   Wikipedia Español

  • Manifiesto ágil — En marzo de 2001 diecisiete críticos de los modelos de mejora del desarrollo de software basados en procesos, convocados por Kent Beck, quien había publicado un par de años antes Extreme Programming Explained, libro en el que exponía una nueva… …   Wikipedia Español

  • Proceso para el desarrollo de software — Un proceso para el desarrollo de software, también denominado ciclo de vida del desarrollo de software es una estructura aplicada al desarrollo de un producto de software. Hay varios modelos a seguir para el establecimiento de un proceso para el… …   Wikipedia Español

  • Lean software development — En este artículo sobre tecnología e informática se detectaron los siguientes problemas: Necesita ser wikificado conforme a las convenciones de estilo de Wikipedia. Parece ser una traducción defectuosa. Por favor …   Wikipedia Español

  • Método de desarrollo de sistemas dinámicos — El método de desarrollo de sistemas dinámicos (en inglés Dynamic Systems Development Method o DSDM) es un método que provee un framework para el desarrollo ágil de software, apoyado por su continua implicación del usuario en un desarrollo… …   Wikipedia Español

  • Filosofías del desarrollo de software — Anexo:Filosofías del desarrollo de software Saltar a navegación, búsqueda Esta es una lista incompleta de enfoques, estilos, o filosofías en el desarrollo de software. Desarrollo ágil de software Proceso unificado ágil (AUP) Proceso unificado… …   Wikipedia Español

  • Scrum — Véase también: medio scrum Ciclos de desarrollo. Scrum es un marco de trabajo para la gestión y desarrollo de software basada en un proceso iterativo e incremental utilizado comúnmente en entornos basados en el desarrollo ágil de software. Aunque …   Wikipedia Español

  • Agilismo — La palabra agilismo se usa en español como una de las posibles traducciones del término anglosajón Agile. Se pueden usar también los términos desarrollo ágil de software, metodologías ágiles, agilidad e incluso Agile (sin traducir). El matiz que… …   Wikipedia Español

  • Ingeniería de requisitos — En la ingeniería de sistemas y la ingeniería de software, la Ingeniería de requisitos o Ingeniería de requerimientos comprende todas las tareas relacionadas con la determinación de las necesidades o de las condiciones a satisfacer para un… …   Wikipedia Español