SlideShare una empresa de Scribd logo
1 de 12
Programación Extrema
(XP)
Metodologías Agiles
¿Qué es la Programación Extrema?
▪ Conjunto de prácticas y reglas empleadas para desarrollar software
▪ Pensado para enfrentar ambientes muy cambiantes
▪ En vez de planificar, analizar y diseñar para el futuro distante, hacer
todo esto un poco cada vez, a través de todo el proceso de
DESARROLLO de software
▪ Es una metodología ágil centrada en potenciar las relaciones
interpersonales como clave para el éxito en desarrollo de software,
promoviendo el trabajo en equipo, preocupándose por el aprendizaje
de los desarrolladores, y propiciando un buen clima de trabajo.
Origen
▪ Formulado por Kent Beck en 1996
▪ El primer libro fue editado en el año 1999: Extreme Programming
Expained.
▪ Pensado para un grupo pequeño y muy integrado (2-12 personas)
▪ Equipo con formación elevada y capacidad de aprender
▪ Los principios y prácticas son de sentido común pero llevadas al
extremo
Principios
▪ SIMPLICIDAD: Consiste en desarrollar solo el sistemas que realmente se
necesita. Implica resolver en cada momento solo las necesidades actuales
▪ FEDDBACK una metodología basada en desarrollo interactivo de
pequeñas partes, con entregas y pruebas frecuentes y continuas,
proporciona un flujo de retroinformación valioso para detectar los
problemas o desviaciones (TEST DEL CLIENTE)
▪ DECICION implica tomar decisiones difíciles, reparar errores cuando se
detecta mejorar el código siempre que tras el feedback y las sucesivas
pruebas
▪ COMUNICACION comunicación directa y continua a clientes y
desarrolladores
Roles
▪ Programador: Produce el código del sistema
▪ Cliente: Escribe las historias de usuario y las pruebas funcionales, centrándose en
aportar el mayor valor de negocio
▪ Tester (Pruebas): Ejecuta pruebas regularmente, difunde los resultados en el equipo
▪ Tracker (seguimiento):Verifica estimaciones y tiempo real dedicado.
▪ Entrenador: Guía a los miembros del equipo para seguir el proceso correctamente
▪ Consultor: Es un miembro externo del equipo con un conocimiento específico en algún
tema necesario para el proyecto
▪ Jefe de Proyecto (Big Boss): Es el dueño de la tienda y el vínculo entre clientes y
programadores. Su labor esencial es la coordinación.
Procesos de XP
Procesos de XP
▪ Planeación: Escuchar al cliente, crear las historias, organizar las
historias por su valor.
▪ Diseño: El programador estima el esfuerzo necesario para su
implementación.
▪ Codificación: Programación por parejas, da un mecanismo de
solución de problemas y aseguramiento de calidad en tiempo real.
▪ Pruebas: “Corregir pequeños problemas cada cierto número de horas
toma menos tiempo que resolver problemas enormes antes del plazo
final”
Entregas pequeñas
Una entrega no debería tardar más 3 meses…
Ventajas
▪ Da lugar a una programación sumamente organizada
▪ Cuanta con una tasa de errores muy pequeña
▪ Propicia la satisfacción del programador
▪ Facilita los cambios
▪ Permite ahorrar mucho tiempo y dinero
▪ Puede ser aplicada a cualquier lenguaje de programación
▪ El cliente tiene el control sobre las prioridades
▪ Se hacen pruebas continuas durante el proyecto
▪ A los clientes les ofrece mayor visibilidad y menor riesgo en el proyecto
Desventajas
▪ Es recomendable emplearla solo en proyectos a corto plazo, hay
restricciones en cuanto a tamaño de los proyectos.
▪ Requiere de un rígido ajuste a los principios de XP
▪ Puede no siempre ser mas fácil que el desarrollo tradicional
▪ Falta de documentación del diseño. Al no haber documentación es el
código (junto con sus comentarios) lo que se toma como
documentación.
▪ Si un proyecto ágil fracasa no hay documentación o hay muy poca; lo
mismo ocurre con el diseño. La comprensión del sistema se queda en
las mentes de los desarrolladores.

Más contenido relacionado

La actualidad más candente

Tsp (Team Software Process )
Tsp (Team Software Process )Tsp (Team Software Process )
Tsp (Team Software Process )silviachmn
 
Modelo basado en prototipos - Ingeniería de Software
Modelo basado en prototipos - Ingeniería de SoftwareModelo basado en prototipos - Ingeniería de Software
Modelo basado en prototipos - Ingeniería de SoftwareJoan Fernando Chipia Lobo
 
Metodologia incremental
Metodologia incrementalMetodologia incremental
Metodologia incrementalAnel Sosa
 
Diseño de software modelo lineal (presentacion)
Diseño de software   modelo lineal (presentacion)Diseño de software   modelo lineal (presentacion)
Diseño de software modelo lineal (presentacion)Marco Antonio Perez Montero
 
modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software Brihany Rossell
 
Programación extrema xp
Programación extrema xpProgramación extrema xp
Programación extrema xpJose Luis Dorao
 
2.2 relación de cmm con psp y tsp
2.2 relación de cmm con psp  y tsp2.2 relación de cmm con psp  y tsp
2.2 relación de cmm con psp y tspeeelllkkk
 
metodologia de prototipos
metodologia de prototiposmetodologia de prototipos
metodologia de prototiposKeiner Valerio
 
Ventajas y desventajas de cmmi
Ventajas y desventajas de cmmiVentajas y desventajas de cmmi
Ventajas y desventajas de cmmiSandrea Rodriguez
 

La actualidad más candente (20)

Tsp (Team Software Process )
Tsp (Team Software Process )Tsp (Team Software Process )
Tsp (Team Software Process )
 
Modelo basado en prototipos - Ingeniería de Software
Modelo basado en prototipos - Ingeniería de SoftwareModelo basado en prototipos - Ingeniería de Software
Modelo basado en prototipos - Ingeniería de Software
 
Herramientas case full informacion
Herramientas case full informacionHerramientas case full informacion
Herramientas case full informacion
 
Tsp
TspTsp
Tsp
 
Metodologia incremental
Metodologia incrementalMetodologia incremental
Metodologia incremental
 
Modelo CMMI
Modelo CMMIModelo CMMI
Modelo CMMI
 
Programacion Extrema
Programacion ExtremaProgramacion Extrema
Programacion Extrema
 
Diseño de software modelo lineal (presentacion)
Diseño de software   modelo lineal (presentacion)Diseño de software   modelo lineal (presentacion)
Diseño de software modelo lineal (presentacion)
 
Computo en paralelo con OpenMP y OpenMPI
Computo en paralelo con OpenMP y OpenMPIComputo en paralelo con OpenMP y OpenMPI
Computo en paralelo con OpenMP y OpenMPI
 
modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software
 
Crystal diapositiva
Crystal diapositivaCrystal diapositiva
Crystal diapositiva
 
Modelos evolutivos
Modelos evolutivosModelos evolutivos
Modelos evolutivos
 
Modelo evolutivo
Modelo evolutivoModelo evolutivo
Modelo evolutivo
 
Metodologia Incremental
Metodologia IncrementalMetodologia Incremental
Metodologia Incremental
 
Programación extrema xp
Programación extrema xpProgramación extrema xp
Programación extrema xp
 
2.2 relación de cmm con psp y tsp
2.2 relación de cmm con psp  y tsp2.2 relación de cmm con psp  y tsp
2.2 relación de cmm con psp y tsp
 
metodologia de prototipos
metodologia de prototiposmetodologia de prototipos
metodologia de prototipos
 
Proceso del Software
Proceso del Software Proceso del Software
Proceso del Software
 
Ingeniería de software modelo incremental
Ingeniería de software  modelo incrementalIngeniería de software  modelo incremental
Ingeniería de software modelo incremental
 
Ventajas y desventajas de cmmi
Ventajas y desventajas de cmmiVentajas y desventajas de cmmi
Ventajas y desventajas de cmmi
 

Destacado (16)

Pomodoro
PomodoroPomodoro
Pomodoro
 
Método Lean
Método LeanMétodo Lean
Método Lean
 
El método de las 5S
El método de las 5SEl método de las 5S
El método de las 5S
 
Xp
XpXp
Xp
 
Requisitos agiles 2010
Requisitos agiles 2010Requisitos agiles 2010
Requisitos agiles 2010
 
Xp
XpXp
Xp
 
Metodologia xp
Metodologia xpMetodologia xp
Metodologia xp
 
Xp
XpXp
Xp
 
Metodologia xp
Metodologia xpMetodologia xp
Metodologia xp
 
Diapositivas xp
Diapositivas xpDiapositivas xp
Diapositivas xp
 
Programación Extrema (Extream Programming XP)
Programación Extrema (Extream Programming XP)Programación Extrema (Extream Programming XP)
Programación Extrema (Extream Programming XP)
 
Compilado Retrospectivas (varias) I
Compilado Retrospectivas (varias) ICompilado Retrospectivas (varias) I
Compilado Retrospectivas (varias) I
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Modelo xp para desarrollo de proyecto
Modelo xp para desarrollo de proyectoModelo xp para desarrollo de proyecto
Modelo xp para desarrollo de proyecto
 
Metodología ágil de programación extrema
Metodología ágil de programación extremaMetodología ágil de programación extrema
Metodología ágil de programación extrema
 
Metodologia xp
Metodologia xpMetodologia xp
Metodologia xp
 

Similar a Programación Extrema (XP)

Similar a Programación Extrema (XP) (20)

programaciON EXTREMA.pptx
programaciON EXTREMA.pptxprogramaciON EXTREMA.pptx
programaciON EXTREMA.pptx
 
Extremeprograming
ExtremeprogramingExtremeprograming
Extremeprograming
 
Valores y prácticas XP
Valores y prácticas XPValores y prácticas XP
Valores y prácticas XP
 
Programación extrema (xp)
Programación extrema (xp)Programación extrema (xp)
Programación extrema (xp)
 
Práctica SRUM - (Introducción) v1.pptx
Práctica SRUM - (Introducción) v1.pptxPráctica SRUM - (Introducción) v1.pptx
Práctica SRUM - (Introducción) v1.pptx
 
FACCI METODOLOGIAS AGILES
FACCI METODOLOGIAS AGILESFACCI METODOLOGIAS AGILES
FACCI METODOLOGIAS AGILES
 
Xp
XpXp
Xp
 
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
 
Metodologías ágiles en Desarrollo de Software 2017
Metodologías ágiles en Desarrollo de Software 2017Metodologías ágiles en Desarrollo de Software 2017
Metodologías ágiles en Desarrollo de Software 2017
 
Especial ingenieria de software
Especial ingenieria de softwareEspecial ingenieria de software
Especial ingenieria de software
 
Especial ingenieria de software
Especial ingenieria de softwareEspecial ingenieria de software
Especial ingenieria de software
 
Desarrollo ágil
Desarrollo ágilDesarrollo ágil
Desarrollo ágil
 
Scrum
ScrumScrum
Scrum
 
Xp
XpXp
Xp
 
Metodologías de Desarrollo de Software
Metodologías de Desarrollo de SoftwareMetodologías de Desarrollo de Software
Metodologías de Desarrollo de Software
 
Xp
XpXp
Xp
 
Pracicas de Ingenieria de Software
Pracicas de Ingenieria de SoftwarePracicas de Ingenieria de Software
Pracicas de Ingenieria de Software
 
Metodologias ágiles
Metodologias ágilesMetodologias ágiles
Metodologias ágiles
 
Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema
 

Último

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 

Último (10)

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 

Programación Extrema (XP)

  • 2. ¿Qué es la Programación Extrema? ▪ Conjunto de prácticas y reglas empleadas para desarrollar software ▪ Pensado para enfrentar ambientes muy cambiantes ▪ En vez de planificar, analizar y diseñar para el futuro distante, hacer todo esto un poco cada vez, a través de todo el proceso de DESARROLLO de software ▪ Es una metodología ágil centrada en potenciar las relaciones interpersonales como clave para el éxito en desarrollo de software, promoviendo el trabajo en equipo, preocupándose por el aprendizaje de los desarrolladores, y propiciando un buen clima de trabajo.
  • 3. Origen ▪ Formulado por Kent Beck en 1996 ▪ El primer libro fue editado en el año 1999: Extreme Programming Expained. ▪ Pensado para un grupo pequeño y muy integrado (2-12 personas) ▪ Equipo con formación elevada y capacidad de aprender ▪ Los principios y prácticas son de sentido común pero llevadas al extremo
  • 4.
  • 5. Principios ▪ SIMPLICIDAD: Consiste en desarrollar solo el sistemas que realmente se necesita. Implica resolver en cada momento solo las necesidades actuales ▪ FEDDBACK una metodología basada en desarrollo interactivo de pequeñas partes, con entregas y pruebas frecuentes y continuas, proporciona un flujo de retroinformación valioso para detectar los problemas o desviaciones (TEST DEL CLIENTE) ▪ DECICION implica tomar decisiones difíciles, reparar errores cuando se detecta mejorar el código siempre que tras el feedback y las sucesivas pruebas ▪ COMUNICACION comunicación directa y continua a clientes y desarrolladores
  • 6.
  • 7. Roles ▪ Programador: Produce el código del sistema ▪ Cliente: Escribe las historias de usuario y las pruebas funcionales, centrándose en aportar el mayor valor de negocio ▪ Tester (Pruebas): Ejecuta pruebas regularmente, difunde los resultados en el equipo ▪ Tracker (seguimiento):Verifica estimaciones y tiempo real dedicado. ▪ Entrenador: Guía a los miembros del equipo para seguir el proceso correctamente ▪ Consultor: Es un miembro externo del equipo con un conocimiento específico en algún tema necesario para el proyecto ▪ Jefe de Proyecto (Big Boss): Es el dueño de la tienda y el vínculo entre clientes y programadores. Su labor esencial es la coordinación.
  • 9. Procesos de XP ▪ Planeación: Escuchar al cliente, crear las historias, organizar las historias por su valor. ▪ Diseño: El programador estima el esfuerzo necesario para su implementación. ▪ Codificación: Programación por parejas, da un mecanismo de solución de problemas y aseguramiento de calidad en tiempo real. ▪ Pruebas: “Corregir pequeños problemas cada cierto número de horas toma menos tiempo que resolver problemas enormes antes del plazo final”
  • 10. Entregas pequeñas Una entrega no debería tardar más 3 meses…
  • 11. Ventajas ▪ Da lugar a una programación sumamente organizada ▪ Cuanta con una tasa de errores muy pequeña ▪ Propicia la satisfacción del programador ▪ Facilita los cambios ▪ Permite ahorrar mucho tiempo y dinero ▪ Puede ser aplicada a cualquier lenguaje de programación ▪ El cliente tiene el control sobre las prioridades ▪ Se hacen pruebas continuas durante el proyecto ▪ A los clientes les ofrece mayor visibilidad y menor riesgo en el proyecto
  • 12. Desventajas ▪ Es recomendable emplearla solo en proyectos a corto plazo, hay restricciones en cuanto a tamaño de los proyectos. ▪ Requiere de un rígido ajuste a los principios de XP ▪ Puede no siempre ser mas fácil que el desarrollo tradicional ▪ Falta de documentación del diseño. Al no haber documentación es el código (junto con sus comentarios) lo que se toma como documentación. ▪ Si un proyecto ágil fracasa no hay documentación o hay muy poca; lo mismo ocurre con el diseño. La comprensión del sistema se queda en las mentes de los desarrolladores.