Está en la página 1de 18

METODOLOGAS GILES

EXTREME PROGRAMMING
(XP)
Clemente Mndez, Fco. Javier
Rodrguez Cotorruelo, Enrique
1. INTRODUCCIN
2. OBJETIVOS
3. CARACTERSTICAS
4. PRINCIPIOS DEL MTODO XP
5. PRCTICAS BASADAS EN XP
6. CICLO DE VIDA
7. VENTAJAS E INCONVENIENTES
1. INTRODUCCIN
La programacin extrema
o eXtreme Programming
(XP) es un enfoque de la
ingeniera de software
formulado 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.
Metodologa liviana de
desarrollo de software.
Conjunto de practicas y
reglas empleadas para
desarrollar software.
Basada en diferentes ideas
acerca de cmo enfrentar
ambientes cambiantes.
En vez de planificar,
analizar y disear para el
futuro, hacer todo esto un
poco cada vez, a travs de
todo el proceso de
desarrollo.
Breve Resea Histrica
Qu es la Programacin
Extrema o XP?
Establecer las mejores prcticas de Ingeniera de Software
en los desarrollo de proyectos.
Mejorar la productividad de los proyectos.
Garantizar la Calidad del Software desarrollando, haciendo
que este supere las expectativas del cliente.
Asumir que con cierta planificacin, codificacin y pruebas
se puede decidir si se est siguiendo un camino correcto o
equivocado, evitando retroceder cuando sea demasiado
tarde.
2. OBJETIVOS
Metodologa basada en prueba y error para obtener un
software que funcione realmente.
Fundamentada en Principios.
Expresada en forma de 12 Prcticas (conjunto completo,
complementndose unas a otras). Las cuales son conocidas
pero su novedad es juntarlas.
Esta orientada hacia quien produce y usa el software (el
cliente participa muy activamente).
3. CARACTERSTICAS
Reduce el coste del cambio en todas las etapas del ciclo de
vida del sistema.
Combina las que han demostrado ser las mejores prcticas
para desarrollar software, y las lleva al extremo.
Cliente bien definido.
Los requisitos pueden cambiar.
Grupo pequeo y muy integrado (2 - 12 personas).
Fundamentalmente se trabaja en parejas.
Equipo con formacin elevada y capacidad de aprender.
3. CARACTERSTICAS
Este mtodo se basa principalmente en 4 valores o principios
bien definidos:
1. Simplicidad: La simplicidad consiste en desarrollar slo el
sistema que realmente se necesita. Implica resolver en cada
momento slo las necesidades actuales.
2. Feedback: Una metodologa basada en el desarrollo
iterativo de pequeas partes, con entregas y pruebas
frecuentes y continuas, proporciona un flujo de retro-
informacin valioso para detectar los problemas o
desviaciones.
4. PRINCIPIOS DEL MTODO X.P.
3. Decisin:
Implica saber tomar decisiones difciles.
Reparar un error cuando se detecta.
Mejorar el cdigo siempre que tras el feedback y las
sucesivas iteraciones.
4. Comunicacin : Algunos problemas en los proyectos tienen
origen en que alguien no dijo algo importante en algn
momento. XP hace casi imposible la falta de comunicacin, ya
que pone en comunicacin directa y continua a clientes y
desarrolladores.
4. PRINCIPIOS DEL MTODO X.P.
1. Equipo completo: Forman parte del equipo todas las
personas que tienen algo que ver con el proyecto, incluido
el cliente y el responsable del proyecto.
2. Planificacin: Se hacen las historias de usuario y se
planifica en qu orden se van a hacer y las mini-versiones.
La planificacin se revisa continuamente.
3. Test del cliente: El cliente, con la ayuda de los
desarrolladores, propone sus propias pruebas para validar
las mini-versiones.
5. PRCTICAS BASADAS EN X.P.
4. Versiones pequeas: Las mini-versiones deben ser lo
suficientemente pequeas como para poder hacer una cada
pocas semanas. Deben ser versiones que ofrezcan algo til
al usuario final y no fragmentos de cdigo que no pueda
ver funcionando.
5. Diseo simple: Hacer siempre lo mnimo imprescindible
de la forma ms sencilla posible. Mantener siempre
sencillo el cdigo.
6. Pareja de programadores: Los programadores trabajan
por parejas (dos delante del mismo ordenador) y se
intercambian las parejas con frecuencia.
5. PRCTICAS BASADAS EN X.P.
7. Desarrollo guiado por las pruebas automticas: Se
deben realizar programas de prueba automtica y deben
ejecutarse con mucha frecuencia. Cuantas ms pruebas se
hagan, mejor.
8. Integracin continua: Deben tenerse siempre un
ejecutable del proyecto que funcione y en cuanto se tenga
una nueva pequea funcionalidad, debe recompilarse y
probarse. Es un error mantener una versin congelada dos
meses mientras se hacen mejoras y luego integrarlas todas
de golpe.
5. PRCTICAS BASADAS EN X.P.
9. El cdigo es de todos: Cualquiera puede y debe tocar y
conocer cualquier parte del cdigo. Para eso se hacen las
pruebas automticas.
10. Normas de codificacin: Debe haber un estilo comn de
codificacin (no importa cual), de forma que parezca que
ha sido realizado por una nica persona.
11. Metforas: Hay que buscar unas frases o nombres que
definan cmo funcionan las distintas partes del programa,
de forma que slo con los nombres se pueda uno hacer una
idea de qu es lo que hace cada parte del programa.
5. PRCTICAS BASADAS EN X.P.
12. Ritmo sostenible: Se debe trabajar a un ritmo que se
pueda mantener indefinidamente. Esto quiere decir que no
debe haber das muertos en que no se sabe qu hacer y que
no se deben hacer un exceso de horas otros das. Hay que
trabajar para conseguir el objetivo cercano de terminar
una historia de usuario o mini-versin.
5. PRCTICAS BASADAS EN X.P.
5. PRCTICAS BASADAS EN X.P.
Ejemplo grfico:
6. CICLO DE VIDA
Ventajas:
Da lugar a una programacin sumamente organizada.
Cuenta con una tasa de errores muy pequea.
Propicia la satisfaccin del programador.
Facilita los cambios.
Permite ahorrar mucho tiempo y dinero.
Puede ser aplicada a cualquier lenguaje de programacin.
El cliente tiene el control sobre las prioridades.
Se hacen pruebas continuas durante el proyecto.
7. VENTAJAS E INCONVENIENTES
Inconvenientes:
Es recomendable emplearla solo en proyectos a corto plazo.
En caso de fallar, las comisiones son muy altas.
Requiere de un rgido ajuste a los principios de XP.
Puede no siempre ser ms fcil que el desarrollo tradicional.
7. VENTAJAS E INCONVENIENTES
METODOLOGAS GILES
EXTREME PROGRAMMING
(XP)
Clemente Mndez, Fco. Javier
Rodrguez Cotorruelo, Enrique

También podría gustarte