fundamentos de las metodologías ágiles 1 - introducción.pdf
TRANSCRIPT
Metodologías ágiles
ITI José Dassaev Estrada López
@DassaevEstrada 2012
No está permitida la reproducción total o parcial, ni su tratamiento o transmisión por cualquier método o medio electrónico
sin autorización escrita de Universidad Tecnológica Emiliano Zapata del Estado de Morelos (UTEZ).
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
• Dudas
2
¿Desarrollo de Software? (II)
4 Alistair Cockburn describe al desarrollo de software como un ‘juego
cooperativo de invención y comunicación’. Temario
¿Qué significa ser Ágil? (I) “El verdadero viaje de descubrimiento no consiste en buscar nuevos caminos
sino en tener nuevos ojos.” Marcel Proust
6 Temario
¿Qué significa ser Ágil? (II) “El verdadero viaje de descubrimiento no consiste en buscar nuevos caminos
sino en tener nuevos ojos.” Marcel Proust
7 Temario
Principios del Manifiesto Ágil (I)
8
• 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.
Temario
Principios del Manifiesto Ágil (II)
9
• 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.
Temario
Principios del Manifiesto Ágil
(III)
10
• 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.
http://www.agilemanifesto.org/iso/es/principles.html
Temario
¿Metodología de Desarrollo
Ágil?
12 Temario
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
13 Temario
Tradicional Ágil
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.
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.
14 Temario
Antecedentes
15 Temario
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).