SlideShare uma empresa Scribd logo
1 de 19
PROGRAMACIÓN EXTREMA
INSTITUTO POLITÉCNICO NACIONAL
CECyT 9 “Juan de Dios Bátiz
Métodos Ágiles de Programación:
Programación Extrema
 INTEGRANTES:
 Betto Villa Brandon Alexis
 Vargas Ramírez Victor Cuauhtemoc
 GRUPO:
 6IM7
 PROFESOR:
Juan Manuel Cruz Mendoza
Introducción.
 Es un enfoque de la ingeniería de software formulado por Kent Beck. Es una de las
llamadas Metodologías ágiles de desarrollo de software más exitosas de los
tiempos recientes, nace como nueva disciplina de desarrollo de software.
 Desarrollo iterativo e incremental: pequeñas mejoras, unas tras otras.
 Pruebas unitarias continuas, frecuentemente repetidas y automatizadas,
incluyendo Pruebas de Regresión. Se aconseja escribir el código de la
prueba antes de la codificación.
 Programación en parejas: se recomienda que las tareas de desarrollo se lleven a
cabo por dos personas en un mismo puesto. Se supone que la mayor calidad del
código escrito de esta manera -el código es revisado y discutido mientras se
escribe- es más importante que la posible pérdida de productividad inmediata.
 Frecuente integración del equipo de programación con el cliente o usuario. Se
recomienda que un representante del cliente trabaje junto al equipo de desarrollo.
 Corrección de todos los errores antes de añadir nueva funcionalidad. Hacer entregas
frecuentes.
 Refactorización del código, es decir, reescribir ciertas partes del código para
aumentar su legibilidad y mantenibilidad pero sin modificar su comportamiento.
Las pruebas han de garantizar que en la refactorización no se ha introducido
ningún fallo.
 Propiedad del código compartida: en vez de dividir la responsabilidad en el
desarrollo de cada módulo en grupos de trabajo distintos, este método promueve
el que todo el personal pueda corregir y extender cualquier parte del proyecto.
 Simplicidad en el código: Es la mejor manera de que las cosas funcionen. Cuando
todo funcione se podrá añadir funcionalidad si es necesario. La programación
extrema apuesta que es más sencillo hacer algo simple y tener un poco de trabajo
extra para cambiarlo si se requiere, que realizar algo complicado y quizás nunca
utilizarlo.
Simplicidad
 Es la base de la programación extrema. Se simplifica el diseño para agilizar el
desarrollo y facilitar el mantenimiento.
 Es necesaria la refactorización del código, ésta es la manera de mantener el código
simple a medida que crece. También se aplica la simplicidad en la documentación,
de esta manera el código debe comentarse en su justa medida, intentando eso que
el código esté auto-documentado.
 Aplicando la simplicidad junto con la autoría colectiva del código y
la programación por parejas se asegura que cuanto más grande se haga el
proyecto, todo el equipo conocerá más y mejor el sistema completo.
Comunicación
 Para los programadores el código comunica mejor cuanto más simple sea. 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. Debe
comentarse sólo aquello que no va a variar.
 Las Pruebas Unitarias son otra forma de comunicación ya que describen el diseño
de las clases y los métodos al mostrar ejemplos concretos de como utilizar su
funcionalidad. La comunicación con el cliente es fluida ya que forma parte del
equipo de desarrollo. El cliente decide que características tienen prioridad y
siempre debe estar disponible para solucionar dudas.
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.
 El código también es una fuente de retroalimentación gracias a las
herramientas de desarrollo.
Coraje o valentía
 Hay que ser valiente para confiar en que la programación por parejas beneficia la
calidad del código sin repercutir negativamente en la productividad. Se requiere
coraje para implementar las características que el cliente quiere ahora sin caer en la
tentación de optar por un enfoque más flexible que permita futuras
modificaciones. No se debe emprender el desarrollo de grandes marcos de trabajo
(frameworks) mientras el cliente espera.
 En ese tiempo el cliente no recibe noticias sobre los avances del proyecto y el
equipo de desarrollo no recibe retroalimentación para saber si va en la dirección
correcta. La forma de construir marcos de trabajo es mediante la refactorización
del código en sucesivas aproximaciones.
CODIFICAR. Plasmar nuestras ideas a través del código.
HACER PRUEBAS. Para verificar que nuestro trabajo
funcione correctamente.
ESCUCHAR. Para entender cuales son los problemas de
negocio y conocer aspectos relevantes de éste.
DISEÑAR. Crear una estructura que organice la lógica del
sistema.
Conclusión.
 La programación extrema es uno de los métodos ágiles de desarrollo de software
más utilizado por sus valores y actividades, ya que al seguirlos logramos desarrollar
nuestros proyectos de una manera eficaz y eficiente, al mismo tiempo trabajamos
con calidad y promovemos el trabajo en equipo dentro del desarrollo.

Mais conteúdo relacionado

Mais procurados

Desarrollo ágil de software
Desarrollo ágil de softwareDesarrollo ágil de software
Desarrollo ágil de software
Al Ex
 
Metodologías agiles del desarrollo software
Metodologías agiles del desarrollo softwareMetodologías agiles del desarrollo software
Metodologías agiles del desarrollo software
Ricardo Mateus
 
La programación extrema o e xtreme programming
La programación extrema o e xtreme programmingLa programación extrema o e xtreme programming
La programación extrema o e xtreme programming
JoseMariaAndujar
 

Mais procurados (20)

Metodologías ágiles
Metodologías ágilesMetodologías ágiles
Metodologías ágiles
 
Métodos ágiles de programación
Métodos ágiles de programaciónMétodos ágiles de programación
Métodos ágiles de programación
 
Programación Extrema (Extream Programming XP)
Programación Extrema (Extream Programming XP)Programación Extrema (Extream Programming XP)
Programación Extrema (Extream Programming XP)
 
Programación Extrema - XP
Programación Extrema - XPProgramación Extrema - XP
Programación Extrema - XP
 
Metodos agiles 3
Metodos agiles 3Metodos agiles 3
Metodos agiles 3
 
Programación extrema
Programación extremaProgramación extrema
Programación extrema
 
Desarrollo Agil de Software
Desarrollo Agil de SoftwareDesarrollo Agil de Software
Desarrollo Agil de Software
 
Programación extrema (xp)
Programación extrema (xp)Programación extrema (xp)
Programación extrema (xp)
 
Desarrollo ágil de software
Desarrollo ágil de softwareDesarrollo ágil de software
Desarrollo ágil de software
 
Programación extrema [XP]
Programación extrema [XP]Programación extrema [XP]
Programación extrema [XP]
 
Programación extrema
Programación extremaProgramación extrema
Programación extrema
 
ASD (Adaptive Software Development)
ASD (Adaptive Software Development)ASD (Adaptive Software Development)
ASD (Adaptive Software Development)
 
Metodologías agiles del desarrollo software
Metodologías agiles del desarrollo softwareMetodologías agiles del desarrollo software
Metodologías agiles del desarrollo software
 
Proceso del software
Proceso del softwareProceso del software
Proceso del software
 
Metodologías ágiles
Metodologías ágilesMetodologías ágiles
Metodologías ágiles
 
La programación extrema o e xtreme programming
La programación extrema o e xtreme programmingLa programación extrema o e xtreme programming
La programación extrema o e xtreme programming
 
Metodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliudMetodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliud
 
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
 
problemas del software
problemas del softwareproblemas del software
problemas del software
 
Programacion Extrema
Programacion ExtremaProgramacion Extrema
Programacion Extrema
 

Semelhante a Programación extrema

Programacion extrema
Programacion extremaProgramacion extrema
Programacion extrema
Cheo Mateo
 
Metodología xp
Metodología xpMetodología xp
Metodología xp
Piskamen
 
FACCI METODOLOGIAS AGILES
FACCI METODOLOGIAS AGILESFACCI METODOLOGIAS AGILES
FACCI METODOLOGIAS AGILES
afrancoing
 
Díme que desarrollas y te diré que metodología usar
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 Santos
 
Unidad 1.2 B Metodos Agiles 1
Unidad 1.2 B Metodos Agiles  1Unidad 1.2 B Metodos Agiles  1
Unidad 1.2 B Metodos Agiles 1
Sergio Sanchez
 
Pracicas de Ingenieria de Software
Pracicas de Ingenieria de SoftwarePracicas de Ingenieria de Software
Pracicas de Ingenieria de Software
eeencalada
 

Semelhante a Programación extrema (20)

Programacion extrema
Programacion extremaProgramacion extrema
Programacion extrema
 
expodesarrollo29
expodesarrollo29expodesarrollo29
expodesarrollo29
 
Metodologiaxp
MetodologiaxpMetodologiaxp
Metodologiaxp
 
XP Programming
XP ProgrammingXP Programming
XP Programming
 
Desarrollo de software
Desarrollo de softwareDesarrollo de software
Desarrollo de software
 
Luis
LuisLuis
Luis
 
Metodologias agiles
Metodologias agilesMetodologias agiles
Metodologias agiles
 
desarrollo agil-2022.pdf
desarrollo agil-2022.pdfdesarrollo agil-2022.pdf
desarrollo agil-2022.pdf
 
Metodos agiles 4
Metodos agiles 4Metodos agiles 4
Metodos agiles 4
 
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)
 
FACCI METODOLOGIAS AGILES
FACCI METODOLOGIAS AGILESFACCI METODOLOGIAS AGILES
FACCI METODOLOGIAS AGILES
 
Programación Extrema - Metodología Ágil
Programación Extrema - Metodología Ágil Programación Extrema - Metodología Ágil
Programación Extrema - Metodología Ágil
 
Metodologia Xp
Metodologia XpMetodologia Xp
Metodologia Xp
 
Díme que desarrollas y te diré que metodología usar
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
 
Monografia de xp
Monografia de xpMonografia de xp
Monografia de xp
 
Unidad 1.2 B Metodos Agiles 1
Unidad 1.2 B Metodos Agiles  1Unidad 1.2 B Metodos Agiles  1
Unidad 1.2 B Metodos Agiles 1
 
Diseño de software
Diseño de softwareDiseño de software
Diseño de software
 
Pracicas de Ingenieria de Software
Pracicas de Ingenieria de SoftwarePracicas de Ingenieria de Software
Pracicas de Ingenieria de Software
 
La programación extrema
La programación extremaLa programación extrema
La programación extrema
 

Último

Evaluación del riesgo tecnologías informáticas.pdf
Evaluación del riesgo tecnologías informáticas.pdfEvaluación del riesgo tecnologías informáticas.pdf
Evaluación del riesgo tecnologías informáticas.pdf
GuillermoBarquero7
 
2da. Clase Mecanografía e introducción a Excel (2).pptx
2da. Clase Mecanografía e introducción a Excel (2).pptx2da. Clase Mecanografía e introducción a Excel (2).pptx
2da. Clase Mecanografía e introducción a Excel (2).pptx
EncomiendasElSherpa
 

Último (6)

Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 
ESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOS
ESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOSESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOS
ESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOS
 
Evaluación del riesgo tecnologías informáticas.pdf
Evaluación del riesgo tecnologías informáticas.pdfEvaluación del riesgo tecnologías informáticas.pdf
Evaluación del riesgo tecnologías informáticas.pdf
 
2da. Clase Mecanografía e introducción a Excel (2).pptx
2da. Clase Mecanografía e introducción a Excel (2).pptx2da. Clase Mecanografía e introducción a Excel (2).pptx
2da. Clase Mecanografía e introducción a Excel (2).pptx
 
Caso de Exito LPL Projects Logistics Spain y Business Central
Caso de Exito LPL Projects Logistics Spain y Business CentralCaso de Exito LPL Projects Logistics Spain y Business Central
Caso de Exito LPL Projects Logistics Spain y Business Central
 
Trabajo de Powerpoint - Unsaac - Ofimática
Trabajo de Powerpoint - Unsaac - OfimáticaTrabajo de Powerpoint - Unsaac - Ofimática
Trabajo de Powerpoint - Unsaac - Ofimática
 

Programación extrema

  • 1. PROGRAMACIÓN EXTREMA INSTITUTO POLITÉCNICO NACIONAL CECyT 9 “Juan de Dios Bátiz
  • 2. Métodos Ágiles de Programación: Programación Extrema  INTEGRANTES:  Betto Villa Brandon Alexis  Vargas Ramírez Victor Cuauhtemoc  GRUPO:  6IM7  PROFESOR: Juan Manuel Cruz Mendoza
  • 3. Introducción.  Es un enfoque de la ingeniería de software formulado por Kent Beck. Es una de las llamadas Metodologías ágiles de desarrollo de software más exitosas de los tiempos recientes, nace como nueva disciplina de desarrollo de software.
  • 4.
  • 5.  Desarrollo iterativo e incremental: pequeñas mejoras, unas tras otras.  Pruebas unitarias continuas, frecuentemente repetidas y automatizadas, incluyendo Pruebas de Regresión. Se aconseja escribir el código de la prueba antes de la codificación.
  • 6.  Programación en parejas: se recomienda que las tareas de desarrollo se lleven a cabo por dos personas en un mismo puesto. Se supone que la mayor calidad del código escrito de esta manera -el código es revisado y discutido mientras se escribe- es más importante que la posible pérdida de productividad inmediata.  Frecuente integración del equipo de programación con el cliente o usuario. Se recomienda que un representante del cliente trabaje junto al equipo de desarrollo.  Corrección de todos los errores antes de añadir nueva funcionalidad. Hacer entregas frecuentes.
  • 7.  Refactorización del código, es decir, reescribir ciertas partes del código para aumentar su legibilidad y mantenibilidad pero sin modificar su comportamiento. Las pruebas han de garantizar que en la refactorización no se ha introducido ningún fallo.  Propiedad del código compartida: en vez de dividir la responsabilidad en el desarrollo de cada módulo en grupos de trabajo distintos, este método promueve el que todo el personal pueda corregir y extender cualquier parte del proyecto.
  • 8.  Simplicidad en el código: Es la mejor manera de que las cosas funcionen. Cuando todo funcione se podrá añadir funcionalidad si es necesario. La programación extrema apuesta que es más sencillo hacer algo simple y tener un poco de trabajo extra para cambiarlo si se requiere, que realizar algo complicado y quizás nunca utilizarlo.
  • 9.
  • 10. Simplicidad  Es la base de la programación extrema. Se simplifica el diseño para agilizar el desarrollo y facilitar el mantenimiento.  Es necesaria la refactorización del código, ésta es la manera de mantener el código simple a medida que crece. También se aplica la simplicidad en la documentación, de esta manera el código debe comentarse en su justa medida, intentando eso que el código esté auto-documentado.  Aplicando la simplicidad junto con la autoría colectiva del código y la programación por parejas se asegura que cuanto más grande se haga el proyecto, todo el equipo conocerá más y mejor el sistema completo.
  • 11. Comunicación  Para los programadores el código comunica mejor cuanto más simple sea. 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. Debe comentarse sólo aquello que no va a variar.  Las Pruebas Unitarias son otra forma de comunicación ya que describen el diseño de las clases y los métodos al mostrar ejemplos concretos de como utilizar su funcionalidad. La comunicación con el cliente es fluida ya que forma parte del equipo de desarrollo. El cliente decide que características tienen prioridad y siempre debe estar disponible para solucionar dudas.
  • 12. 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.  El código también es una fuente de retroalimentación gracias a las herramientas de desarrollo.
  • 13. Coraje o valentía  Hay que ser valiente para confiar en que la programación por parejas beneficia la calidad del código sin repercutir negativamente en la productividad. Se requiere coraje para implementar las características que el cliente quiere ahora sin caer en la tentación de optar por un enfoque más flexible que permita futuras modificaciones. No se debe emprender el desarrollo de grandes marcos de trabajo (frameworks) mientras el cliente espera.  En ese tiempo el cliente no recibe noticias sobre los avances del proyecto y el equipo de desarrollo no recibe retroalimentación para saber si va en la dirección correcta. La forma de construir marcos de trabajo es mediante la refactorización del código en sucesivas aproximaciones.
  • 14.
  • 15. CODIFICAR. Plasmar nuestras ideas a través del código.
  • 16. HACER PRUEBAS. Para verificar que nuestro trabajo funcione correctamente.
  • 17. ESCUCHAR. Para entender cuales son los problemas de negocio y conocer aspectos relevantes de éste.
  • 18. DISEÑAR. Crear una estructura que organice la lógica del sistema.
  • 19. Conclusión.  La programación extrema es uno de los métodos ágiles de desarrollo de software más utilizado por sus valores y actividades, ya que al seguirlos logramos desarrollar nuestros proyectos de una manera eficaz y eficiente, al mismo tiempo trabajamos con calidad y promovemos el trabajo en equipo dentro del desarrollo.