Post on 19-Mar-2016
description
Universidad “Gran Mariscal de Ayacucho”Ingeniería de Sistemas
Dirección de Operaciones I
Participantes:Montes, KimberlysMosquera, JohanbertSuarez, Ocnelis
Metodología ÁgilMetodología Ágil
Metodología Ágil
Las metodologías ágiles forman parte del movimiento de desarrollo ágil de software, que se basan en la adaptabilidad de cualquier cambio como medio para aumentar las posibilidades de éxito de un proyecto.
¿Para que un método de gestión?
Metodología ÁgilEl Manifiesto de la metodología Ágil:
1. Individuo y las iteraciones del equipo de desarrollo sobre el proceso y las herramientas. (Calidad del profesional del equipo, Entrega Temprana y Continua)
2. Software funcionando sobre documentación extensiva.
3. La colaboración con el cliente sobre negociación contractual.
4. Respuesta ante el cambio sobre seguir estrictamente un plan.
Es importante la derecha pero valoramos más la izquierda
¿Por qué surgen las Metodologías Ágiles?
1.Dificultades para implantar metodologías tradicionales. Procesos ceremoniosos, herramientas CASE y notaciones de modelado sofisticadas (UML)
2.Una solución a medida para un segmento importante de proyectos de desarrollo de software
3. “Aceptar el cambio” ...
¿Cuándo utilizar una Metodología Ágil?
- Sus clientes no tienen una idea firme de lo que el sistema debe hacer.
- Sistemas cuya funcionalidad se espera que cambie cada pocos meses.
- Si los clientes necesitan un nuevo sistema en una fecha específica.
Comparación Ágil v/s Tradicional
Metodología Ágil Metodología Tradicional
No existe un contrato tradicional, debe ser 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
Orientada a proyectos pequeños. Corta duración (o entregas frecuentes), equipos pequeños (< 10 integrantes) y trabajando en el mismo sitio
Aplicables a proyectos de cualquier tamaño, pero suelen ser especialmente efectivas/usadas en proyectos grandes y con equipos posiblemente dispersos
La arquitectura se va definiendo y mejorando a lo largo del proyecto
Se promueve que la arquitectura se defina tempranamente en el proyecto
Énfasis en los aspectos humanos: el cliente y el trabajo en equipo
Énfasis en la definición del proceso: roles, actividades y artefactos
Se esperan cambios durante el proyecto Se espera que no ocurran cambios de gran impacto durante el proyecto
Programación ExtremaProgramación Extrema
Antecedentes e Historia de Programación extrema
Sin embargo, se reconoce a Kent Beck como el que articuló esta propuesta y le dio nombre propio.
Kent Beck
En 1989, Cunningham formó un equipo que usaba los principios y muchas de las prácticas que después adoptaría XP, mientras trabajaba para la compañía “Wyatt Software” [Fowler 2000].
Antecedentes e Historia de Programación extrema
+ Los autores de la Programación Extrema, crearon el sitio web Portland Pattern Repository y empezaron a hablar de ella y promocionarla, de lo que era y cómo realizarla. Estos propulsores de la XP hablaban de ella en cada ocasión que tenían y en cada página que, poco o mucho hablara de temas de programación.
Antecedentes e Historia de Programación extrema
Portland Pattern Repository
- ¿Qué es XP? - Características
ImplementaciónRequerimientos Análisis Diseño Prueba Producción
Fig. 1 Relación del costo del cambio contra las etapas del ciclo de vida(adaptado de Beck, 1999)
Cos
to d
el c
ambi
oJustificación y fundamentos de XP
Principios, roles y prácticas de Programación extrema
Principios de la Programación extrema
Se busca :1.Realimentación rápida2.Asumir la simplicidad3.Cambio incremental4.Aceptar el cambio5.Hacer trabajo de calidad.
1. El juego de la planificación
2. Entregas pequeñas3. Metáfora4. Diseño simple 5. Recodificación6. Programación en parejas7. Propiedad colectiva8. Integración continua9. Semana de 40 horas10.Cliente in situ11.Estándares de
programación12.Pruebas
Prácticas XP
DISEÑO
CODIFICACION
PLANIFICACION
PRUEBAS
Las cuatro actividades básicas
1.Codificar2.Hacer pruebas3.Escuchar4.Diseñar.
Roles de XP
Cliente Elabora especificaciones de los requerimientos
iniciales.Programador
Responsable de diseñar, codificar, probar e integrar el producto de software.
Administrador Responsable de coordinador de las actividades
de desarrollo y asegurar su cumplimiento.
Los cuatro valores
Valores para desarrollar software:
1.Comunicación2.Sencillez3.Retroalimentación4.Valentía.
Objetivos de XP
Son:1. La satisfacción del cliente.2. Potenciar el trabajo en grupo, todos están
involucrados en el desarrollo del software.
+ Da lugar a una programación sumamente organizada.
+ Ocasiona eficiencias en el proceso de planificación y pruebas.
+ Cuenta con una tasa de errores muy pequeña.
+ Propicia la satisfacción del programador.
+ Es recomendable emplearla solo en proyectos a corto plazo.
+ En caso de fallar, las comisiones son muy altas.
+ Requiere de un rígido ajuste a los principios de XP.
+ Puede no siempre ser más fácil que el desarrollo tradicional.
Ventajas Desventajas
CONCLUSIONES + La programación extrema es una forma ligera, eficiente, flexible, científica
y divertida de generar software.
+ La programación extrema se beneficia de la existencia de un gran número de herramientas de software libre que permiten aplicarla con gran productividad.
+ El software libre se inspira en algunas de las prácticas de la XP .
+ Aprovecha el tiempo de los clientes y ayuda a que un cliente se sienta integrado, evitando que se desmoralice por no saber como preparar pruebas de aceptación.
+ Permite identificar historias adicionales que no fueran obvias para el cliente o en las que cliente no hubiese pensado de no enfrentarse a dicha situación.
Ciclo
GRACIAS