Metodologías ágiles ITI José Dassaev Estrada López
[email protected] [email protected] @DassaevEstrada
Agenda • Presentación • Encuadre de la materia • Criterio de evaluación • Análisis sobre el Desarrollo de Software • ¿Ágil? • ¿Qué significa ser ágil? (Manifiesto por el desarrollo ágil
de Software) • Principios del Manifiesto ágil • Definición y ejemplos de Metodología ágil • Metodologías de Desarrollo Ágil VS Metodologías Tradicionales Antecedentes de Metodología ágil
¿Desarrollo de Software? (I)
¿Desarrollo de Software? (II)
¿Ágil?
¿Qué significa ser Ágil? (I) “El verdadero viaje de descubrimiento no consiste en buscar nuevos caminos sino en tener nuevos ojos. ” Marcel Proust
¿Qué significa ser Ágil? (II) “El verdadero viaje de descubrimiento no consiste en buscar nuevos caminos sino en tener nuevos ojos. ” Marcel Proust
Principios del Manifiesto Ágil (I) •
Nuestra mayor prioridad es satisfacer al cliente mediante la entrega temprana y continua de software con valor.
•
Aceptamos que los requisitos cambien , incluso en etapas tardías del desarrollo. Los procesos Ágiles aprovechan el cambio para proporcionar ventaja competitiva al cliente.
•
Entregamos software funcional frecuentemente , entre dos semanas y dos meses, con preferencia al periodo de tiempo más corto posible.
•
Los responsables de negocio y los desarrolladores trabajamos juntos de forma cotidiana durante todo el proyecto.
Principios del Manifiesto Ágil (II) •
Los proyectos se desarrollan en torno a individuos motivados. Hay que darles el entorno y el apoyo que necesitan, y confiarles la ejecución del trabajo.
•
El método más eficiente y efectivo de comunicar información al equipo de desarrollo y entre sus miembros es la conversación cara a cara.
•
El software funcionando es la medida principal de progreso.
•
Los procesos Ágiles promueven el desarrollo sostenible. Los promotores, desarrolladores y usuarios debemos ser capaces de mantener un ritmo constante de forma indefinida.
Principios del Manifiesto Ágil (III) •
La atención continua a la excelencia técnica y al buen diseño mejora la Agilidad.
•
La simplicidad, o el arte de maximizar la cantidad de trabajo no realizado, es esencial.
•
Las mejores arquitecturas, requisitos y diseños emergen de equipos auto-organizados.
•
A intervalos regulares el equipo reflexiona sobre cómo ser más efectivo para a continuación ajustar y perfeccionar su comportamiento en consecuencia.
¿Metodología de Desarrollo Ágil?
¿Metodología de Desarrollo Ágil?
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.
Metodología de Desarrollo Ágil VS Metodología tradicional Tradicional Diagrama Gantt: Es un diagrama de barras para ilustrar la planificación detallada de las actividades en el tiempo. El gráfico representa la fecha inicial y final de cada actividad y su secuencia.
Ágil Diagrama Burn-Down (de Quemado): Es un diagrama que representa el trabajo del proyecto, medido en puntos de esfuerzo o tareas, frente al tiempo o al número de iteración. Cuando el proyecto está en curso, mostrará una línea descendente que evidencia el progreso. Si se muestra una línea ascendente, esto revela que hay problemas u obstáculos.
Reuniones de Seguimiento: Se trata de reuniones programadas, en las cuales el gestor de proyecto revisa los detalles de cada actividad del proyecto: su estado, entregable y próximas fechas. El gestor de proyecto es quien dirige todos los aspectos del proyecto.
Reuniones diarias (Stand-Up Meetings): Son reuniones cortas en las que el gestor de proyecto obtiene respuestas rápidas a las siguientes preguntas: ¿Qué se ha hecho desde la última reunión? ¿Qué problemas ha habido? ¿Qué hay que hacer hasta la próxima reunión? El gestor de proyecto debe estar informado, pero cada miembro del equipo tiene la responsabilidad sobre los detalles de sus tareas.
Cliente en Espera: El cliente pone los objetivos del proyecto y luego espera hasta que se termina. Se le mantiene informado a cerca de aspectos del presupuesto y la fecha de entrega.
Cliente Comprometido: El cliente participa activamente en el proceso de desarrollo. Ya que el proyecto “fluye”, el cliente participa y toma decisiones en las reuniones diarias y es partícipe de los informes continuos. El gestor de proyecto mantiene una estrecha relación con el cliente y le guía a través de la metodología.
Metodologías ágiles • Scrum (1993) • Crystal • Dynamic Systems Development Method o DSDM (1995) • eXtreme Programming o XP (1996) • Agile Unified Process o AUP • Lean Software Development o LSD.
Antecedentes
A finales de los años 80 y principios de los 90 surgió un movimiento reaccionario contra los métodos de desarrollo de software establecidos. En el 2001 se acuña el término “Metodología ágil”, poco después se crea la Agile Alliance (organización sin fines de lucro que promueve el desarrollo ágil de aplicaciones).
¿Dudas?