Extremeprograming

21
XP (EXTREAM PROGRAMING)

description

Metodologia XP(ExtreamPrograming)

Transcript of Extremeprograming

Page 1: Extremeprograming

XP (EXTREAM PROGRAMING)

Page 2: Extremeprograming

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 3: Extremeprograming

•Nueva disciplina del desarrollo de software.

•Su objetivo es aumentar la productividad al desarrollarsoftware.

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

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

•El equipo lo conforman los jefes deproyecto, desarrolladores y el cliente.

•Se rige por valores y principios.

¿Qué ES XP?

Page 4: Extremeprograming

Se basan en la adaptabilidad de cualquier cambiocomo medio para aumentar las posibilidades de éxitode un proyecto.

• Los individuos y sus interacciones son másimportantes que los procesos y las herramientas.

• El software que funciona es más importante que ladocumentación exhaustiva.

• La colaboración con el cliente en lugar de lanegociación de contratos.

• La respuesta delante del cambio en lugar de seguir unplan cerrado.

Es una Metodología ágil

Page 5: Extremeprograming

•Retrasos en la planificación.

•Sistemas deteriorados.

•Tasa de defectos.

•Requisitos mal comprendidos.

•Cambios de negocio.

•Falsa riqueza.

•Cambios de personal.

¿QUÉ PRETENDE EVITAR XP?

Page 6: Extremeprograming

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: Extremeprograming

OBJETIVOS DE XP

La satisfacción del cliente

Potenciar el trabajo en grupo.

Page 8: Extremeprograming

EL JEFE DE PROYECTO:

“Quiero estos requisitos realizados para eldía 1 de mes próximo, solo cuentan con elequipo actual. ¡Ah ya sabes que la calidades lo primero!”

EPISODIO DE DESARROLLO

Page 9: Extremeprograming

COSTO.

TIEMPO.

CALIDAD.

AMBITO.

CUATRO VARIABLES DE XP

Page 10: Extremeprograming

Comunicación: Crear software requiere de sistemas comunicados.

Sencillez: Empezar con lo necesario y requerido y trabajar desde ahí

Retroalimentación: Del sistema, del cliente, y del equipo.

Valentía: Programa para hoy y no para mañana.

Respeto: El equipo debe trabajar como uno, sin hacer decisiones repentinas.

CUATRO VALORES PARA AFRONTAR CAMBIO CON XP

Page 11: Extremeprograming

•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: Extremeprograming

•Codificar: La parte mas importante de XP.

•Hacer pruebas: Nunca se puede estar seguro de algo hasta haberlo probado

•Escuchar: Escuchar los requisitos del cliente acerca del sistema a crear.

•Diseñar: Crear una estructura del diseño para evitar problemas.

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

Page 13: Extremeprograming

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: Extremeprograming

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.

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

4. Programación en parejas: Este principio puede produciraplicaciones más buenas, de manera consistente, a iguales omenores costos.

Retroalimentación a escala fina

Page 15: Extremeprograming

También la programación en pareja permite que los errores se descubran al momento de la codificación, la cantidad de defectos es menor, los diseños son de mejor calidad y por ende el código es muy corto, el equipo resuelve los problemas más rápido, desarrollan la calidad de programar así como del programa y por último las personas disfrutan de su trabajo.

1. 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: Extremeprograming

1. Diseño simple: 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: Extremeprograming

•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 de la programación en pareja

Page 18: Extremeprograming

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

Desventajas de la programación en pareja

Page 19: Extremeprograming

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: Extremeprograming

Se puede concluir que la programación extrema es una buenaalternativa, dependiendo del entorno de desarrollo en que seesta trabajando.

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

La XP brinda no solo ventajas en cuanto a rapidez, sino quepromueve habilidades sociales como la comunicación, eltrabajo en equipo y disciplina.

CONCLUSIONES

Page 21: Extremeprograming

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

Bibliografía