8. programacion-extrema (Ágil)

24
PROGRAMACION EXTREMA PEDRO PABLO ARCE ANAYA ALBERTO JOSÉ URUETA CABEZA CARLOS ANDRÉS QUEVEDO DÍAZ

Upload: krlitos-kevedo

Post on 04-Dec-2015

253 views

Category:

Documents


0 download

DESCRIPTION

Metodología de desarrollo de software xp

TRANSCRIPT

PROGRAMACION EXTREMA

PEDRO PABLO ARCE ANAYA

ALBERTO JOSÉ URUETA CABEZA

CARLOS ANDRÉS QUEVEDO DÍAZ

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.

• Dificultades para implantar metodologías tradicionales. Procesos ceremoniosos, herramientas CASE y notaciones de modelado sofisticadas (UML)

• Una solución a medida para un segmento importante de proyectos de desarrollo de software

• Aceptar el cambio

¿Por qué surgen?

PROGRAMACION EXTREMA

AutoresWard CunninghamEn 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].

Kent BeckSin embargo, se reconoce a Kent Beck como el que

articuló esta propuesta y le dio nombre propio.

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.

Autores

Relevancia en XP

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

o

“Un proceso ligero, de bajo riesgo, flexible, predecible, científico y

divertido de desarrollar software”.

-Kent Beck

Que es XP?

En la programación extrema se busca:1.Realimentación rápida2.Asumir la simplicidad3.Cambio incremental4.Aceptar el cambio5.Hacer trabajo de calidad.

Principios de la XP

Practicas XP1. El juego de la planificación

2. Entregas pequeñas

3. Metáfora

4. Diseño simple

5. Recodificación

6. Programación en parejas

7. Propiedad colectiva

8. Integración continua

9. Semana de 40 horas

10. Cliente in situ

11. Estándares de programación

12. Pruebas

DISEÑO

CODIFICACION

PLANIFICACION

PRUEBAS

1. Codificar2. Hacer pruebas3. Escuchar4. Diseñar.

Actividades Básicas en XP

Proceso de XPEl proceso de XP se enfatiza en el carácter interactivo e incremental del desarrollo. una iteración de desarrollo es un período de tiempo en el que se realiza un conjunto de funcionalidades determinadas que en el caso de Xp corresponden a un conjunto de historias de usuarios.

Ciclo de desarrollo XP1. El cliente define el valor de negocio a implementar.2. El programador estima el esfuerzo necesario para

su implementación.3. El cliente selecciona qué construir, de acuerdo con

sus prioridades y las restricciones de tiempo.4. El programador construye ese valor de negocio.5. Vuelve al paso 1.

Fases del proceso XP1. Fase de la exploración (de pocas semanas a pocos

meses).2. Planificación de la Entrega(dura unos pocos días).3. Iteraciones (no mas de 3 semanas).4. Fase de producción(la velocidad de desarrollo

disminuye).5. Mantenimiento (indefinido).6. Muerte del proyecto.

Roles en XPCliente

• Elabora especificaciones de los requerimientos iniciales.

Programador

• Responsable de diseñar, codificar, probar e integrar el producto de software.

Entrenador ( Coach )

• Es responsable del proceso global. Es necesario que conozca a fondo el proceso XP para proveer guías a los miembros del equipo de forma que se apliquen las prácticas XP y se siga el proceso correctamente.

Gestor (Big boss)

• Responsable de coordinador de las actividades de desarrollo y asegurar su cumplimiento, Es el vínculo entre clientes y programadores.

Roles en XPEncargado de pruebas (Tester)

• Ejecuta las pruebas regularmente, difunde los resultados en el equipo y es responsable de las herramientas de soporte para pruebas.

Encargado de seguimiento(Tracker)

• Realiza el seguimiento del progreso de cada iteración y evalúa si los objetivos son alcanzables con las restricciones de tiempo y recursos presentes.

Consultor

• Es un miembro externo del equipo con un conocimiento específico en algún tema necesario para el proyecto. Guía al equipo para resolver un problema específico.

Objetivos de la XP

Son:

1. La satisfacción del cliente.

2. Potenciar el trabajo en grupo, todos están involucrados en

el desarrollo del software.

Ventajas y Desventajas

• -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.

o -Es recomendable emplearla solo en

proyectos a corto plazo.

o -En caso de fallar, las comisiones son

muy altas.

o -Requiere de un rígido ajuste a los

principios de XP.

o -Puede no siempre ser más fácil que

el desarrollo tradicional.

• Ventajas • Desventajas

Esquema de procesos en XP

Empresas que aplican XP

Encuesta sobre metodologías agiles

Encuesta realizada por el Observatorio de prácticas de desarrollo de software en MinPyme y pymes de Bogotá, a las pequeñas y medianas empresas desarrolladoras de software en Bogotá, año 2012*

Frente al ítem “¿Que metodologías de desarrollo desoftware utiliza?”, las empresas encuestadas dieron como resultado los siguientes porcentajes:68% la metodología RUP, el 20% utiliza otrasmetodologías en las cuales están inmersas otrascon el 8%, el 12% no emplea ninguna, el 7% lametodología XP, el 3% la SCRUM y el 2% la SADT.

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.

Bibliografía• http://modulodespecialidad.blogspot.com/2013_11_01_archive.html

• Extreme programming Planning/Feedback Loops by J.Donovan Wells

• http://www.monografias.com/trabajos51/programacion-extrema/programacion-extrema2.shtml#ciclo

• http://www.cyta.com.ar/ta0502/v5n2a1.htm

• *revistas.udistrital.edu.co/ojs/index.php/revcie/article/download/.../5651