Marcando la diferencia

Desarrollo Agil de Software (i)


 https://i0.wp.com/www.campus-party.com.mx/2011/tl_files/imagenes/Contenidos/desarrollo_desafiosdesarrollosoftware.jpg

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.

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,segun 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 “metodologías á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 o XP (1996), desarrollo de software adaptativo, feature driven development, Método de desarrollo de sistemas dinámicos (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.

PUBLICACION DEL MANIFIESTO DE DESARROLLO

En febrero de 2001, los desarrolladores de software se reunieron en Snowbird, Utah, para discutir métodos de desarrollo ligero.  Publicaron el manifiesto para el desarrollo de Software ágil definiendo el método conocido como desarrollo de software ágil.

Algunos de los autores del manifiesto formaron la alianza ágil, una organización sin fines de lucro que promueve el desarrollo de software con arreglo a los principios del manifiesto. 

Manifiesto ágil, en su totalidad, es el siguiente: 

Nos estamos moviendo (Descubriendo)  hacia  mejores formas de desarrollo de software para hacerlo y ayudar a otros a hacerlo.

 A través de este trabajo hemos llegado a:

  • Individuos y las interacciones en procesos y herramientas
  • Software de trabajo sobre documentación completa
  • Colaboración de clientes en la negociación de contratos
  • Respondiendo a un plan de cambios

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

CONTENIDO DEL MANIFIESTO:

  • Satisfacción del cliente mediante la rápida entrega de software útil
  • Evolución de las necesidades, incluso en el desarrollo de bienvenida
  • Software de trabajo se suministra con frecuencia (semanas en lugar de meses)
  • Software de trabajo es la principal medida de progreso
  • Desarrollo sostenible, capaz de mantener un ritmo constante
  • Cooperación estrecha, diaria entre gente de negocios y desarrolladores
  • Conversación cara a cara es la mejor forma de comunicación
  • Proyectos están construidos alrededor de personas motivadas, que deben ser de confianza
  • Atención continua a la excelencia técnica y buen diseño
  • Simplicidad
  • Equipos de auto organización
  • Regulación de adaptación a las circunstancias cambiantes

 

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s