La metodología de programación extrema (XP) se enfoca en la adaptabilidad sobre la previsibilidad. Sus características principales incluyen desarrollo iterativo e incremental, pruebas unitarias continuas, programación en parejas y frecuente integración con el cliente. Sus valores fundamentales son la simplicidad, comunicación, retroalimentación, valentía y respeto. El proceso de XP consta de cuatro fases: planificación, diseño, codificación y pruebas.
4. Características principales
● Se diferencia de las metodologías tradicionales principalmente en que pone más
énfasis en la adaptabilidad que en la previsibilidad.
● Se aplica de manera dinámica durante el ciclo de vida del software.
● Es capaz de adaptarse a los cambios de requisitos.
● Los individuos e interacciones son más importantes que los procesos y
herramientas.
5. Valores
Los valores originales de la programación extrema son: simplicidad, comunicación, retroalimentación
(feedback), valentía, respeto.
6. Pasos
1º Desarrollo iterativo e incremental
2º Pruebas unitarias continuas
3º Programación en parejas
4º Frecuente integración del equipo de
programación con el cliente
5º Corrección de todos los errores antes
de añadir nueva funcionalidad
6º Refactorización del código
7º Propiedad del código compartido
8º Simplicidad del código
Los pasos fundamentales inmersos en las fases del método son:
8. Fase 1 - Planificación del proyecto
El objetivo de esta fase es conseguir que el equipo técnico consiga entender las principales
características y funcionalidades necesarias para que el software consiga satisfacer las
necesidades del cliente.
Para realizar correctamente esta fase tenemos que tener en cuenta las siguientes prácticas:
- Las historias de los usuarios
- El juego de planeación o Release Planning
- Iteraciones
- Velocidad
- Criterios para la programación en pareja
9. Fase 2 - Diseño
Esta fase se enfoca en el diseño del programa.
Es importante obtener diseños simples y sencillos.
- Uso de glosarios de términos y
especificaciones precisas de nombres de
métodos y clases.
- Reducir riesgos potenciales y no añadir
funcionalidad extra al programa.
- La refactorización optimiza la funcionalidad del
código existente.
10. Fase 3 - Codificación
La presencia del cliente es muy importante, ellos crean
y negocian las historias de usuario que se van a
implementar.
El cliente debe especificar detalladamente lo que hará y
estar presente durante las pruebas de verificación. La
codificación debe cumplir con estándares de
codificación previamente establecidos para mantener el
código consistente y escalable.
11. Fase 4 - Pruebas
- Es necesario crear aplicaciones y someter a ellas las
distintas clases del sistema.
- Creación de tests antes de implementar el código.
- Es importante subir los tests y el código al repositorio
juntos.
- Las pruebas de aceptación evalúan tareas usuario y
funcionalidades generales del programa.
- Las pruebas deben cumplir el programa especificado en la
descripción de requisitos.
12. Ventajas y desventajas
Ventajas
Programación organizada.
Menor tasa de errores.
Relación estrecha con el cliente
Desventajas
Es recomendable emplearlo solo en
proyectos a corto plazo.
Altas comisiones en caso de fallar.
Relativamente caro
Requiere mucho tiempo