Programacion extrema
naggy20 de Mayo de 2014
3.509 Palabras (15 Páginas)510 Visitas
Programación Extrema
Programación Extrema
Índice
1. ¿Qué es XP?.................................................................................................................................2
1.1. Metodología ágil.................................................................................................................. 2
1.2. Definición.............................................................................................................................2
1.3. Posturas a favor y en contra................................................................................................. 2
2. Historia.........................................................................................................................................4
3. Principios básicos........................................................................................................................ 5
4. Proceso de desarrollo................................................................................................................... 8
4.1. Interacción con el cliente......................................................................................................8
4.2. Planificación del proyecto....................................................................................................8
4.3. Diseño, desarrollo y pruebas................................................................................................ 9
5. Bibliografía................................................................................................................................ 11
6. Referencias a webs.....................................................................................................................14
Pág. 1
Programación Extrema
1. ¿Qué es XP?
1.1. Metodología ágil
Las metodologías ágiles (como por ejemplo XP, SCRUM, DSDM, Crystal, etc..) forman parte del
movimiento de desarrollo ágil de sotfware, que se basan en la adaptabilidad de cualquier cambio
como medio para aumentar las posibilidades de éxito de un proyecto.
De forma que una metodología ágil es la que tiene como principios que:
• Los individuos y sus interacciones son más importantes que los procesos y las
herramientas.
• El software que funciona es más importante que la documentación exhaustiva.
• La colaboración con el cliente en lugar de la negociación de contratos.
• La respuesta delante del cambio en lugar de seguir un plan cerrado.
Se puede decir que, este movimiento empezó a existir a partir de febrero de 2001, cuando se
reunieron los representantes de cada una de estas metodologías y terminaron poniendo en común
sus ideas en una declaración conjunta.
1.2. Definición
La programación extrema es una metodología de desarrollo ligera (o ágil) basada en una serie de
valores y de prácticas de buenas maneras que persigue el objetivo de aumentar la productividad a la
hora de desarrollar programas.
Este modelo de programación se basa en una serie de metodologías de desarrollo de software en la
que se da prioridad a los trabajos que dan un resultado directo y que reducen la burocracia que hay
al rededor de la programación.
Una de las características principales de este método de programación, es que sus ingredientes son
conocidos desde el principio de la informática. Los autores de XP han seleccionado aquellos que
han considerado mejores y han profundizado en sus relaciones y en como se refuerzan los unos con
los otros. El resultado de esta selección ha sido esta metodología única y compacta. Por esto, aunque
no está basada en principios nuevos, sí que el resultado es una nueva manera de ver el desarrollo de
software.
El objetivo que se perseguía en el momento de crear esta metodología era la búsqueda de un método
que hiciera que los desarrollos fueran más sencillos. Aplicando el sentido común.
1.3. Posturas a favor y en contra
La mejor manera de reflejar las diferentes posturas sobre las preferencias de la programación
Extrema es hacer referencia a una encuesta realizada por IBM el octubre del año 2000, donde se
formulaba precisamente la opinión de profesionales sobre el método de programación que nos
ocupa.
Pág. 2
Programación Extrema
A . Lo he probado y no me gusta nada
B. Es una mala idea, no puede funcionar nunca
C. Es una buena idea, pero no funcionará.
D. Lo he probado y me gusta mucho
Con el poco tiempo que hace que existe esta metodología, ya se ha generado un gran alboroto en la
comunidad de ingeniería del software. Hay opiniones de todos los gustos de quienes lo prueban.
Las opiniones negativas mayoritarias alegan lo siguiente:
• Los programadores tienen un acusado sentimiento de posesión del código y esta postura no
encaja con la filosofía de X.P.
• También se ve un fuerte sentimiento para respectar las 40 horas semanales, y X.P. no lo
garantiza.
• Los jefes de proyecto también expresan su recelo con este método tan poco tradicional.
En cambio una visión más optimista dice que:
• X.P. sólo funcionará con gente buena, es decir, profesionales que son capaces de hacer un
buen diseño, sencillo y a la vez fácilmente ampliable.
• Por otro lado se ha de recalcar que XP no ha inventado ningún método nuevo,
sencillamente ha recogido métodos ya existentes y los ha agrupado, y ha comprobado que
funcionen. Y para terminar, mencionar que el creador de XP asegura que se garantiza un
rato si más no divertido.
Pág. 3
Programación Extrema
2. Historia
La Programación Extrema, como proceso de creación de software diferente al convencional, nace de
la mano de Kent Beck (gurú de la XP y autor de los libros más influyentes sobre el tema).
Chrysler Corporation hacía tiempo que estaba desarrollando una aplicación de nóminas, pero sin
demasiado éxito por parte de la gente que tenía en el proyecto. El verano de 1996, Beck entró en
nómina en la compañía y se le pidió de hacer esta aplicación como trabajo. Es en esta aplicación
cuando nace la Programación Extrema como tal.
Beck reconoció que el proceso (o metodología) de creación de software o la carencia de este era la
causa de todos los problemas y llegó a la conclusión que para proporcionar un proceso que fuera
flexible era necesario realizar ciertos cambios en la estructura o manera de hacer de los
programadores, los cuales se tenían que acomodar al cambio a realizar.
El tenía varias ideas de metodologías para la realización de programas que eran cruciales para el
buen desarrollo de cualquier sistema.
Las ideas primordiales de su sistema las comunicó en la revista C++ Magazine en una entrevista
que ésta le hizo el año 1999. En ésta decía que él estaba convencido que la mejor metodología era
un proceso que enfatizase la comunicación dentro del equipo, que la implementación fuera sencilla,
que el usuario tenía que estar muy informado y implicado y que la toma de decisiones tenía que ser
muy rápida y efectiva.
Los autores (o mejor dicho, los propulsores como el propio Kent Beck, Ward Cunningham o Ron
Jeffries entre otros) de la Programación Extrema, fueron a la web Portland Pattern Repository y
empezaron a hablar de ella y promocionarla, de lo que era y cómo realizarla. Estos propulsores de la
XP hablaban de ella en cada ocasión que tenían y en cada página que, poco o mucho hablara de
temas de programación.
Este hecho, llegó a molestar a buena parte de la comunidad que intentaba discutir sobre temas de
programación. Fue tanta esta molestia que nació el fenómeno XP Free Zone (zona libre de XP) en
determinadas webs como petición de no hablar de Programación Extrema en ella.
La discusión sobre temas de diseño de modelos de programación sobre los cambios recientes se
hizo tema difícil porque la mayoría de la actividad fue relacionada con la Programación Extrema.
Eventualmente, y debido a ésto, la mayoría de la gente que solía discutir sobre los temas de diseño
de modelos de programación fue apartándose de este ambiente para discutir sus ideas en otros
ambientes más "reservados". La comunidad empezó a referirse a estos sitios como a Salas Wiki
(Wards Wiki).
Pág. 4
Programación Extrema
3. Principios básicos
La Programación Extrema se basa en 12 principios básicos agrupados en cuatro categorías:
• Retroalimentación a escala fina.
1. El principio de pruebas: se tiene que establecer un período de pruebas de aceptación del
programa (llamado también período de caja negra) donde se definirán las entradas al
sistema y los resultados esperados de estas entradas. Es muy recomendable automatizar
estas pruebas para poder hacer varias simulaciones del sistema en funcionamiento. Para
hacer estas simulaciones automatizadas, se pueden utilizar Ambientes de Prueba (Unit
testing frameworks). Un buen ejemplo de un ambiente de prueba es el JUnit para Java
(www.junit.org/index.htm). Otros ambientes de pruebas para otros
...