SlideShare una empresa de Scribd logo
PROGRAMACIÓN
EXTREMA
• HERNÁNDEZ RODRÍGUEZ ARES ATZAREL
• MORA MUÑOZ JESÚS GERARDO
HISTORIA
La programación extrema EXtreme Programming
(PX) es un enfoque de la ingeniería de Software
formulado por Kent Beck, autor el primero libro
sobre la materia, Extreme Programming
Explained: Embrace Change 1999. Es el más
destacado de los procesos ágiles de desarrollo
de software.
Al igual que éstos, la programación extrema se
diferencia de las metodologías tradicionales
principalmente en que pone más énfasis en la
adaptabilidad que en la previsibilidad. Los
defensores de PX consideran que los cambios de
requisitos sobre la marcha son un aspecto
natural, inevitable e incluso deseable del
Desarrollo de Proyectos.
¿QUÉ ES?
Es un modelo de proceso de software que
toma los principios y prácticas aceptadas, y
las lleva a niveles extremos.
OBJETIVO
Reducir el riesgo en el ciclo de vida el software
mediante grupos de desarrollo pequeños. Considera
que la mejor manera de tratar la falta de requisitos
estables en un sistema, es mediante la agilidad, quizá
más representativita del proceso de XP, es la
programación en pares.
4 VARIABLES
DE CONTROL
EN EL
DESARROLLO
DE
SOFTWARE
COSTO
TIEMPO
CALIDAD
ALCANCE
C
R
E
E
N
C
I
A
S
D
E
L
M
O
D
E
L
O
Los cambios en un sistema son frecuentes
Se deben mejoras los cambios de manera incremental
Se debe apoyar los cambios
Se debe lograr una rrápida retroalimentación
Se debe lograr un trabajo de calidad
Se debe buscar la simpleza
Dado un conjunto apropiado de prácticas y tecnología, la
curva de costo puede aplanarse
V
A
L
O
R
E
S
Los Valores originales de la programación extrema son:
simplicidad, comunicación, retroalimentación (feedback) y
coraje. Un quinto valor, respeto, fue añadido en la segunda
edición de Extreme Programming Explained.
La Simplicidad: es la base de la programación extrema. Se
simplifica el diseño para agilizar el desarrollo y facilitar
mantenimiento. Un diseño complejo del código junto a
sucesivas modificaciones por parte de diferentes
desarrolladores hacen que la complejidad aumente
exponencialmente.
La Comunicación se realiza de diferentes formas, para los
Programadores el código comunica mejor cuanto más simple
sea. Si el código es complejo hay que esforzarse para hacerlo
inteligible. El código auto-documentado es más fiable que los
comentarios ya que éstos últimos pronto quedan desfasados
con el código a medida que es modificado.
Retroalimentación feedback: Al estar el cliente integrado
en el Proyecto, su opinión sobre el estado del proyecto
se conoce en tiempo real. Al realizarse ciclos muy cortos
tras los cuales se muestran resultados, se minimiza el
tener que rehacer partes que no cumplen con los
requisitos y ayuda a los programadores a centrarse en
lo que es más importante.
Coraje o valentía: Los puntos anteriores parecen tener
sentido común, entonces, ¿por qué coraje? Para los
gerentes la programación en parejas puede ser difícil de
aceptar, porque les parece como si la productividad se
fuese a reducir a la mitad ya que solo la mitad de los
programadores está escribiendo código.
V
A
L
O
R
E
S
ACTIVIDADES BÁSICAS
Codificar: Es la única actividad de la que no podremos
prescindir. Sin código fuente no hay programa, aunque
hay gente que cuenta que existe software en
producción del que se perdió el código fuente.
Hacer pruebas: Las características del software que
no pueden ser demostradas mediante pruebas
simplemente no existen. Las pruebas me dan la
oportunidad de saber si lo que implementé es lo que
en realidad yo pensaba que había implementado. Las
pruebas nos indican que nuestro trabajo funciona,
cuando no podemos pensar en ninguna prueba que
pudiese originar un fallo en nuestro sistema entonces
has acabado por completo.
ACTIVIDADES BÁSICAS
Escuchar: Los programadores no lo conocemos todo, y
sobre todo muchas cosas que las personas de negocios
piensan que son interesantes. Si ellos pudieran
programarse su propio software ¿para que nos
querrían?. 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: El diseño crea una estructura que organiza la
lógica del sistema, un buen diseño permite que el
sistema crezca con cambios en un solo lugar. Los
diseños deben de ser sencillos, si alguna parte del
sistema es de desarrollo complejo, divídela en varias. Si
hay fallos en el diseño o malos diseños, estos deben de
ser corregidos cuanto antes.
Sommerville, I. and Alfonso Galipienso, M. (2005
XP Programming

Más contenido relacionado

La actualidad más candente

Metodologia xp
Metodologia xpMetodologia xp
Metodologia xpCrisCobol
 
Resolucion de guia
Resolucion de guiaResolucion de guia
Resolucion de guiareina vigil
 
Metodologia xp (tarea msmad)
Metodologia xp (tarea msmad)Metodologia xp (tarea msmad)
Metodologia xp (tarea msmad)Renata Briseño
 
Tecnicas en ing.de software
Tecnicas en ing.de softwareTecnicas en ing.de software
Tecnicas en ing.de softwarestephanierivas
 
Grupo# 5 problemas en el desarrollo de software
Grupo# 5 problemas en el desarrollo de softwareGrupo# 5 problemas en el desarrollo de software
Grupo# 5 problemas en el desarrollo de softwarejohan2105
 
La programación extrema o e xtreme programming (xp
La programación extrema o e xtreme programming (xpLa programación extrema o e xtreme programming (xp
La programación extrema o e xtreme programming (xpjezule
 
Universidad tecnológica del estado de zacateca
Universidad tecnológica del estado de zacateca Universidad tecnológica del estado de zacateca
Universidad tecnológica del estado de zacateca elfranckin
 
Tópicos de calidad de Software XP
Tópicos de calidad de Software XPTópicos de calidad de Software XP
Tópicos de calidad de Software XPLisseth Enríquez
 
Metodos agiles
Metodos agilesMetodos agiles
Metodos agilesMax Power
 

La actualidad más candente (18)

Metodologia xp
Metodologia xpMetodologia xp
Metodologia xp
 
Resolucion de guia
Resolucion de guiaResolucion de guia
Resolucion de guia
 
Metodologia xp (tarea msmad)
Metodologia xp (tarea msmad)Metodologia xp (tarea msmad)
Metodologia xp (tarea msmad)
 
Mitos
MitosMitos
Mitos
 
Pst metodologia xp
Pst metodologia xpPst metodologia xp
Pst metodologia xp
 
Diapoesatx
DiapoesatxDiapoesatx
Diapoesatx
 
Tecnicas en ing.de software
Tecnicas en ing.de softwareTecnicas en ing.de software
Tecnicas en ing.de software
 
Programacion Extrema
Programacion ExtremaProgramacion Extrema
Programacion Extrema
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
problemas del software
problemas del softwareproblemas del software
problemas del software
 
Paula guia
Paula guiaPaula guia
Paula guia
 
Grupo# 5 problemas en el desarrollo de software
Grupo# 5 problemas en el desarrollo de softwareGrupo# 5 problemas en el desarrollo de software
Grupo# 5 problemas en el desarrollo de software
 
La programación extrema o e xtreme programming (xp
La programación extrema o e xtreme programming (xpLa programación extrema o e xtreme programming (xp
La programación extrema o e xtreme programming (xp
 
Programación Extrema - XP
Programación Extrema - XPProgramación Extrema - XP
Programación Extrema - XP
 
Universidad tecnológica del estado de zacateca
Universidad tecnológica del estado de zacateca Universidad tecnológica del estado de zacateca
Universidad tecnológica del estado de zacateca
 
Tópicos de calidad de Software XP
Tópicos de calidad de Software XPTópicos de calidad de Software XP
Tópicos de calidad de Software XP
 
Metodos agiles
Metodos agilesMetodos agiles
Metodos agiles
 
ingenieria de software
ingenieria de softwareingenieria de software
ingenieria de software
 

Destacado

Implementasi Web 2.0 di Perpustakaan
Implementasi Web 2.0 di PerpustakaanImplementasi Web 2.0 di Perpustakaan
Implementasi Web 2.0 di Perpustakaansuciwijayanti18
 
Japanese literature word (PED 12)
Japanese literature word (PED 12)Japanese literature word (PED 12)
Japanese literature word (PED 12)Veilton Morgia
 
Question 2: How does your media product represent particular social groups?
Question 2: How does your media product represent particular social groups?Question 2: How does your media product represent particular social groups?
Question 2: How does your media product represent particular social groups?millanasmedia
 
Marichelle van Deventer-CV_12.02.2016
Marichelle van Deventer-CV_12.02.2016Marichelle van Deventer-CV_12.02.2016
Marichelle van Deventer-CV_12.02.2016Marichelle Deventer
 
Tipos de comunicación celular
Tipos de comunicación celularTipos de comunicación celular
Tipos de comunicación celularDaniela Paternina
 
BOOK OF WORK BY SANTOVETTI STUDIOLAB
BOOK OF WORK BY SANTOVETTI STUDIOLABBOOK OF WORK BY SANTOVETTI STUDIOLAB
BOOK OF WORK BY SANTOVETTI STUDIOLABSabina Santovetti
 
Ana aurora lara saiz
Ana aurora lara saizAna aurora lara saiz
Ana aurora lara saizana lara
 
Shannon Ourada CSU Transcript
Shannon Ourada CSU TranscriptShannon Ourada CSU Transcript
Shannon Ourada CSU TranscriptShannon Ourada
 
Doing more with less - LBI
Doing more with less - LBIDoing more with less - LBI
Doing more with less - LBIChristian Bode
 
Historias de vida.
Historias de vida.Historias de vida.
Historias de vida.nazlhy perea
 
Nova Bella Gelinlik 2016 Yeni Sezon Gelinlik Modelleri Nisantasi Istanbul
Nova Bella Gelinlik 2016 Yeni Sezon Gelinlik Modelleri Nisantasi IstanbulNova Bella Gelinlik 2016 Yeni Sezon Gelinlik Modelleri Nisantasi Istanbul
Nova Bella Gelinlik 2016 Yeni Sezon Gelinlik Modelleri Nisantasi IstanbulErdem Sarı
 
VedaMed_Overview#1_2016
VedaMed_Overview#1_2016VedaMed_Overview#1_2016
VedaMed_Overview#1_2016Doug Davis
 
Aly Sayed CV
Aly Sayed CVAly Sayed CV
Aly Sayed CVAli Said
 
Ensamble de un computador
Ensamble de un computadorEnsamble de un computador
Ensamble de un computadorJulian Palacio
 
Let's Encrypt: Better Security through Automation
Let's Encrypt: Better Security through AutomationLet's Encrypt: Better Security through Automation
Let's Encrypt: Better Security through AutomationAPNIC
 
Senior Document Controller
Senior Document ControllerSenior Document Controller
Senior Document ControllerRawan Almasri
 

Destacado (20)

new Document 998
new Document 998new Document 998
new Document 998
 
Implementasi Web 2.0 di Perpustakaan
Implementasi Web 2.0 di PerpustakaanImplementasi Web 2.0 di Perpustakaan
Implementasi Web 2.0 di Perpustakaan
 
INVERTED FILTER
INVERTED FILTERINVERTED FILTER
INVERTED FILTER
 
Japanese literature word (PED 12)
Japanese literature word (PED 12)Japanese literature word (PED 12)
Japanese literature word (PED 12)
 
Question 2: How does your media product represent particular social groups?
Question 2: How does your media product represent particular social groups?Question 2: How does your media product represent particular social groups?
Question 2: How does your media product represent particular social groups?
 
Marichelle van Deventer-CV_12.02.2016
Marichelle van Deventer-CV_12.02.2016Marichelle van Deventer-CV_12.02.2016
Marichelle van Deventer-CV_12.02.2016
 
Tipos de comunicación celular
Tipos de comunicación celularTipos de comunicación celular
Tipos de comunicación celular
 
20071002081001119
2007100208100111920071002081001119
20071002081001119
 
BOOK OF WORK BY SANTOVETTI STUDIOLAB
BOOK OF WORK BY SANTOVETTI STUDIOLABBOOK OF WORK BY SANTOVETTI STUDIOLAB
BOOK OF WORK BY SANTOVETTI STUDIOLAB
 
Ana aurora lara saiz
Ana aurora lara saizAna aurora lara saiz
Ana aurora lara saiz
 
Shannon Ourada CSU Transcript
Shannon Ourada CSU TranscriptShannon Ourada CSU Transcript
Shannon Ourada CSU Transcript
 
Doing more with less - LBI
Doing more with less - LBIDoing more with less - LBI
Doing more with less - LBI
 
Historias de vida.
Historias de vida.Historias de vida.
Historias de vida.
 
Nova Bella Gelinlik 2016 Yeni Sezon Gelinlik Modelleri Nisantasi Istanbul
Nova Bella Gelinlik 2016 Yeni Sezon Gelinlik Modelleri Nisantasi IstanbulNova Bella Gelinlik 2016 Yeni Sezon Gelinlik Modelleri Nisantasi Istanbul
Nova Bella Gelinlik 2016 Yeni Sezon Gelinlik Modelleri Nisantasi Istanbul
 
VedaMed_Overview#1_2016
VedaMed_Overview#1_2016VedaMed_Overview#1_2016
VedaMed_Overview#1_2016
 
Aly Sayed CV
Aly Sayed CVAly Sayed CV
Aly Sayed CV
 
Ensamble de un computador
Ensamble de un computadorEnsamble de un computador
Ensamble de un computador
 
Let's Encrypt: Better Security through Automation
Let's Encrypt: Better Security through AutomationLet's Encrypt: Better Security through Automation
Let's Encrypt: Better Security through Automation
 
CV-Barin ghosh January 2016
CV-Barin ghosh January 2016CV-Barin ghosh January 2016
CV-Barin ghosh January 2016
 
Senior Document Controller
Senior Document ControllerSenior Document Controller
Senior Document Controller
 

Similar a XP Programming

Programación extrema
Programación extremaProgramación extrema
Programación extremaBrandon Betto
 
Programacion extrema
Programacion extremaProgramacion extrema
Programacion extremaCheo Mateo
 
Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...
Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...
Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...Osver Fernandez V
 
Ingeniería de Software
Ingeniería de Software Ingeniería de Software
Ingeniería de Software Luis Valeriano
 
Fundamentos básicos para el diseño de software
Fundamentos básicos para el diseño de softwareFundamentos básicos para el diseño de software
Fundamentos básicos para el diseño de softwaremichellvillegas3
 
El_software_y_la_Ingenieria_de_Software.pdf
El_software_y_la_Ingenieria_de_Software.pdfEl_software_y_la_Ingenieria_de_Software.pdf
El_software_y_la_Ingenieria_de_Software.pdfpauly230688
 
Metodología xp
Metodología xpMetodología xp
Metodología xpPiskamen
 
Programación extrema [XP]
Programación extrema [XP]Programación extrema [XP]
Programación extrema [XP]Agustín
 

Similar a XP Programming (20)

Programación extrema
Programación extremaProgramación extrema
Programación extrema
 
Xp
XpXp
Xp
 
Programacion extrema
Programacion extremaProgramacion extrema
Programacion extrema
 
Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...
Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...
Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...
 
Xp
XpXp
Xp
 
Metodologiaxp
MetodologiaxpMetodologiaxp
Metodologiaxp
 
Diseño de software
Diseño de softwareDiseño de software
Diseño de software
 
Ingeniería de Software
Ingeniería de Software Ingeniería de Software
Ingeniería de Software
 
introducción ingeniería de software
introducción  ingeniería de  softwareintroducción  ingeniería de  software
introducción ingeniería de software
 
xp-1.pptx
xp-1.pptxxp-1.pptx
xp-1.pptx
 
Fundamentos básicos para el diseño de software
Fundamentos básicos para el diseño de softwareFundamentos básicos para el diseño de software
Fundamentos básicos para el diseño de software
 
desarrollo agil-2022.pdf
desarrollo agil-2022.pdfdesarrollo agil-2022.pdf
desarrollo agil-2022.pdf
 
Dpss u3 a2_nigm
Dpss u3 a2_nigmDpss u3 a2_nigm
Dpss u3 a2_nigm
 
Dpss u3 a2_nigm
Dpss u3 a2_nigmDpss u3 a2_nigm
Dpss u3 a2_nigm
 
Diseño de software
Diseño de softwareDiseño de software
Diseño de software
 
Ingeniería de software
Ingeniería de software Ingeniería de software
Ingeniería de software
 
Programación extrema (xp)
Programación extrema (xp)Programación extrema (xp)
Programación extrema (xp)
 
El_software_y_la_Ingenieria_de_Software.pdf
El_software_y_la_Ingenieria_de_Software.pdfEl_software_y_la_Ingenieria_de_Software.pdf
El_software_y_la_Ingenieria_de_Software.pdf
 
Metodología xp
Metodología xpMetodología xp
Metodología xp
 
Programación extrema [XP]
Programación extrema [XP]Programación extrema [XP]
Programación extrema [XP]
 

Último

(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiegoCampos433849
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfcj3806354
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfManuelCampos464987
 
Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.saravalentinat22
 
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxPRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxencinasm992
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestrerafaelsalazar0615
 
herramientas informaticas mas utilizadas
herramientas informaticas mas utilizadasherramientas informaticas mas utilizadas
herramientas informaticas mas utilizadaspqeilyn0827
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfjjfch3110
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesssuserbe0d1c
 
Licencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareLicencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareAndres Avila
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaFernando Villares
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialEducática
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respetocdraco
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxLeidyfuentes19
 
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdfHIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdfIsabelHuairaGarma
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024DanielErazoMedina
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx44652726
 
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Luis Fernando Uribe Villamil
 

Último (20)

(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.
 
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxPRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
herramientas informaticas mas utilizadas
herramientas informaticas mas utilizadasherramientas informaticas mas utilizadas
herramientas informaticas mas utilizadas
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptuales
 
Licencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareLicencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de Software
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicial
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdfHIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
 
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
 

XP Programming

  • 1. PROGRAMACIÓN EXTREMA • HERNÁNDEZ RODRÍGUEZ ARES ATZAREL • MORA MUÑOZ JESÚS GERARDO
  • 2. HISTORIA La programación extrema EXtreme Programming (PX) es un enfoque de la ingeniería de Software formulado por Kent Beck, autor el primero libro sobre la materia, Extreme Programming Explained: Embrace Change 1999. Es el más destacado de los procesos ágiles de desarrollo de software. Al igual que éstos, la programación extrema se diferencia de las metodologías tradicionales principalmente en que pone más énfasis en la adaptabilidad que en la previsibilidad. Los defensores de PX consideran que los cambios de requisitos sobre la marcha son un aspecto natural, inevitable e incluso deseable del Desarrollo de Proyectos.
  • 3. ¿QUÉ ES? Es un modelo de proceso de software que toma los principios y prácticas aceptadas, y las lleva a niveles extremos. OBJETIVO Reducir el riesgo en el ciclo de vida el software mediante grupos de desarrollo pequeños. Considera que la mejor manera de tratar la falta de requisitos estables en un sistema, es mediante la agilidad, quizá más representativita del proceso de XP, es la programación en pares.
  • 4. 4 VARIABLES DE CONTROL EN EL DESARROLLO DE SOFTWARE COSTO TIEMPO CALIDAD ALCANCE
  • 5. C R E E N C I A S D E L M O D E L O Los cambios en un sistema son frecuentes Se deben mejoras los cambios de manera incremental Se debe apoyar los cambios Se debe lograr una rrápida retroalimentación Se debe lograr un trabajo de calidad Se debe buscar la simpleza Dado un conjunto apropiado de prácticas y tecnología, la curva de costo puede aplanarse
  • 6. V A L O R E S Los Valores originales de la programación extrema son: simplicidad, comunicación, retroalimentación (feedback) y coraje. Un quinto valor, respeto, fue añadido en la segunda edición de Extreme Programming Explained. La Simplicidad: es la base de la programación extrema. Se simplifica el diseño para agilizar el desarrollo y facilitar mantenimiento. Un diseño complejo del código junto a sucesivas modificaciones por parte de diferentes desarrolladores hacen que la complejidad aumente exponencialmente. La Comunicación se realiza de diferentes formas, para los Programadores el código comunica mejor cuanto más simple sea. Si el código es complejo hay que esforzarse para hacerlo inteligible. El código auto-documentado es más fiable que los comentarios ya que éstos últimos pronto quedan desfasados con el código a medida que es modificado.
  • 7. Retroalimentación feedback: Al estar el cliente integrado en el Proyecto, su opinión sobre el estado del proyecto se conoce en tiempo real. Al realizarse ciclos muy cortos tras los cuales se muestran resultados, se minimiza el tener que rehacer partes que no cumplen con los requisitos y ayuda a los programadores a centrarse en lo que es más importante. Coraje o valentía: Los puntos anteriores parecen tener sentido común, entonces, ¿por qué coraje? Para los gerentes la programación en parejas puede ser difícil de aceptar, porque les parece como si la productividad se fuese a reducir a la mitad ya que solo la mitad de los programadores está escribiendo código. V A L O R E S
  • 8. ACTIVIDADES BÁSICAS Codificar: Es la única actividad de la que no podremos prescindir. Sin código fuente no hay programa, aunque hay gente que cuenta que existe software en producción del que se perdió el código fuente. Hacer pruebas: Las características del software que no pueden ser demostradas mediante pruebas simplemente no existen. Las pruebas me dan la oportunidad de saber si lo que implementé es lo que en realidad yo pensaba que había implementado. Las pruebas nos indican que nuestro trabajo funciona, cuando no podemos pensar en ninguna prueba que pudiese originar un fallo en nuestro sistema entonces has acabado por completo.
  • 9. ACTIVIDADES BÁSICAS Escuchar: Los programadores no lo conocemos todo, y sobre todo muchas cosas que las personas de negocios piensan que son interesantes. Si ellos pudieran programarse su propio software ¿para que nos querrían?. 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: El diseño crea una estructura que organiza la lógica del sistema, un buen diseño permite que el sistema crezca con cambios en un solo lugar. Los diseños deben de ser sencillos, si alguna parte del sistema es de desarrollo complejo, divídela en varias. Si hay fallos en el diseño o malos diseños, estos deben de ser corregidos cuanto antes.
  • 10. Sommerville, I. and Alfonso Galipienso, M. (2005