SlideShare uma empresa Scribd logo
1 de 21
XP (EXTREAM PROGRAMING)
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.
¿Qué ES 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).

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

•Se rige por valores y principios.
Es una Metodología ágil
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.
¿QUÉ PRETENDE EVITAR XP?
•Retrasos en la planificación.
•Sistemas deteriorados.
•Tasa de defectos.
•Requisitos mal comprendidos.
•Cambios de negocio.
•Falsa riqueza.
•Cambios de personal.
Posturas a favor y en contra




A . Lo he probado y no me gusta nada
B. Es una mala idea, no puede funcionar
nunca
C. Es una buena idea, pero no funcionará.
D. Lo he probado y me gusta mucho
OBJETIVOS DE XP

La satisfacción del cliente



Potenciar el trabajo en grupo.
EPISODIO DE DESARROLLO


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!”
CUATRO VARIABLES DE XP


COSTO.

TIEMPO.

CALIDAD.

AMBITO.
CUATRO VALORES PARA AFRONTAR
              CAMBIO CON XP
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.
•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.
¿ Qué tareas debemos de llevar a cabo para
 desarrollar un buen software ?
•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.
FASES DE LA METODOLOGIA 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.
Retroalimentación a escala fina
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 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.
Proceso continuo en lugar de por lotes.
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.
• Entendimiento compartido.
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.
Ventajas de la programación en pareja

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

  •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.
Bienestar del programador.
La semana de 40 horas: la programación extrema
sostiene que los programadores cansados escriben código
de menor calidad.
CONCLUSIONES
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.
Bibliografía

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

Mais conteúdo relacionado

Mais procurados (20)

Programación Extrema (Extream Programming XP)
Programación Extrema (Extream Programming XP)Programación Extrema (Extream Programming XP)
Programación Extrema (Extream Programming XP)
 
Extreme programming (1)
Extreme programming (1)Extreme programming (1)
Extreme programming (1)
 
Programacion extrema_WR
Programacion extrema_WRProgramacion extrema_WR
Programacion extrema_WR
 
METODOLOGIAS XP
METODOLOGIAS XPMETODOLOGIAS XP
METODOLOGIAS XP
 
Metodologia xp
Metodologia xpMetodologia xp
Metodologia xp
 
Metodologias xp
Metodologias xpMetodologias xp
Metodologias xp
 
Metodologia xp
Metodologia xpMetodologia xp
Metodologia xp
 
Seminario MetodologíAs áGiles Y Xp, Tema 3 Extreme Programming
Seminario MetodologíAs áGiles Y Xp, Tema 3   Extreme ProgrammingSeminario MetodologíAs áGiles Y Xp, Tema 3   Extreme Programming
Seminario MetodologíAs áGiles Y Xp, Tema 3 Extreme Programming
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Seminario MetodologíAs áGiles Y Xp, Tema 3 Extreme Programming
Seminario MetodologíAs áGiles Y Xp, Tema 3   Extreme ProgrammingSeminario MetodologíAs áGiles Y Xp, Tema 3   Extreme Programming
Seminario MetodologíAs áGiles Y Xp, Tema 3 Extreme Programming
 
Diapositivas xp
Diapositivas xpDiapositivas xp
Diapositivas xp
 
Programacion Extrema
Programacion ExtremaProgramacion Extrema
Programacion Extrema
 
Metodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliudMetodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliud
 
Manual 02
Manual 02Manual 02
Manual 02
 
Pracicas de Ingenieria de Software
Pracicas de Ingenieria de SoftwarePracicas de Ingenieria de Software
Pracicas de Ingenieria de Software
 
Monografia metodologia xp
Monografia   metodologia xpMonografia   metodologia xp
Monografia metodologia xp
 
Xp
XpXp
Xp
 
Introducción a la Programación Extrema (XP)
Introducción a la Programación Extrema (XP)Introducción a la Programación Extrema (XP)
Introducción a la Programación Extrema (XP)
 
Xp
XpXp
Xp
 
Programación Xp Nocturno
Programación Xp NocturnoProgramación Xp Nocturno
Programación Xp Nocturno
 

Destaque

colegio sudamericano examen de computacion
colegio sudamericano examen de computacioncolegio sudamericano examen de computacion
colegio sudamericano examen de computacionKatty Gonzalez
 
Ej excbas pra2.xls-(1)
Ej excbas pra2.xls-(1)Ej excbas pra2.xls-(1)
Ej excbas pra2.xls-(1)margeory
 
Proyecto para programación ii
Proyecto para programación iiProyecto para programación ii
Proyecto para programación iigustavoooo
 
4 libertés logiciel_libre_recette_cuisine
4 libertés logiciel_libre_recette_cuisine4 libertés logiciel_libre_recette_cuisine
4 libertés logiciel_libre_recette_cuisineJérôme aka "Genma" Kun
 
Trabajo practico de redes
Trabajo practico de redesTrabajo practico de redes
Trabajo practico de redesmajochiessa
 
Procedimiento De La Pizza
Procedimiento De La PizzaProcedimiento De La Pizza
Procedimiento De La Pizzajohanna
 
Programa Bilingüe IES Jimenez de la Espada
Programa Bilingüe IES Jimenez de la EspadaPrograma Bilingüe IES Jimenez de la Espada
Programa Bilingüe IES Jimenez de la Espadadbrunosan
 
Tecnología Educativa - Competencia
Tecnología Educativa  - CompetenciaTecnología Educativa  - Competencia
Tecnología Educativa - Competencianarriondo
 
Consultorioparacajón
ConsultorioparacajónConsultorioparacajón
ConsultorioparacajónCarmen Cea
 
Présentation MyCom
Présentation MyComPrésentation MyCom
Présentation MyComEmilie Cohrs
 

Destaque (20)

Sonico
SonicoSonico
Sonico
 
colegio sudamericano examen de computacion
colegio sudamericano examen de computacioncolegio sudamericano examen de computacion
colegio sudamericano examen de computacion
 
Institutos
InstitutosInstitutos
Institutos
 
UBAS
UBASUBAS
UBAS
 
Ej excbas pra2.xls-(1)
Ej excbas pra2.xls-(1)Ej excbas pra2.xls-(1)
Ej excbas pra2.xls-(1)
 
Proyecto para programación ii
Proyecto para programación iiProyecto para programación ii
Proyecto para programación ii
 
4 libertés logiciel_libre_recette_cuisine
4 libertés logiciel_libre_recette_cuisine4 libertés logiciel_libre_recette_cuisine
4 libertés logiciel_libre_recette_cuisine
 
Intro
IntroIntro
Intro
 
Trabajo practico de redes
Trabajo practico de redesTrabajo practico de redes
Trabajo practico de redes
 
Procedimiento De La Pizza
Procedimiento De La PizzaProcedimiento De La Pizza
Procedimiento De La Pizza
 
Programa Bilingüe IES Jimenez de la Espada
Programa Bilingüe IES Jimenez de la EspadaPrograma Bilingüe IES Jimenez de la Espada
Programa Bilingüe IES Jimenez de la Espada
 
No estas solo
No estas soloNo estas solo
No estas solo
 
Guia 5
Guia 5Guia 5
Guia 5
 
Memoria RESCATE 2006 - español
Memoria RESCATE 2006 - español Memoria RESCATE 2006 - español
Memoria RESCATE 2006 - español
 
TECNOLOGIA
TECNOLOGIATECNOLOGIA
TECNOLOGIA
 
Classilio enseignants
Classilio enseignantsClassilio enseignants
Classilio enseignants
 
Tecnología Educativa - Competencia
Tecnología Educativa  - CompetenciaTecnología Educativa  - Competencia
Tecnología Educativa - Competencia
 
Consultorioparacajón
ConsultorioparacajónConsultorioparacajón
Consultorioparacajón
 
Resumen CECC
Resumen CECCResumen CECC
Resumen CECC
 
Présentation MyCom
Présentation MyComPrésentation MyCom
Présentation MyCom
 

Semelhante a XP: Metodología Ágil para el Desarrollo de Software

Programación extrema xp
Programación extrema xpProgramación extrema xp
Programación extrema xpJose Luis Dorao
 
Programación extrema (xp)
Programación extrema (xp)Programación extrema (xp)
Programación extrema (xp)Juan Avendaño
 
Metodología xp
Metodología xpMetodología xp
Metodología xpPiskamen
 
Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema Lis Pater
 
Programación extrema
Programación extrema  Programación extrema
Programación extrema yllek k
 
presentacion metodogia agil xp extremisp
presentacion metodogia agil xp extremisppresentacion metodogia agil xp extremisp
presentacion metodogia agil xp extremispjoseperez792566
 
Programación extrema
Programación extremaProgramación extrema
Programación extremaBrandon Betto
 
diferencia entre moprosoft y metodologia xp
diferencia entre moprosoft y metodologia xpdiferencia entre moprosoft y metodologia xp
diferencia entre moprosoft y metodologia xpunemi
 
La práctica en el Desarrollo de Software: Una visión general!
La práctica en el Desarrollo de Software: Una visión general!La práctica en el Desarrollo de Software: Una visión general!
La práctica en el Desarrollo de Software: Una visión general!Cristian Sánchez
 

Semelhante a XP: Metodología Ágil para el Desarrollo de Software (20)

Programacion extrema
Programacion extremaProgramacion extrema
Programacion extrema
 
Xp
XpXp
Xp
 
Programación extrema xp
Programación extrema xpProgramación extrema xp
Programación extrema xp
 
Programacion Extrema (XP).pptx
Programacion Extrema (XP).pptxProgramacion Extrema (XP).pptx
Programacion Extrema (XP).pptx
 
Metodos agiles 4
Metodos agiles 4Metodos agiles 4
Metodos agiles 4
 
Programación extrema (xp)
Programación extrema (xp)Programación extrema (xp)
Programación extrema (xp)
 
Programación extrema (xp)
Programación extrema (xp)Programación extrema (xp)
Programación extrema (xp)
 
Valores y prácticas XP
Valores y prácticas XPValores y prácticas XP
Valores y prácticas XP
 
Metodología xp
Metodología xpMetodología xp
Metodología xp
 
Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema
 
Programación extrema
Programación extrema  Programación extrema
Programación extrema
 
Metodologias agiles
Metodologias agilesMetodologias agiles
Metodologias agiles
 
Metodologiaxp
MetodologiaxpMetodologiaxp
Metodologiaxp
 
Xp
XpXp
Xp
 
Softagile
SoftagileSoftagile
Softagile
 
presentacion metodogia agil xp extremisp
presentacion metodogia agil xp extremisppresentacion metodogia agil xp extremisp
presentacion metodogia agil xp extremisp
 
Programación extrema
Programación extremaProgramación extrema
Programación extrema
 
diferencia entre moprosoft y metodologia xp
diferencia entre moprosoft y metodologia xpdiferencia entre moprosoft y metodologia xp
diferencia entre moprosoft y metodologia xp
 
La práctica en el Desarrollo de Software: Una visión general!
La práctica en el Desarrollo de Software: Una visión general!La práctica en el Desarrollo de Software: Una visión general!
La práctica en el Desarrollo de Software: Una visión general!
 
Metodologias
MetodologiasMetodologias
Metodologias
 

XP: Metodología Ágil para el Desarrollo de Software

  • 2. 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.
  • 3. ¿Qué ES 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). •El equipo lo conforman los jefes de proyecto, desarrolladores y el cliente. •Se rige por valores y principios.
  • 4. Es una Metodología ágil 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.
  • 5. ¿QUÉ PRETENDE EVITAR XP? •Retrasos en la planificación. •Sistemas deteriorados. •Tasa de defectos. •Requisitos mal comprendidos. •Cambios de negocio. •Falsa riqueza. •Cambios de personal.
  • 6. Posturas a favor y en contra A . Lo he probado y no me gusta nada B. Es una mala idea, no puede funcionar nunca C. Es una buena idea, pero no funcionará. D. Lo he probado y me gusta mucho
  • 7. OBJETIVOS DE XP La satisfacción del cliente Potenciar el trabajo en grupo.
  • 8. EPISODIO DE DESARROLLO 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!”
  • 9. CUATRO VARIABLES DE XP COSTO. TIEMPO. CALIDAD. AMBITO.
  • 10. CUATRO VALORES PARA AFRONTAR CAMBIO CON XP 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.
  • 11. •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.
  • 12. ¿ Qué tareas debemos de llevar a cabo para desarrollar un buen software ? •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.
  • 13. FASES DE LA METODOLOGIA 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.
  • 14. Retroalimentación a escala fina 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 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.
  • 15. Proceso continuo en lugar de por lotes. 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.
  • 16. • Entendimiento compartido. 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.
  • 17. Ventajas de la programación en pareja •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.
  • 18. Desventajas de la programación en pareja •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.
  • 19. Bienestar del programador. La semana de 40 horas: la programación extrema sostiene que los programadores cansados escriben código de menor calidad.
  • 20. CONCLUSIONES 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.