Métodos agiles

17
Métodos Agiles Recogen técnicas, “buenas prácticas” contrastadas por profesionales reconocidos. Cada una tiene sus características propias y cubre un rango de áreas de procesos más o menos amplia: Tendencia a combinarlas para dar mayor cobertura en el ciclo de vida. Han surgido de entornos reales de desarrollo de software. Responden mejor a la realidad del software y las diferencias con producción industria

Transcript of Métodos agiles

Métodos Agiles

Recogen técnicas, “buenas prácticas” contrastadas por profesionales reconocidos.

Cada una tiene sus características propias y cubre un rango de áreas de procesos más o menos amplia:

Tendencia a combinarlas para dar mayor cobertura en el ciclo de vida.

Han surgido de entornos reales de desarrollo de software.

Responden mejor a la realidad del software y las diferencias con producción industria

Principios de la Metodología Ágil

1. La prioridad principal es satisfacer al cliente mediante tempranas y continuas entregas de software que le reporte un valor.

2. Dar la bienvenida a los cambios. Los AMs capturan los cambios para que el cliente tenga una ventaja competitiva.

3. Entregar frecuentemente software que funcione, desde un par de semanas a un par de meses, con el menor intervalo de tiempo posible entre una entrega y la siguiente.

4. La gente del negocio y los desarrolladores deben trabajar juntos a lo largo del proyecto.

5. Construir proyecto en torno a individuos motivados. Darles el entorno y el apoyo que necesitan y confiar en ellos para conseguir el trabajo.

Principios de la Metodología Ágil4. El diálogo cara a cara es el método más eficiente y efectivo para

comunicar información dentro de un equipo de desarrollo

5. El software que funciona es la medida principal de progreso8. Los procesos ágiles promueven un desarrollo sostenible. Los

promotores, desarrolladores y usuarios deberían ser capaces de mantener una paz constante

9. La atención continua a la calidad técnica y al buen diseño mejora la agilidad

10. La simplicidad es esencial

11. Las mejores arquitecturas, requisitos y diseños surgen de los equipos organizados por sí mismos

12. En intervalos regulares, el equipo reflexiona respecto de cómo llegar a ser más efectivo, y según esto ajusta su comportamiento

Comparación

Metodología Ágil Metodología No Ágil

Pocos Artefactos Más Artefactos

Pocos Roles Más Roles

No existe un contrato tradicional o al menos es bastante flexible

Existe un contrato prefijado

Cliente es parte del equipo de desarrollo (además in-situ)

El cliente interactúa con el equipo de desarrollo mediante reuniones

Grupos pequeños (< 10 integrantes) y trabajando en el mismo sitio

Grupos grandes

Menos énfasis en la arquitectura La arquitectura es esencial

Principales Métodos Agiles• EXtreme Programming (XP)

• Este es el método que más popularidad ha alcanzado entre las metodologías ágiles, y posiblemente sea también el más transgresor de la ortodoxia basada en procesos.

• Su creador, Kent Beck fue el alma mater del Manifiesto Ágil.

• Extreme Programming (XP) se irgue sobre la suposición de que es posible desarrollar software de gran calidad a pesar, o incluso como consecuencia del cambio continuo. Su principal asunción es que con un poco de planificación, un poco de codificación y unas pocas pruebas se puede decidir si se está siguiendo un camino acertado o equivocado, evitando así tener que echar marcha atrás demasiado tarde.

Valores que inspiran XP

FEEDBACK CORAJE COMUNICACIÓN

Principales Métodos Agiles

• Familia de métodos Crystal

• La familia de metodologías Crystal ofrece diferentes métodos para seleccionar el más apropiado para cada proyecto.

• Crystal identifica con colores diferentes cada método, y su elección debe ser consecuencia del tamaño y criticidad del proyecto, de forma que los de mayor tamaño, o aquellos en los que la presencia de errores o desbordamiento de agendas implique consecuencias graves, deben adoptar metodologías más pesadas.

• Los métodos Crystal no prescriben prácticas concretas.

• ASD (Adaptative Software Development)

• Método que como alternativa a los procedimientos formales, aborda el desarrollo de grandes sistemas con el uso de técnicas propias de las metodologías ágiles.

• No se trata de una metodología, sino de la implantación de una cultura en la empresa, basada en la adaptabilidad.

Otros Métodos Agiles• PP (Pragmatic Programming)

• Pragmatic Programming es la colección de 70 prácticas de programación, comunes a otros métodos ágiles, cuya aplicación resulta útil para solucionar los problemas cotidianos.

• Surge del libro “The Pragmatic Programmer” de Dave Thomas y Andres Hunt.

• AM (Agile Modeling)• Agile Modeling es la presentación de un nuevo enfoque para realizar el modelado de

sistemas,(diseño) y basado en los principios de los métodos ágiles remarca la conveniencia de reducir el volumen de la documentación. (Amber S. “Agile Modeling: Effective Practicesfor Extreme Programming and the Unified Process”)

• ISD Internet Speed Development• Surge de las conclusiones del coloquio celebrado en Octubre de 2001, promovido por SEI

que reunió a especialistas de las universidades Carneige Mellon, Georgia y Copenhagen.• Sienta bases de gestión para abordar el desarrollo de sistemas de software, de tamaño

pequeño que requieren tiempos de desarrollo muy rápidos.

• FDD (Feature Driven Development)• Prescribe un proceso iterativo de 5 pasos, con iteraciones de dos semanas.• El punto de referencia son las características que debe reunir el software, y se centra en las • fases de diseño e implementación del sistema

• Ejemplo de Metodología Ágil. Método SCRUM.

Bibliografía