Metodología
XP
(eXtreme Programming)
SANTIAGO ALEJANDRO MORENO ESPITIA
ANDRES FABIAN SIMBAQUEBA DEL RÍO
CARLOS URIEL SUÁREZ RUBIANO
Contenido
➔ ¿Qué es XP?
➔ Variables
➔ Valores
➔ Principios
➔ Ciclo de vida
◆ Planeación
◆ Diseño
◆ Codificación
◆ Pruebas
➔ Prácticas
➔ Equipo de
proyecto
➔ XP Industrial
¿Qué es?
Es un marco de desarrollo de software ágil.
Objetivo
producir un software de mayor calidad para mejorar
la eficiencia del equipo de desarrollo
Diseñada para entregar el software que los clientes
necesitan en el momento en que lo necesitan.
Alienta a los desarrolladores a responder a los
requerimientos cambiantes de los clientes, aún en
fases tardías del ciclo de vida del desarrollo
Variables
La metodología XP define cuatro variables para
cualquier proyecto de software:
➔ Costo
➔ Tiempo
➔ Calidad
➔ Alcance
3 de ellas fijadas por actores externos al equipo de
desarrollo y la restante por el equipo de desarrollo
en función de las otras para lograr un equilibrio.
Valores
Comunicación: Estrecha pero informal (verbal) entre los
clientes y los desarrolladores.
Simplicidad: Empezar con el desarrollo de la solución
más simple y más necesaria.
Retroalimentación: Ciclos cortos de presentación de
resultados entre cliente y equipo de software donde se
presenta el software implementado.
Valentía: Diseñar para hoy y reconocer que los
requerimientos futuros tal vez cambien mucho, por lo
que demandarán repeticiones sustanciales del diseño y
del código implementado.
Respeto: Respeto mutuo en el equipo de software y que
ayuda al buen ritmo de producción.
Principios
➔ Realimentación rápida (Rapid feedback)
➔ Asumir simplicidad (Assume simplicity)
➔ Cambio incremental (Incremental change)
➔ Abrazar el cambio (Embracing change)
➔ Trabajo de calidad (Quality work)
◆ Enseñar a aprender
◆ Pequeña inversión inicial
◆ Juega a ganar
◆ Trabajar con los instintos de las personas, no
en contra de ellos
◆ Responsabilidad aceptada
◆ Experimentos concretos
◆ Comunicación abierta y honesta
◆ Adaptación local
◆ Viaja con poco equipaje
◆ Medición honesta
Ciclo de Vida
Ciclo de Vida (Planeación)
La actividad de planeación (también llamada
juego de planeación) comienza escuchando
—actividad para recabar requerimientos que
permite que los miembros técnicos del equipo XP
entiendan el contexto del negocio para el
software y adquieran la sensibilidad de la salida y
características principales y funcionalidad que se
requieren
Ciclo de Vida (Diseño)
El diseño XP sigue rigurosamente el principio MS
(mantenlo sencillo). Un diseño sencillo siempre se
prefiere sobre una representación más compleja.
Además, el diseño guía la implementación de una
historia conforme se escribe: nada más y nada
menos
Ciclo de Vida (Codificación)
Después de que las historias han sido
desarrolladas y de que se ha hecho el trabajo de
diseño preliminar, el equipo no inicia la
codificación, sino que desarrolla una serie de
pruebas unitarias a cada una de las historias que
se van a incluir en la entrega en curso (incremento
de software).Una vez creada la prueba unitaria,el
desarrollador está mejor capacitado para
centrarse en lo que debe implementarse para
pasar la prueba.
Ciclo de Vida (Pruebas)
Después de que las historias han sido
desarrolladas y de que se ha hecho el trabajo de
diseño preliminar, el equipo no inicia la
codificación, sino que desarrolla una serie de
pruebas unitarias a cada una de las historias que
se van a incluir en la entrega en curso (incremento
de software).Una vez creada la prueba unitaria,el
desarrollador está mejor capacitado para
centrarse en lo que debe implementarse para
pasar la prueba.
Prácticas
➔ El juego de planificación
➔ Pequeños Releases
➔ Metáforas
➔ Diseño simple
➔ Desarrollo guiado por pruebas
➔ Refactorización
➔ Programación en parejas
➔ Propiedad colectiva del código
➔ Integración continua
➔ Historias de usuario
➔ Estándares de codificación
Equipo de proyecto
➔ Cliente
➔ Programadores
➔ Los testers
➔ El tracker
➔ El coach
➔ El manager XP
XP Industrial
Ayudar a garantizar que un proyecto XP funciona con
éxito para proyectos significativos dentro de una
organización grande.
➔ Evaluación de la factibilidad.
➔ Comunidad del proyecto.
➔ Calificación del proyecto.
➔ Administración orientada a pruebas.
➔ Retrospectivas.
➔ Aprendizaje continuo.
El debate XP
➔ Volatilidad de los requerimientos
➔ Necesidades conflictivas del cliente
➔ Los requerimientos se expresan informalmente
➔ Falta de un diseño formal
Referencias
Pressman, R. (2010). Ingeniería del software Un enfoque practico,
Séptima edición. McGraw-Hill.
Bello, E. (2021). Descubre qué es el Extreme Programming y sus
características. Disponible en:
https://www.iebschool.com/blog/que-es-el-xp-programming-agile-sc
rum/
Vila, J. (2016). La Metodología XP: la metodología de desarrollo de
software más exitosa. Disponible en:
https://proagilist.es/blog/agilidad-y-gestion-agil/agile-scrum/la-me
todologia-xp/
López, M. (2020). Extreme Programming: Qué es y cómo aplicarlo
https://openwebinars.net/blog/extreme-programming-que-es-y-co
mo-aplicarlo/
Gracias!
...
Preguntas?
Illustration by
https://storyset.com/