Documentos de Académico
Documentos de Profesional
Documentos de Cultura
UCATEC
COCHABAMBA-BOLIVIA
Contenido
1. ¿Qué es la metodología XP?.................................................................................................3
3. Características de la metodología XP...................................................................................3
4. Diferencias entre la metodología XP y otras........................................................................3
4.1. Diferencias entre la metodología XP y ágil.......................................................................3
4.2. Diferencias entre la metodología XP y Scrum...................................................................4
5. ¿Cuándo deberías implementar la programación extrema?................................................4
8. Metodología de programación extrema XP..........................................................................6
8.1. Equipo..............................................................................................................................6
8.1.1. El cliente ejerce así su responsabilidad........................................................................6
8.1.2. Los programadores y su marco de acción.....................................................................6
8.1.3. Los testers amplían su rol en la xp................................................................................6
8.1.4. El tracker o encargado de seguimiento........................................................................6
8.1.5. El coach y su labor clave...............................................................................................6
8.1.6. El manager XP responde así a este método..................................................................6
8.2. Fases.................................................................................................................................7
8.2.1. Planificación.................................................................................................................7
8.2.2. Diseño...........................................................................................................................7
8.2.3. Codificación..................................................................................................................8
8.2.4. Pruebas.........................................................................................................................8
8.2.5. Lanzamiento.................................................................................................................8
8.3. Documentación................................................................................................................8
8.4. Ciclo de vida.....................................................................................................................9
8.5. ¿Cuáles son las 12 prácticas de la programación extrema?............................................10
8.6. Aplicación de la metodología XP....................................................................................11
9. Conclusión..........................................................................................................................11
1. ¿Qué es la metodología XP?
Es un conjunto de técnicas que dan agilidad y flexibilidad en la gestión de proyectos.
También es conocida como Programación Extrema (Extreme Programming) y se centra
crear un producto según los requisitos exactos del cliente. De ahí, que le involucre al
máximo durante el método de gestión del desarrollo del producto.
El uso de esta metodología supone, para muchos teóricos, una aproximación a la calidad
óptima del producto. Pues durante el ciclo de vida del software, ocurren cambios
naturales. Es más, cuantos más cambios, puede que más cerca estemos del mejor
resultado que espera nuestro cliente. Por eso, este cambio constante en el proyecto se
llega a considerar como favorable. Y si podemos aplicar una manera dinámica de
gestionarlos, mejor. Esta forma es conocida como metodología XP.
2. ¿Quién desarrolló la programación extrema?
Los orígenes de XP se remontan a fines de la década de 1990, cuando Kent Beck la creó
para gestionar el desarrollo de un sistema de software de nómina para Chrysler llamado
Proyecto C3. El objetivo al implementar la programación extrema era (y sigue siendo)
eliminar la resistencia a cambiar el código en un proyecto de desarrollo. En los métodos
de desarrollo de software más tradicionales, es muy común que el código no se cambie
una vez que está escrito (excepto para la depuración). Con la programación extrema, en
cambio, el código se examina con tanto detalle que los desarrolladores pueden decidir
modificarlo por completo luego de una sola iteración.
3. Características de la metodología XP
Comunicación constante entre el cliente y el equipo de desarrollo.
Respuesta rápida a los cambios constantes.
La planificación es abierta con un cronograma de actividades flexible.
El software que funciona está por encima de cualquier otra documentación.
Los requisitos del cliente y el trabajo del equipo del proyecto son los principales
factores de éxito del mismo.
8.1. Equipo
8.2. Fases
8.2.1. Planificación
Las historias de usuario a menudo se escriben en tarjetas de tipo “post-it” para poder
pegarlas sobre algún tipo de tablero o panel en las paredes. De este modo se facilita el
debate sobre cómo organizarlas y la planificación. Al tratarse de tarjetas de un tamaño
reducido, no se puede escribir mucho, lo que obliga a pensar y resumir muy bien el
objetivo Según la identificación de las historias de usuario, se priorizan y se
descomponen en mini-versiones. La planificación se va a ir revisando. Cada dos
semanas aproximadamente de iteración, se debe obtener un software útil, funcional,
listo para probar y lanzar.
8.2.2. Diseño
En este paso se intentará trabajar con un código sencillo, haciendo lo mínimo
imprescindible para que funcione. Se obtendrá el prototipo. Además, para el diseño del
software orientado a objetos, se crearán tarjetas CRC (Clase-Responsabilidad-
Colaboración).
Diseños simples: La metodología X.P sugiere que hay que conseguir diseños
simples y sencillos.
Glosarios de términos: Usar glosarios de términos y una correcta especificación
de los nombres de métodos y clases ayudará a comprender el diseño y facilitará
sus posteriores ampliaciones y la reutilización del código.
Riesgos: Si surgen problemas potenciales durante el diseño, X.P sugiere utilizar
una pareja de desarrolladores para que investiguen y reduzcan al máximo el
riesgo que supone ese problema.
Funcionalidad extra: Nunca se debe añadir funcionalidad extra al programa,
aunque se piense que en un futuro será utilizada
Refactorizar. Refactorizar es mejorar y modificar la estructura y codificación de
códigos ya creados sin alterar su funcionalidad.
Tarjetas C.R.C. El uso de las tarjetas C.R.C (Class, Responsabilities and
Collaboration) permiten al programador centrarse y apreciar el desarrollo
orientado a objetos olvidándose de los malos hábitos de la programación
procedural clásica.
8.2.3. Codificación
La codificación debe hacerse ateniendo a estándares de codificación ya creados.
Programar bajo estándares mantiene el código consistente y facilita su comprensión y
escalabilidad. Crear test que prueben el funcionamiento de los distintos códigos
implementados nos ayudará a desarrollar dicho código
A la hora de codificar no seguimos la regla de X.P que aconseja crear test de
funcionamiento con entornos de desarrollo antes de programar. Nuestros test los
obtendremos de la especificación de requisitos ya que en ella se especifican las pruebas
que deben pasar las distintas funcionalidades del programa, procurando codificar
pensando en las pruebas que debe pasar cada funcionalidad.
8.2.4. Pruebas
Se deben realizar pruebas automáticas continuamente. Al tratarse normalmente de
proyectos a corto plazo, este testeo automatizado y constante es clave. Además, el
propio cliente puede hacer pruebas, proponer nuevas pruebas e ir validando las mini-
versiones.
Hay que someter a tests las distintas clases del sistema omitiendo los métodos más
triviales.
Se deben crear los test que pasarán los códigos antes de implementarlos; en el apartado
anterior se explicó la importancia de crear antes los test que el código.
Un punto importante es crear test que no tengan ninguna dependencia del código que en
un futuro evaluará. Hay que crear los test abstrayéndose del futuro código, de esta forma
aseguraremos la independencia del test respecto al código que evalúa.
8.2.5. Lanzamiento
Este punto, significa que hemos probado todas las historias de usuario o mini-versiones
con éxito, ajustándonos a los requerimientos de los clientes. Tenemos un software útil y
podemos incorporarlo en el producto
La fase de Lanzamiento es importante porque es el momento en que el software se pone
en uso real y se expone a los usuarios finales. Durante esta fase, el equipo de desarrollo
debe asegurarse de que el software se ha probado adecuadamente y que se han abordado
todos los errores y problemas conocidos. También es importante que el equipo de
desarrollo esté disponible para solucionar cualquier problema que pueda surgir después
del lanzamiento.
8.3. Documentación
Dentro de Extreme Programming encontramos dos tipos de planificacion las cuales son
documentadas.
Planificación de la Entrega
Planificación de la Iteración
9. Conclusión
En conclusión, la programación extrema es una metodología ágil de desarrollo de
software que se enfoca en la entrega temprana y frecuente de software funcional, la
simplicidad y la retroalimentación constante.
Aunque la documentación en XP es mínima, esto no significa que no se documente
nada en absoluto, se documenta sólo lo necesario para comunicarse efectivamente con
los clientes y mantener al equipo en la misma página. XP se enfoca en la calidad del
software, la colaboración y el aprendizaje constante.
Sus prácticas y principios pueden ser de gran utilidad en proyectos de desarrollo de
software, especialmente aquellos que requieren cambios frecuentes y rápidos en los
requisitos.