You are on page 1of 5

MODELO XP (EXTREME PROGRAMMING)

Definicin:
Es una metodologa gil que se encarga de potenciar las relaciones interpersonales para el
xito de proyectos de desarrollo de software. Est enfocado al trabajo en equipo y se basa
en la retroalimentacin continua del cliente y el equipo de trabajo adems de contar con
una comunicacin fluida y simplicidad en las soluciones implementadas.
El modelo XP bsicamente busca dos objetivos:
1. Hacer un software con calidad.
2. Hacerlo de la forma ms rpida posible.
Dentro de los valores fundamentales que deben estar contemplados para realizar una
buena metodologa estn:

Comunicacin: La comunicacin que se tenga tanto como con el cliente, as como con
el equipo de trabajo es fundamental para que todo se lleve a cabo de manera sencilla y
entendible y cumplir con la expectativa del cliente.

Simplicidad: Esta es una de las caractersticas principales de este mtodo, por lo que sin
importar que tanto pueda pedir el cliente, desde el diseo debe de ser sencillo y amigable
y el cdigo entendible y solo lo necesario.

Retroalimentacin: La comunicacin que existen entre el desarrollador y el usuario.


Coraje: Es en el sentido de contar con la capacidad de afrontar pequeos tropiezos,
como lo son la modificacin de un trabajo hecho con esfuerzo o la eliminacin del mismo
y comienzo del trabajo, de igual manera a la persistencia que se tiene para resolver
errores que surjan en el camino.

XP es una metodologa gil centrada en potenciar las relaciones interpersonales


como clave para el xito en desarrollo de software, promoviendo el trabajo en
equipo, preocupndose por el aprendizaje de los desarrolladores, y propiciando un
buen clima de trabajo.
Historias de Usuario
Las historias de usuario son la tcnica utilizada en XP para especificar los requisitos del
software. Se trata de tarjetas de papel en las cuales el cliente describe brevemente las
caractersticas que el sistema debe poseer, sean requisitos funcionales o no funcionales.

Roles XP
En este apartado describiremos los roles de acuerdo con la propuesta original de Beck.

a. Programador:
El programador escribe las pruebas unitarias y produce el cdigo del sistema.

b. Cliente:
El cliente escribe las historias de usuario y las pruebas funcionales para validar su
implementacin.

c. Encargado de pruebas (Tester):


El encargado de pruebas ayuda al cliente a escribir las pruebas funcionales.

d. Encargado de seguimiento (Tracker):


Proporciona realimentacin al equipo en el proceso XP. Su responsabilidad es
verificar el grado de acierto entre las estimaciones realizadas y el tiempo real
dedicado, comunicando los resultados para mejorar futuras estimaciones.

e. Gestor (Big boss):


Es el vnculo entre clientes y programadores, ayuda a que el equipo trabaje.
Efectivamente creando las condiciones adecuadas.

f. Consultor:
Es un miembro externo del equipo con un conocimiento especfico en algn tema
necesario para el proyecto.

Proceso XP:
Un proyecto XP tiene xito cuando el cliente selecciona el valor de negocio a implementar
basado en la habilidad del equipo para medir la funcionalidad que puede entregar a travs
del tiempo.
1. El cliente define el valor de negocio a implementar.
2. El programador estima el esfuerzo necesario para su implementacin.
3. El cliente selecciona qu construir, de acuerdo con sus prioridades y las
restricciones de tiempo.
4. El programador construye ese valor de negocio.
5. Vuelve al paso 1.

CICLO DE VIDA DE XP:


El ciclo de vida ideal de XP consiste de seis fases Exploracin, Planificacin de la Entrega
(Release), Iteraciones, Produccin, Mantenimiento y Muerte del Proyecto.

1. Fase I: Exploracin:
En esta fase, los clientes plantean a grandes rasgos las historias de usuario que son
de inters para la primera entrega del producto.

2. Fase II: Planificacin de la Entrega:


En esta fase el cliente establece la prioridad de cada historia de usuario, y
correspondientemente, los programadores realizan una estimacin del esfuerzo
necesario de cada una de ellas.

3. Fase III: Iteraciones:


Esta fase incluye varias iteraciones sobre el sistema antes de ser entregado. El Plan
de Entrega est compuesto por iteraciones de no ms de tres semanas.

4. Fase IV: Produccin:


La fase de produccin requiere de pruebas adicionales y revisiones de rendimiento
antes de que el sistema sea trasladado al entorno del cliente.
5. Fase V: Mantenimiento:
Mientras la primera versin se encuentra en produccin, el proyecto XP debe
mantener el sistema en funcionamiento al mismo tiempo que desarrolla nuevas
iteraciones.

6. Fase VI: Muerte del Proyecto:


Es cuando el cliente no tiene ms historias para ser incluidas en el sistema.

Prcticas XP:
Programacin en parejas:
Toda la produccin de cdigo debe realizarse con trabajo en parejas de
programadores. Segn Cockburn y Williams.

Propiedad colectiva del cdigo:


Cualquier programador puede cambiar cualquier parte del cdigo en cualquier
momento.

Integracin continua:
Cada pieza de cdigo es integrada en el sistema una vez que est lista. As, el
sistema puede llegar a ser integrado y construido varias veces en un mismo da.

El juego de la planificacin:
Es un espacio frecuente de comunicacin entre el cliente y los programadores.

Pruebas:
Las pruebas unitarias son establecidas antes de escribir el cdigo y son ejecutadas
constantemente ante cada modificacin del sistema.

Refactorizacin (Refactoring):
Es una actividad constante de reestructuracin del cdigo con el objetivo de
remover duplicacin de cdigo, mejorar su legibilidad, simplificarlo y hacerlo ms
flexible para facilitar los posteriores cambios.

Horas por semana:


Se debe trabajar un mximo de 40 horas por semana. No se trabajan horas extras
en dos semanas seguidas. Si esto ocurre, probablemente est ocurriendo un
problema que debe corregirse.
Estndares de programacin:
XP enfatiza la comunicacin de los programadores a travs del cdigo, con lo cual
es indispensable que se sigan ciertos estndares de programacin (del equipo, de
la organizacin u otros estndares reconocidos para los lenguajes de programacin
utilizados).

Metfora:
En XP no se enfatiza la definicin temprana de una arquitectura estable para el
sistema.

VENTAJAS:
La programacin extrema es fcil de adaptarse tanto al desarrollo de sistemas
pequeos como grandes.
Optimiza el tiempo en desarrollo.
Permite realizar el desarrollo en parejas para complementar el conocimiento.
El cdigo es sencillo y entendible.

DESVENTAJAS:
No se tiene un costo o tiempo definido.
El sistema va creciendo con cada entrega que se le realiza al cliente.
Se necesitara de la presencia constante del cliente lo cual resulta difcil de lograr.

You might also like