Programación Extrema (Extream Programming XP)

22
César Augusto Acosta Quiroz Código: 506072005 Ing. Software I EXTREME PROGRAMING XP

description

Una descripción sobre esta metodologia muy popula Programación Extrema

Transcript of Programación Extrema (Extream Programming XP)

Page 1: Programación Extrema (Extream Programming XP)

César Augusto Acosta QuirozCódigo: 506072005

Ing. Software I

EXTREME PROGRAMINGXP

Page 2: Programación Extrema (Extream Programming XP)

•Nueva disciplina del desarrollo de software.

•Su objetivo es aumentar la productividad al desarrollar software.

•Permite la reducción de la burocracia alrededor de la creación de software.

•Metodología de desarrollo ligera (ágil).

¿Qué ES XP?

Page 3: Programación Extrema (Extream Programming XP)

Se basan en la adaptabilidad de cualquier cambio como medio para aumentar las posibilidades de éxito de un proyecto.

• Los individuos y sus interacciones son más importantes que los procesos y las herramientas.• El software que funciona es más importante que la documentación exhaustiva.• La colaboración con el cliente en lugar de la negociación de contratos.• La respuesta delante del cambio en lugar de seguir un plan cerrado.

Metodologías agiles

Page 4: Programación Extrema (Extream Programming XP)

•Retrasos en la planificación.•Sistemas deteriorados.•Tasa de defectos.•Requisitos mal comprendidos.•Cambios de negocio.•Falsa riqueza.•Cambios de personal.

¿QUE PRETENDE EVITAR XP?

Page 5: Programación Extrema (Extream Programming XP)

HISTORIA

Nace de la mano de Kent Beck en el verano de 1996, cuando trabajaba para Chrysler Corporation.El tenía varias ideas de metodologías para la realización de programas que eran cruciales para el buen desarrollo de cualquier sistema.

Las ideas primordiales de su sistema las comunicó en la revista C++ Magazine en una entrevista que ésta le hizo el año 1999.

Page 6: Programación Extrema (Extream Programming XP)

Posturas a favor y en contra

A . Lo he probado y no me gusta nadaB. Es una mala idea, no puede funcionar nuncaC. Es una buena idea, pero no funcionará.D. Lo he probado y me gusta mucho

Page 7: Programación Extrema (Extream Programming XP)

OBJETIVOS DE XP

La satisfacción del cliente

Potenciar el trabajo en grupo.

Page 8: Programación Extrema (Extream Programming XP)

EL JEFE DE PROYECTO:

“Quiero estos requisitos realizados para el día 1 de mes próximo, solo cuentan con el equipo actual. ¡Ah ya sabes que la calidad es lo primero!”

EPISODIO DE DESARROLLO

Page 9: Programación Extrema (Extream Programming XP)

COSTO.

TIEMPO.

CALIDAD.

AMBITO.

CUATRO VARIABLES DE XP

Page 10: Programación Extrema (Extream Programming XP)

Comunicación

Sencillez

Retroalimentación

Valentía

CUATRO VALORES PARA AFRONTAR CAMBIO CON XP

Page 11: Programación Extrema (Extream Programming XP)

•XP ayuda mediante sus prácticas a fomentar la comunicación.

•XP nos enseña a apostar, ¡Apuesta por hacer una cosa sencilla hoy y pagar un poco mas para mañana.!

•“No me preguntes a mi, pregúntale al sistema”

•Asumir retos, ser valientes antes los problemas y afrontarlos.

Page 12: Programación Extrema (Extream Programming XP)

•Codificar.

•Hacer pruebas.

•Escuchar.

•Diseñar

¿ Qué tareas debemos de llevar a cabo para desarrollar un buen software ?

Page 13: Programación Extrema (Extream Programming XP)

Se basa en 12 principios básicos, agrupados en 4 categorías.

•Retroalimentación a escala fina.

•Proceso continuo en lugar de por lotes.

•Entendimiento compartido.

•Bienestar del programador.

FASES DE LA METODOLOGIA XP

Page 14: Programación Extrema (Extream Programming XP)

1. El principio de pruebas: definición de las entradas al

sistema y los resultados esperados de estas entradas.

2. Proceso de planificación: Se creará un documento llamado

Historias del usuario (User Stories).

3. El cliente en el sitio: Representante del cliente para determinar los requerimientos, definir la funcionalidad, señalar las prioridades y responder las preguntas de los programadores.

4. Programación en parejas: Este principio puede producir aplicaciones más buenas, de manera consistente, a iguales o menores costos.

Retroalimentación a escala fina

Page 15: Programación Extrema (Extream Programming XP)

Integración continua: permite al equipo hacer un rápido progreso implementando las nuevas características del software.

2. Refactorización: Los programadores evalúan continuamente el diseño y recodifican lo necesario.

3. Entregas pequeñas: colocan un sistema sencillo en producción rápidamente que se actualiza de forma rápida y constante permitiendo que el verdadero valor de negocio del producto sea evaluado en un ambiente real.

Proceso continuo en lugar de por lotes.

Page 16: Programación Extrema (Extream Programming XP)

1. Diseño simple (Simple Design): el mayor valor de negocio es entregado por el programa más sencillo que cumpla los requerimientos.

2. Metáfora: define una historia de como funciona el sistema completo.

3. Propiedad colectiva del código: un código con propiedad compartida.

4. Estándar de codificación: define la propiedad del código compartido sí como las reglas para escribir y documentar el código.

• Entendimiento compartido.

Page 17: Programación Extrema (Extream Programming XP)

•Mas disciplina.•Mejor código.•Flujo de trabajo constante.•Múltiples desarrolladores contribuyen al diseño.•Moral mejorada.•Propiedad Colectiva del código.•Enseñanzas.•Cohesión de equipo.•Pocas interrupciones.•Menos estaciones de trabajo.

Ventajas Pair Programming

Page 18: Programación Extrema (Extream Programming XP)

•Es tedioso enseñar a otro desarrollador menos experto.

•Muchos desarrolladores prefieren trabajar solos.

•Productividad difícil de medir.

•Diferencias en el estilo de codificación.

•Cronogramas distintos.

•Compañías que funcionan con Teletrabajo.

Criticas Pair Programming

Page 19: Programación Extrema (Extream Programming XP)

La semana de 40 horas: la programación extrema sostiene que los programadores cansados escriben código de menor calidad.

Bienestar del programador.

Page 20: Programación Extrema (Extream Programming XP)
Page 21: Programación Extrema (Extream Programming XP)

Se puede concluir que la programación extrema es una buena alternativa, dependiendo del entorno de desarrollo en que se esta trabajando.

Al ser una herramienta que se basa en otras metodologías, se puede confiar en cada proceso individual.

La XP brinda no solo ventajas en cuanto a rapidez, sino que promueve habilidades sociales como la comunicación, el trabajo en equipo y disciplina.

CONCLUSIONES

Page 22: Programación Extrema (Extream Programming XP)

http://kmels.net/files/2009/uvg/cc2003/Resources/Contenidos/XP/xp.pdf

http://www.willydev.net/descargas/prev/ExplicaXp.pdf

http://es.wikipedia.org/wiki/Programaci%C3%B3n_en_pareja

Referencias