Vous êtes sur la page 1sur 26

METODOLOGIA XP

PROGRAMACION
TECNOLOGIAS DE LA INFORMACION
Qu es Extreme Programming?
En qu consiste XP?

La Programacin Extrema es una
metodologa ligera de desarrollo de software
que se basa en la simplicidad, la comunicacin y
la realimentacin o reutilizacin del cdigo
desarrollado.
ES UN METODO LIGERO
Origen de la metodologa XP
Fue formulada por Kent Beck, autor del primer
libro sobre la materia, Extreme Programming
Explained: Embrace Change (1999). Es el ms
destacado de los procesos giles de desarrollo
de software.
XP Nace en busca de simplificar el desarrollo
del software y que se lograra reducir el costo
del proyecto.
Todo en el software cambia. Los requisitos
cambian. El diseo cambia. El negocio cambia.
La tecnologa cambia. El equipo cambia. Los
miembros del equipo cambian. El problema
no es el cambio en s mismo, puesto que
sabemos que el cambio va a suceder; el
problema es la incapacidad de adaptarnos a
dicho cambio cuando ste tiene lugar.
OBJETIVOS
Obtencin del producto, software
funcionando, y con la satisfaccin del cliente.

Minimizacin del riesgo actuando sobre:
Variables del proyecto :
Coste
Tiempo
Calidad
Alcance
VALORES
Los valores originales de la programacin
extrema son: simplicidad, comunicacin,
retroalimentacin (feedback) y coraje. Un
quinto valor, respeto, fue aadido en la
segunda edicin de Extreme Programming
Explained. Los cinco valores se detallan a
continuacin:
FEEDBACK CORAJE COMUNICACIN
SIMPLICIDAD
RESPETO
Simplicidad
La simplicidad consiste en desarrollar
slo el sistema que realmente se
necesita. Implica resolver en cada
momento slo las necesidades actuales.
Los costes y la complejidad de predecir
el futuro son muy elevados, y la mejor
forma de acertar es esperar al futuro.
Con este principio de simplicidad, junto
con la comunicacin y el feedback
resulta ms fcil conocer las
necesidades reales


Comunicacin
XP pone en comunicacin directa y continua a
clientes y desarrolladores. El cliente se integra
en el equipo para establecer prioridades y
resolver dudas. De esta forma ve el avance da
a da, y es posible ajustar la agenda y las
funcionalidades de forma consecuente
Feedback rpido y continuo
Una metodologa basada en el desarrollo incremental
de pequeas partes, con entregas y pruebas
frecuentes y continuas, proporciona un flujo de
retro-informacin valioso para detectar los
problemas o desviaciones.
De esta forma fallos se localizan muy pronto.
La planificacin no puede evitar algunos errores,
que slo se evidencian al desarrollar el sistema.
La retro-informacin es la herramienta que permite
reajustar la agenda y los planes.
Coraje
Disciplina en la aplicacin de XP
Parar cuando se est cansado
Permitir que el usuario tome las decisiones
de negocio
Permitir que el desarrollador tome las
decisiones tcnicas
Descartar cdigo si es necesario
Introducir cambios cuando las cosas no
funcionan
Respeto
El respeto se manifiesta de varias formas. Los
miembros del equipo se respetan los unos a otros,
porque los programadores no pueden realizar cambios
que hacen que las pruebas existentes fallen o que
demore el trabajo de sus compaeros. Los miembros
respetan su trabajo porque siempre estn luchando
por la alta calidad en el producto y buscando el diseo
ptimo o ms eficiente para la solucin a travs de la
refactorizacin del cdigo. Los miembros del equipo
respetan el trabajo del resto no haciendo menos a
otros, una mejor autoestima en el equipo eleva su
ritmo de produccin.
Roles en XP
Programador
Escribe las pruebas unitarias y produce el
cdigo del sistema.
Pieza bsica en desarrollos XP
Ms responsabilidad que en otros modos de
desarrollo
Responsable sobre el cdigo
Responsable sobre el diseo (refactorizacin,
simplicidad)
Responsable sobre la integridad del sistema (pruebas)
Capacidad de comunicacin (pair-programming)
Acepta crticas (cdigo colectivo)
Cliente
Escribe las historias de usuario y las pruebas
funcionales para validar su implementacin. Asigna la
prioridad a las historias de usuario y decide cules se
implementan en cada iteracin centrndose en aportar
el mayor valor de negocio.
Pieza bsica en desarrollos XP
Define especificaciones (user stories)
Influye sin controlar
Confa en el grupo de desarrollo
Define pruebas funcionales

Tester Encargado de pruebas
Ayuda al cliente a escribir las pruebas
funcionales. Ejecuta pruebas regularmente,
difunde los resultados en el equipo y es
responsable de las herramientas de soporte
para pruebas.
Apoya al cliente en la
preparacin/realizacin de las pruebas
funcionales
Ejecuta las pruebas funcionales y publica los
resultados

Tracker Encargado de Seguimiento
Es el encargado de seguimiento. Proporciona realimentacin
al equipo. Debe verificar el grado de acierto entre las
estimaciones realizadas y el tiempo real dedicado,
comunicando los resultados para mejorar futuras
estimaciones.
Recoge, analiza y publica informacin sobre la marcha
del proyecto sin afectar demasiado el proceso
Supervisa el cumplimiento de la estimaciones en cada
iteracin
Informa sobre la marcha de la iteracin en curso
Controla la marcha de las pruebas funcionales, de los
errores reportados, de las responsabilidades aceptadas
y de las prueba aadidas por los errores encontrados

Entrenador (Coach)
Responsable del proceso global. Gua a los miembros
del equipo para seguir el proceso correctamente.
Experto en XP
Responsable del proceso en su conjunto
Identifica las desviaciones y reclama atencin
sobre las mismas
Gua al grupo de forma indirecta (sin daar su
seguridad ni confianza)
Interviene directamente si es necesario
Atajar rpidamente el problema
Consultor
Es un miembro externo del equipo con un
conocimiento especfico en algn tema
necesario para el proyecto. Ayuda al
equipo a resolver un problema especfico.
- Apoya al equipo XP en cuestiones
puntuales
Gestor (Big boss) Encargado de
proyecto
Es el dueo de la tienda y el vinculo entre
clientes y programadores. Su labor esencial es la
coordinacin.
Favorece la relacin entre usuarios y
desarrolladores
Confa en el equipo XP
Cubre las necesidades del equipo XP
Asegura que alcanza sus objetivos
Captura de Requisitos en XP
Historias del Usuario (User-Stories)
Establecen los requisitos del cliente
Trozos de funcionalidad que aportan valor
Se les asignan tareas de programacin con un n
de horas de desarrollo
Las establece el cliente
Son la base para las
Programacin en XP
La programacin de tareas se realiza por parejas

La pareja disea, prueba, implementa e integra el
cdigo de la tarea

Cdigo dirigido por las pruebas

Cdigo modular, intentando refactorizar siempre
que se pueda

Modelo de un Proyecto XP
Prcticas de XP
PRCTICAS DE CODIFICACIN
1.- Simplicidad de cdigo y de diseo para producir
software fcil de modificar.
2.- Reingeniera continua para lograr que el cdigo
tenga un diseo ptimo.
3.- Desarrollar estndares de codificacin, para
comunicar ideas con claridad a travs del cdigo.
4.- Desarrollar un vocabulario comn, para
comunicar las ideas sobre el cdigo con claridad.
PRCTICAS DE DESARROLLO
1.- Adoptar un mtodo de desarrollo basado en las
pruebas para asegurar que el cdigo se comporta
segn lo esperado.
2.- Programacin por parejas, para incrementar el
conocimiento, la experiencia y las ideas.
3.- Asumir la propiedad colectiva del cdigo, para
que todo el equipo sea responsable de l.
4.- Integracin continua, para reducir el impacto de
la incorporacin de nuevas funcionalidades.
PRCTICAS DE NEGOCIO
1.- Integracin de un representante del cliente en el equipo, para encauzar las
cuestiones de negocio del sistema de forma directa, sin retrasos o prdidas por
intermediacin.
2.- Adoptar el juego de la planificacin para centrar en la agenda el trabajo ms
importante.
3.- Entregas regulares y frecuentes para satisfacer la inversin del cliente.
4.- Ritmo de trabajo sostenible, para terminar la jornada cansado pero no
agotado.
Ventajas y desventajas de Extreme
Programming
Ventajas:
Programacin organizada.
Menor taza de errores.
Satisfaccin del programador.
Desventajas:
Es recomendable emplearlo solo en
proyectos a corto plazo.
Altas comisiones en caso de fallar.


CONCLUSIONES
- Apostolado de metodologas exitosas
- Aporte de la experiencia prctica a los
modelos tericos
- Enfoque de conjunto de prcticas como
rompecabezas
- Tecnologa en expansin
- Importancia de revisitar las metodologas
desde la experiencia prctica

Vous aimerez peut-être aussi