METODOLOGÍA
PROGRAMACIÓN
EXTREMA (XP)
eXtreme Programming
INF-253 ANÁLISIS Y DISEÑO DE SISTEMAS II
Metodología XP
01 Qué es la metodología XP?
• Metodología de desarrollo ágil
• Creado por Kent Beck, como proceso de creación de software
02 Objetivos de XP
• Producir software de satisfacción del cliente
• Potenciar al máximo el trabajo en grupo
03 Valores, Principios y Prácticas de XP
04 Roles de XP
Extreme Programming (XP) formalizado
en 1999
Kent Beck publicó el libro Extreme Programming Explained, conocido
como ‘The white book’
XP es un estilo de desarrollo de software que se centra en la excelente
aplicación de técnicas de programación, comunicación clara y trabajo
en equipo.
Metodología Objetivo principal
Programación Que un equipo de desarrollo pueda producir
software de mejor calidad de forma constante.
Extrema(XP) Busca promover una buena calidad de trabajo
para el equipo
Valores de XP
Valores sin prácticas son difíciles de interiorizar
Prácticas sin valores son actividades de memoria sin un propósito
Comunicación Retroalimentación Respeto
Enfatiza la importa El equipo constru Respeto mutuo, com
ncia del tipo apropi Simplicidad ye algo, recopila c Coraje unicarse entre sí, pr
ado de comunicaci omentarios sobre oporcionar y aceptar
ón: discusión cara su diseño e imple comentarios que be
a cara con la ayuda Como hacer el tra mentación, y ajust "acción efectiva fr neficien su relación,
de una pizarra blan bajo lo más simpl a el software en e ente al miedo". y trabajar juntos par
ca u otro mecanism e posible para qu l futuro a identificar diseños
o de dibujo e sea más fácil de y soluciones simples.
mantener, respald
ar y revisar
Principios XP
15 principios de XP, existen 5 llamados los principios core
Un equipo que trabaja bien ha
El equipo pide retroalimentación, El equipo debe centrarse en e ce un producto valioso, con c
la entiende y reacciona de inmedi l trabajo que es importante en alidad y se siente orgulloso d
ato de acuerdo a lo recibido. el momento, lo que se ha pla e ello
nificado, lo que se ha compro
Rapid feedback metido como entregable Quality work
Realimentacion rapida Trabajo de calidad
Assume simplicity
Asumir simplicidad
Otros principios
Incremental change
Cambio incremental Embracing change • Enseñar a aprender
Abrazar el cambio • Pequeña inversión inicial
Aplicar pequeños cambios al soft • Juega a ganar
ware es mejor que aplicar grandes Si un cliente piensa que un pr • Trabajar con los instintos de las personas, no en
cambios hechos de una sola vez oducto necesita ser cambiado contra de ellos
, el equipo debe apoyar esta d • Responsabilidad aceptada
ecisión y planificar cómo impl • Experimentos concretos
ementar los nuevos requisitos • Comunicación abierta y honesta
• Adaptación local
• Viaja con poco equipaje
• Medición honesta
Prácticas de XP
Propone buenas prácticas de planificación, organización, comunicación y de ingeniería de software que, sumado
a los valores y principios, permiten crear una cultura de equipo de excelencia
Pequeños Releases (S Metáforas (Metaphor):
El Juego de Planificación (
mall Releases): El equip Debemos tener la capaci
The Planning Game): La ide
o de desarrollo debe ser dad de explicar el diseño Diseño Simple (Simple
a principal de esta práctica e
capaz de liberar versione del sistema a personas n Design): La regla es man
s compartir las responsabilid
s iterativas del sistema a uevas a través de metáf tener las cosas, como su
ades de planificación entre e
los clientes con frecuenci oras en vez de pedirles nombre indica, simples.
l equipo y el cliente
a. que lean una gran cantid
ad de documentos.
Desarrollo guiado por prueba
s (TDD, Test Driven Developme Programación en parej Propiedad Colectiva de
nt): Es un enfoque evolutivo en Refactorización (Refact as (Pair Programming): l código (Collective Cod
la ingeniería de software que co oring): Mejorar el diseño Dos programadores trab e Ownership): Ningún mi
mbina 2 prácticas que permiten del código existente sin c ajando en pareja en una embro de todo el equipo
crear código de calidad, pensar ambiar su comportamient sola máquina, resolviend posee una parte específi
en la arquitectura del software o o el mismo problema. ca del código fuente, el c
que queremos desarrollar, escri ódigo es de todos.
biendo la prueba primero y lueg
o mejorarla a través de la refact
orización.
Prácticas de XP
Propone buenas prácticas de planificación, organización, comunicación y de ingeniería de software que, sumado
a los valores y principios, permiten crear una cultura de equipo de excelencia
Integración Continua (Continuous Integrati Estándares de Codificación (
Historias de Usuario (User
on): Práctica especialmente diseñada para c Coding Standard): Su propósito
Stories): La historia es un p
onstruir o integrar todas las etapas de desarr es producir software que tenga
equeño documento de texto
ollo, identificar errores y eliminarlos durante un estilo consistente, independi
que escribe el cliente donde
el proceso de desarrollo, reduciendo así el ti entemente del autor, lo que da c
especifica en palabras simpl
empo de respuesta y mejorando la calidad d omo resultado un software que
es lo que necesita que haga
el software que se lanza como resultado es más fácil de entender y mant
el software
ener.
Roles de XP
El cliente (Customer) El rastreador (Tracker)
persona cuya tarea principal es
persona responsable de escribir histo monitorear el progreso del desar
rias de usuarios, establecer prioridad rollo del software y detectar todo
es y establece pruebas funcionales. s los problemas en él.
El programador (Developer)
El probador (Tester)
desarrollador normal, que escrib
miembro del equipo responsable d
e el código y realiza la totalidad
e la prueba del producto. La calida
de las tareas del proyecto.
d del producto final depende en gra
n medida de su trabajo.
El entrenador (Coach)
Jefe de Proyecto (Manager)
persona que vigila el trabajo del
Organiza y guía las reuniones
equipo, lo controla y enseña a s
Asegura condiciones adecuadas
us miembros a implementar las
para el proyecto
prácticas más efectivas.