Programación extrema (xp)

Wilfredo Mogollón
Wilfredo MogollónDocente en Instituto Modern Systems
Ing.Wilfredo Montero Mogollón
 Conocidos anteriormente como Metodologías Livianas, los
procesos ágiles de desarrollo de software evitan los tortuosos
y burocráticos caminos de las metodologías tradicionales y se
enfocan en la gente y los resultados.
 Minimizar la cantidad de esfuerzo y tiempo gastados en
construir modelos que sólo servirán como documentación.
 Asegurar que el software entregado funciona para los
usuarios.
 Permitir que el proyecto se adapte de manera flexible e
inmediata a los cambios originados por tecnologías y/o
requisitos.
 Programación extrema (XP)
 Metodologías Crystal
 SCRUM
 Desarrollo de software adaptativo
 Desarrollo guiado por características (FDD)
 Metodología de desarrollo de sistemas dinámicos (DSDM)
 Retrasos y desviaciones en la planificación.
 Coste de mantenimiento elevados.
 Alta tasa de defectos.
 Requisitos mal comprendidos.
 Cambios de negocio.
 Falsa riqueza de características.
 Cambios de personal.
 Retrasos y desviaciones: versiones cortas.
 Cancelan el proyecto: entregas
periódicas.
 Sistemas deteriorados y defectos:
pruebas continuas.
 Requisitos mal comprendidos: cliente
dentro del equipo.
 Cambios de negocio: versiones cortas.
 Falsa riqueza de características: realizar
tareas prioritarias.
 Cambios de personal: anima el contacto y
la integración.
 “Un proceso ligero, de bajo riesgo, flexible, predecible,
científico y divertido de desarrollar software”.
 Kent Beck
 (Extreme Programming Explained)
 Metodología creada a base de prueba y error.
 Surge considerando 5 valores que pueden mejorar cualquier
proyecto de software: Simplicidad, Comunicación,
Realimentación, Coraje, Respeto.
 Expresada en forma de 12 prácticas (algunas ya existentes
desde hace años), que se soportan las unas a las otras y
conforman un conjunto completo.
 Codificar
 Es necesario codificar y plasmar nuestras ideas a través del código.
 Hacer pruebas
 Las pruebas dan la oportunidad de saber si lo implementado es lo que en
realidad se tenía en mente
 Escuchar
 Si vamos a hacer pruebas tenemos que preguntar si lo obtenido es lo
deseado, y tenemos que preguntar a quien necesita la información.
 Diseñar
 Los diseños deben de ser sencillos, si alguna parte del sistema es de
desarrollo complejo, lo apropiado es dividirla en varias.
 Resumiendo las actividades de Xp: Tenemos que codificar
porque sin código no hay programas, tenemos que hacer
pruebas por que sin pruebas no sabemos si hemos acabado de
codificar, tenemos que escuchar, porque si no escuchamos no
sabemos que codificar ni probar, y tenemos que diseñar para
poder codificar, probar y escuchar indefinidamente
 Simplicidad: XP propone el principio de hacer la cosa más
simple que pueda funcionar, en relación al proceso y la
codificación. Es mejor hacer algo simple hoy, que hacerlo más
complicado hoy y probablemente nunca usarlo.
 Comunicación: Algunos problemas en los proyectos tienen su
origen en que alguien no dijo algo a alguien más sobre algo
importante en algún momento. XP hace casi imposible la falta
de comunicación.
 Realimentación: retroalimentación concreta y frecuente del
cliente, del equipo y de los usuarios finales da una mayor
oportunidad de dirigir el esfuerzo.
 Coraje: se requiere coraje para confiar en que la retroalimentación
durante el camino es mejor que tratar de adivinar todo con
anticipación. Se requiere valor para comunicarse con los demás
cuando eso podría exponer la propia ignorancia. Se requiere valor
para mantener el sistema simple, dejando para mañana las
decisiones de mañana.Y, sin un sistema simple, sin comunicación
constante, sin retroalimentación y respeto, es difícil ser valeroso.
 Respeto: El equipo debe trabajar como uno, sin hacer decisiones
repentinas.
 Retroalimentación a escala fina:
 Desarrollo guiado por pruebas
 Planificación iterativa
 Cliente como parte del equipo
 Programación en pares
 Proceso continuo:
 Integración continua
 Refactorización
 Liberación pequeña, entregas frecuentes
 Entendimiento compartido:
 Diseño simple
 Metáforas del sistema
 Propiedad colectiva del código
 Estándares de codificación
 Bienestar del programador:
 Ritmo sostenible (Semanas de 40 horas)
 Cliente en el Sitio
Programación extrema (xp)
 Fase de la exploración:
 En esta fase, los clientes plantean a grandes rasgos las historias de usuario que
son de interés para la primera entrega del producto. Al mismo tiempo el equipo
de desarrollo se familiariza con las herramientas, tecnologías y prácticas que se
utilizarán en el proyecto.
 Fase del planeamiento:
 se priorizan las historias de usuario y se acuerda el alcance del release. Los
programadores estiman cuánto esfuerzo requiere cada historia y a partir de allí
se define el cronograma. La duración del cronograma del primer release no
excede normalmente dos meses. La fase de planeamiento toma un par de días.
Al final de la última iteración el sistema esta listo para producción.
 Fase de producción:
 Requiere prueba y comprobación extra del funcionamiento del sistema antes de
que éste se pueda liberar al cliente. En esta fase, los nuevos cambios pueden
todavía ser encontrados y debe tomarse la decisión de si se incluyen o no en el
release actual.
 Fase de mantenimiento:
 Requiere de un mayor esfuerzo para satisfacer también las tareas del cliente. Así, la
velocidad del desarrollo puede desacelerar después de que el sistema esté en la
producción.
 Fase de muerte:
 Es cuando el cliente no tiene más historias para ser incluidas en el sistema. Esto
requiere que se satisfagan las necesidades del cliente en otros aspectos como
rendimiento y confiabilidad del sistema.
 Programador (Programmer)
 Responsable de decisiones técnicas
 Responsable de construir el sistema
 Sin distinción entre analistas, diseñadores o
codificadores
 En Xp, los programadores diseñan, programan y
realizan las pruebas
 Cliente (Customer)
 Es parte del equipo
 Determina qué construir y cuándo
 Escribe tests funcionales para determinar cuándo está
completo un determinado aspecto
 Entrenador (Coach)
 El líder del equipo - toma las decisiones importantes
 Principal responsable del proceso
 Tiende a estar en un segundo plano a medida que el equipo madura
 Rastreador (Tracker)
 Metric Man
 Observa sin molestar
 Conserva datos históricos
 Probador (Tester)
 Ayuda al cliente con las pruebas funcionales
 Se asegura de que los tests funcionales se ejecutan
Programación extrema (xp)
Programación extrema (xp)
Programación extrema (xp)
Programación extrema (xp)
 Algunas de las críticas recopiladas de Xp son:
 Xp tiene muchas críticas contra la programación por parejas por parte de
muchos programadores, piensan que ellos son los mejores conocedores
de las herramientas y lenguajes que utilizan y que si alguien no lo entiende
es por que no sabe lo suficiente.
 También se critica el mito de las 40 horas semanales ya que es un lujo para
las exigencias del mercado.
 También hay críticas hacia Xp que dicen que solo puede funcionar con
programadores muy buenos.
 Xp es mas una filosofía de trabajo que una metodología.
 Xp esta diseñado para grupos de pequeños programadores, más de 10 ya
seria muy complicado.
 http://www.extremeprogramming.org/
 http://www.programacionextrema.org/
 http://www.jera.com/techinfo/xpfaq.html
http://c2.com/cgi/wiki?ExtremeProgrammingRoadmap
http://clabs.org/caseforxp.htm
http://ootips.org/xp.html
http://www.bobjectsinc.com/cstug/xpslides/
http://www.xp123.com/
http://c2.com/cgi/wiki?XpGlossary
1 de 28

Recomendados

Lect3 conventional vs modern spm por
Lect3 conventional vs modern spmLect3 conventional vs modern spm
Lect3 conventional vs modern spmmeena466141
617 vistas18 diapositivas
Metodologías Ágiles - Scrum y XP por
Metodologías Ágiles - Scrum y XPMetodologías Ágiles - Scrum y XP
Metodologías Ágiles - Scrum y XPJose I. Honrado
3.6K vistas35 diapositivas
Software process por
Software processSoftware process
Software processDr. Loganathan R
12.1K vistas47 diapositivas
Software design principles por
Software design principlesSoftware design principles
Software design principlesRitesh Singh
1.7K vistas64 diapositivas
SWE-401 - 1. Introduction to Software Engineering por
SWE-401 - 1. Introduction to Software EngineeringSWE-401 - 1. Introduction to Software Engineering
SWE-401 - 1. Introduction to Software Engineeringghayour abbas
693 vistas7 diapositivas
Lenguajes de programación.ppt por
Lenguajes de programación.pptLenguajes de programación.ppt
Lenguajes de programación.pptEliezer Cordova
2.5K vistas32 diapositivas

Más contenido relacionado

La actualidad más candente

Agile Development Overview por
Agile Development OverviewAgile Development Overview
Agile Development Overviewguestb4c770
2.2K vistas15 diapositivas
Lect2 conventional software management por
Lect2 conventional software managementLect2 conventional software management
Lect2 conventional software managementmeena466141
538 vistas20 diapositivas
Agile por
AgileAgile
AgileAbhinav Regmi
1.6K vistas16 diapositivas
2 modelos de la ingenieria de software por
2  modelos de la ingenieria de software2  modelos de la ingenieria de software
2 modelos de la ingenieria de softwareAlberto Flores De Peñafiel
3.5K vistas18 diapositivas
Programación extrema xp por
Programación extrema xpProgramación extrema xp
Programación extrema xpJose Luis Dorao
586 vistas24 diapositivas
Agile software development por
Agile software developmentAgile software development
Agile software developmentMuhammad Amjad Rana
14.8K vistas17 diapositivas

La actualidad más candente(20)

Agile Development Overview por guestb4c770
Agile Development OverviewAgile Development Overview
Agile Development Overview
guestb4c7702.2K vistas
Lect2 conventional software management por meena466141
Lect2 conventional software managementLect2 conventional software management
Lect2 conventional software management
meena466141538 vistas
Waterfall vs agile approach scrum framework and best practices in software d... por Tayfun Bilsel
Waterfall vs agile approach  scrum framework and best practices in software d...Waterfall vs agile approach  scrum framework and best practices in software d...
Waterfall vs agile approach scrum framework and best practices in software d...
Tayfun Bilsel34.6K vistas
Software reverse engineering por Parminder Singh
Software reverse engineeringSoftware reverse engineering
Software reverse engineering
Parminder Singh20.7K vistas
Metricas y factores de mc call por mildredmontoya6
Metricas y factores  de mc callMetricas y factores  de mc call
Metricas y factores de mc call
mildredmontoya610.8K vistas
What is Agile Testing? Edureka por Edureka!
What is Agile Testing? EdurekaWhat is Agile Testing? Edureka
What is Agile Testing? Edureka
Edureka!391 vistas
Foro tematico 1 Elementos de calidad de software por SOLECITOGIRASOL
Foro tematico 1 Elementos de calidad de softwareForo tematico 1 Elementos de calidad de software
Foro tematico 1 Elementos de calidad de software
SOLECITOGIRASOL404 vistas
Software Testing Strategies por NayyabMirTahir
Software Testing StrategiesSoftware Testing Strategies
Software Testing Strategies
NayyabMirTahir480 vistas
MAPA CONCEPTUAL por Mali Ma
MAPA CONCEPTUALMAPA CONCEPTUAL
MAPA CONCEPTUAL
Mali Ma4K vistas
Programación Extrema (Extream Programming XP) por Cesar Acosta
Programación Extrema (Extream Programming XP)Programación Extrema (Extream Programming XP)
Programación Extrema (Extream Programming XP)
Cesar Acosta10.4K vistas
Modelos de desarrollo del software por Renny Batista
Modelos de desarrollo del softwareModelos de desarrollo del software
Modelos de desarrollo del software
Renny Batista5.2K vistas
Tabla comparativa- metodologías de desarrollo por itsarellano
Tabla comparativa-  metodologías de desarrolloTabla comparativa-  metodologías de desarrollo
Tabla comparativa- metodologías de desarrollo
itsarellano15K vistas
GestióN De Proyectos Software por UCPR
GestióN De Proyectos SoftwareGestióN De Proyectos Software
GestióN De Proyectos Software
UCPR13K vistas

Similar a Programación extrema (xp)

Díme que desarrollas y te diré que metodología usar por
Díme que desarrollas y te diré que metodología usarDíme que desarrollas y te diré que metodología usar
Díme que desarrollas y te diré que metodología usarKiberley Santos
6.3K vistas30 diapositivas
Metodologías Ágiles en la Práctica por
Metodologías Ágiles en la PrácticaMetodologías Ágiles en la Práctica
Metodologías Ágiles en la PrácticaManuel Rubio
3.4K vistas45 diapositivas
Crystal Clear por
Crystal ClearCrystal Clear
Crystal ClearPaco Garat
7K vistas24 diapositivas
Sesión 03-métodos-ágiles-del-desarrollo-de-software por
Sesión 03-métodos-ágiles-del-desarrollo-de-softwareSesión 03-métodos-ágiles-del-desarrollo-de-software
Sesión 03-métodos-ágiles-del-desarrollo-de-softwareR̶a̶m̶s̶é̶s̶ M̶a̶r̶t̶í̶n̶e̶z̶ ̶O̶r̶t̶i̶z̶
432 vistas38 diapositivas
FACCI METODOLOGIAS AGILES por
FACCI METODOLOGIAS AGILESFACCI METODOLOGIAS AGILES
FACCI METODOLOGIAS AGILESafrancoing
1.1K vistas50 diapositivas
Programación extrema [XP] por
Programación extrema [XP]Programación extrema [XP]
Programación extrema [XP]Agustín
288 vistas40 diapositivas

Similar a Programación extrema (xp)(20)

Díme que desarrollas y te diré que metodología usar por Kiberley Santos
Díme que desarrollas y te diré que metodología usarDíme que desarrollas y te diré que metodología usar
Díme que desarrollas y te diré que metodología usar
Kiberley Santos6.3K vistas
Metodologías Ágiles en la Práctica por Manuel Rubio
Metodologías Ágiles en la PrácticaMetodologías Ágiles en la Práctica
Metodologías Ágiles en la Práctica
Manuel Rubio3.4K vistas
FACCI METODOLOGIAS AGILES por afrancoing
FACCI METODOLOGIAS AGILESFACCI METODOLOGIAS AGILES
FACCI METODOLOGIAS AGILES
afrancoing1.1K vistas
Programación extrema [XP] por Agustín
Programación extrema [XP]Programación extrema [XP]
Programación extrema [XP]
Agustín288 vistas
Modelo xp para desarrollo de proyecto por Johita Guerrero
Modelo xp para desarrollo de proyectoModelo xp para desarrollo de proyecto
Modelo xp para desarrollo de proyecto
Johita Guerrero18.6K vistas
s05 - paradigma de construcción de soluciones basado en desarrollo de código por Mario Solarte
s05 - paradigma de construcción de soluciones basado en desarrollo de códigos05 - paradigma de construcción de soluciones basado en desarrollo de código
s05 - paradigma de construcción de soluciones basado en desarrollo de código
Mario Solarte551 vistas
Metodologia xp por 0202278446
Metodologia xpMetodologia xp
Metodologia xp
020227844637 vistas
La Práctica : Una visión general por Cinthia Pulla
La Práctica : Una visión generalLa Práctica : Una visión general
La Práctica : Una visión general
Cinthia Pulla479 vistas
La Práctica : Una visión general por guest87d127
La Práctica : Una visión generalLa Práctica : Una visión general
La Práctica : Una visión general
guest87d127501 vistas
Metodologias agiles Programacion Xtrema por Lis Pater
Metodologias agiles Programacion Xtrema Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema
Lis Pater48.7K vistas
METODOLOGIAS AGILES por mikyWatt
METODOLOGIAS AGILESMETODOLOGIAS AGILES
METODOLOGIAS AGILES
mikyWatt9.5K vistas

Más de Wilfredo Mogollón

Modelo de requerimientos por
Modelo de requerimientosModelo de requerimientos
Modelo de requerimientosWilfredo Mogollón
1.2K vistas15 diapositivas
Modelado del negocio por
Modelado del negocioModelado del negocio
Modelado del negocioWilfredo Mogollón
1K vistas13 diapositivas
Técnicas e instrumentos para la recopilación de información por
Técnicas e instrumentos para la recopilación de informaciónTécnicas e instrumentos para la recopilación de información
Técnicas e instrumentos para la recopilación de informaciónWilfredo Mogollón
547 vistas12 diapositivas
Ingeniería de software y el paradigma orientado a objetos por
Ingeniería de software y el paradigma orientado a objetosIngeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetosWilfredo Mogollón
506 vistas27 diapositivas
Metodologías de desarrollo de software por
Metodologías de desarrollo de softwareMetodologías de desarrollo de software
Metodologías de desarrollo de softwareWilfredo Mogollón
723 vistas32 diapositivas
Ciclo Vida del Software por
Ciclo Vida del SoftwareCiclo Vida del Software
Ciclo Vida del SoftwareWilfredo Mogollón
4K vistas36 diapositivas

Más de Wilfredo Mogollón(8)

Último

MasterMind.pdf por
MasterMind.pdfMasterMind.pdf
MasterMind.pdfrtovarfernandez
18 vistas5 diapositivas
Tecnologia (3).pdf por
Tecnologia (3).pdfTecnologia (3).pdf
Tecnologia (3).pdfnosi6702
7 vistas15 diapositivas
Advanced Persistent Threat ' BugCON 2023 por
Advanced Persistent Threat '  BugCON 2023Advanced Persistent Threat '  BugCON 2023
Advanced Persistent Threat ' BugCON 2023Jonathan Palacios
10 vistas40 diapositivas
Qué es el rodamiento hacia adelante.docx por
Qué es el rodamiento hacia adelante.docxQué es el rodamiento hacia adelante.docx
Qué es el rodamiento hacia adelante.docxFabianCarrillo31
7 vistas1 diapositiva
La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1 por
La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1
La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1Angel Borroy López
6 vistas22 diapositivas
Tecnologia (1).pdf por
Tecnologia (1).pdfTecnologia (1).pdf
Tecnologia (1).pdfnosi6702
9 vistas13 diapositivas

Último(8)

Tecnologia (3).pdf por nosi6702
Tecnologia (3).pdfTecnologia (3).pdf
Tecnologia (3).pdf
nosi67027 vistas
Qué es el rodamiento hacia adelante.docx por FabianCarrillo31
Qué es el rodamiento hacia adelante.docxQué es el rodamiento hacia adelante.docx
Qué es el rodamiento hacia adelante.docx
FabianCarrillo317 vistas
La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1 por Angel Borroy López
La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1
La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1
Tecnologia (1).pdf por nosi6702
Tecnologia (1).pdfTecnologia (1).pdf
Tecnologia (1).pdf
nosi67029 vistas
Operations & Data Graph por Neo4j
Operations & Data GraphOperations & Data Graph
Operations & Data Graph
Neo4j43 vistas
Peña_Anaya_TAREA Reportes Maestro - Detalle con el uso de AJAX.pptx por MOISESPENAANAYA
Peña_Anaya_TAREA Reportes Maestro - Detalle con el uso de AJAX.pptxPeña_Anaya_TAREA Reportes Maestro - Detalle con el uso de AJAX.pptx
Peña_Anaya_TAREA Reportes Maestro - Detalle con el uso de AJAX.pptx
MOISESPENAANAYA6 vistas

Programación extrema (xp)

  • 2.  Conocidos anteriormente como Metodologías Livianas, los procesos ágiles de desarrollo de software evitan los tortuosos y burocráticos caminos de las metodologías tradicionales y se enfocan en la gente y los resultados.
  • 3.  Minimizar la cantidad de esfuerzo y tiempo gastados en construir modelos que sólo servirán como documentación.  Asegurar que el software entregado funciona para los usuarios.  Permitir que el proyecto se adapte de manera flexible e inmediata a los cambios originados por tecnologías y/o requisitos.
  • 4.  Programación extrema (XP)  Metodologías Crystal  SCRUM  Desarrollo de software adaptativo  Desarrollo guiado por características (FDD)  Metodología de desarrollo de sistemas dinámicos (DSDM)
  • 5.  Retrasos y desviaciones en la planificación.  Coste de mantenimiento elevados.  Alta tasa de defectos.  Requisitos mal comprendidos.  Cambios de negocio.  Falsa riqueza de características.  Cambios de personal.
  • 6.  Retrasos y desviaciones: versiones cortas.  Cancelan el proyecto: entregas periódicas.  Sistemas deteriorados y defectos: pruebas continuas.  Requisitos mal comprendidos: cliente dentro del equipo.  Cambios de negocio: versiones cortas.  Falsa riqueza de características: realizar tareas prioritarias.  Cambios de personal: anima el contacto y la integración.
  • 7.  “Un proceso ligero, de bajo riesgo, flexible, predecible, científico y divertido de desarrollar software”.  Kent Beck  (Extreme Programming Explained)
  • 8.  Metodología creada a base de prueba y error.  Surge considerando 5 valores que pueden mejorar cualquier proyecto de software: Simplicidad, Comunicación, Realimentación, Coraje, Respeto.  Expresada en forma de 12 prácticas (algunas ya existentes desde hace años), que se soportan las unas a las otras y conforman un conjunto completo.
  • 9.  Codificar  Es necesario codificar y plasmar nuestras ideas a través del código.  Hacer pruebas  Las pruebas dan la oportunidad de saber si lo implementado es lo que en realidad se tenía en mente  Escuchar  Si vamos a hacer pruebas tenemos que preguntar si lo obtenido es lo deseado, y tenemos que preguntar a quien necesita la información.  Diseñar  Los diseños deben de ser sencillos, si alguna parte del sistema es de desarrollo complejo, lo apropiado es dividirla en varias.
  • 10.  Resumiendo las actividades de Xp: Tenemos que codificar porque sin código no hay programas, tenemos que hacer pruebas por que sin pruebas no sabemos si hemos acabado de codificar, tenemos que escuchar, porque si no escuchamos no sabemos que codificar ni probar, y tenemos que diseñar para poder codificar, probar y escuchar indefinidamente
  • 11.  Simplicidad: XP propone el principio de hacer la cosa más simple que pueda funcionar, en relación al proceso y la codificación. Es mejor hacer algo simple hoy, que hacerlo más complicado hoy y probablemente nunca usarlo.  Comunicación: Algunos problemas en los proyectos tienen su origen en que alguien no dijo algo a alguien más sobre algo importante en algún momento. XP hace casi imposible la falta de comunicación.
  • 12.  Realimentación: retroalimentación concreta y frecuente del cliente, del equipo y de los usuarios finales da una mayor oportunidad de dirigir el esfuerzo.  Coraje: se requiere coraje para confiar en que la retroalimentación durante el camino es mejor que tratar de adivinar todo con anticipación. Se requiere valor para comunicarse con los demás cuando eso podría exponer la propia ignorancia. Se requiere valor para mantener el sistema simple, dejando para mañana las decisiones de mañana.Y, sin un sistema simple, sin comunicación constante, sin retroalimentación y respeto, es difícil ser valeroso.  Respeto: El equipo debe trabajar como uno, sin hacer decisiones repentinas.
  • 13.  Retroalimentación a escala fina:  Desarrollo guiado por pruebas  Planificación iterativa  Cliente como parte del equipo  Programación en pares  Proceso continuo:  Integración continua  Refactorización  Liberación pequeña, entregas frecuentes
  • 14.  Entendimiento compartido:  Diseño simple  Metáforas del sistema  Propiedad colectiva del código  Estándares de codificación  Bienestar del programador:  Ritmo sostenible (Semanas de 40 horas)  Cliente en el Sitio
  • 16.  Fase de la exploración:  En esta fase, los clientes plantean a grandes rasgos las historias de usuario que son de interés para la primera entrega del producto. Al mismo tiempo el equipo de desarrollo se familiariza con las herramientas, tecnologías y prácticas que se utilizarán en el proyecto.  Fase del planeamiento:  se priorizan las historias de usuario y se acuerda el alcance del release. Los programadores estiman cuánto esfuerzo requiere cada historia y a partir de allí se define el cronograma. La duración del cronograma del primer release no excede normalmente dos meses. La fase de planeamiento toma un par de días. Al final de la última iteración el sistema esta listo para producción.
  • 17.  Fase de producción:  Requiere prueba y comprobación extra del funcionamiento del sistema antes de que éste se pueda liberar al cliente. En esta fase, los nuevos cambios pueden todavía ser encontrados y debe tomarse la decisión de si se incluyen o no en el release actual.  Fase de mantenimiento:  Requiere de un mayor esfuerzo para satisfacer también las tareas del cliente. Así, la velocidad del desarrollo puede desacelerar después de que el sistema esté en la producción.  Fase de muerte:  Es cuando el cliente no tiene más historias para ser incluidas en el sistema. Esto requiere que se satisfagan las necesidades del cliente en otros aspectos como rendimiento y confiabilidad del sistema.
  • 18.  Programador (Programmer)  Responsable de decisiones técnicas  Responsable de construir el sistema  Sin distinción entre analistas, diseñadores o codificadores  En Xp, los programadores diseñan, programan y realizan las pruebas
  • 19.  Cliente (Customer)  Es parte del equipo  Determina qué construir y cuándo  Escribe tests funcionales para determinar cuándo está completo un determinado aspecto
  • 20.  Entrenador (Coach)  El líder del equipo - toma las decisiones importantes  Principal responsable del proceso  Tiende a estar en un segundo plano a medida que el equipo madura
  • 21.  Rastreador (Tracker)  Metric Man  Observa sin molestar  Conserva datos históricos
  • 22.  Probador (Tester)  Ayuda al cliente con las pruebas funcionales  Se asegura de que los tests funcionales se ejecutan
  • 27.  Algunas de las críticas recopiladas de Xp son:  Xp tiene muchas críticas contra la programación por parejas por parte de muchos programadores, piensan que ellos son los mejores conocedores de las herramientas y lenguajes que utilizan y que si alguien no lo entiende es por que no sabe lo suficiente.  También se critica el mito de las 40 horas semanales ya que es un lujo para las exigencias del mercado.  También hay críticas hacia Xp que dicen que solo puede funcionar con programadores muy buenos.  Xp es mas una filosofía de trabajo que una metodología.  Xp esta diseñado para grupos de pequeños programadores, más de 10 ya seria muy complicado.
  • 28.  http://www.extremeprogramming.org/  http://www.programacionextrema.org/  http://www.jera.com/techinfo/xpfaq.html http://c2.com/cgi/wiki?ExtremeProgrammingRoadmap http://clabs.org/caseforxp.htm http://ootips.org/xp.html http://www.bobjectsinc.com/cstug/xpslides/ http://www.xp123.com/ http://c2.com/cgi/wiki?XpGlossary