¿Qué es la programación xp?
La programación XP, es una metodología para el desarrollo ágil de proyectos muy utilizado en entornos donde la planeación y priorización de actividades cambia constantemente en cortos periodos de tiempo.
Beneficios que ofrece la programación xp.
- ✔ Apoya la fase de construcción de prototipos para testearlos en el mercado.
✔ Permite que la planificación pueda variar en cuestión de días con base a los cambios del entorno.
✔ Apoya el proceso de recolección de datos para determinar de forma temprana, si el producto que se esta construyendo tiene aceptación en el mercado.
✔ Ayuda a resolver problemas complejos a nivel de código al crear parejas compuestas por desarrolladores.
✔ Ayuda acelerar la creación de prototipos o versiones demo al crear parejas compuestas por un product owner y un desarrollador.
Buenas prácticas para la implementación.
- ✔ Realizar la planificación de objetivos y actividades a nivel de proyecto para periodos de tiempo menores a una semana y máximo dos semanas.
✔ Definir unos acuerdos para direccionar el trabajo de programación en parejas garantizando la aplicación de las buenas prácticas que debe realizar cada uno según su rol.
✔ Definir un plan de pruebas en lo posible automatizado que permita incrementar la velocidad en la creación del producto.
✔ Definir el mínimo trabajo a realizar por cada rol que permita generar versiones muy pequeñas del producto de forma recurrente y con alto valor.
✔ Definir el alcance dentro del proyecto en donde se puede aplicar la programación XP y el momento en donde se debe migrar a otra metodología o marco de trabajo.
Pre-Condiciones y Post-Condiciones.
Este cuadro expone los pasos previos y posteriores que se deben ejecutar para aplicar correctamente las buenas prácticas enunciadas.
| Paso | Acción clave | Condición |
|---|---|---|
| 1. El pensamiento Lean. | Eliminar desperdicios en tiempo y materiales para optimizar los procesos y procedimientos. | Pre. |
| 2. El six sigma. | Reducir la variabilidad en los procesos y reducir los defectos en los procedimientos y el producto. | Pre. |
| 3. El scrum empresarial. | Implementar correctamente los valores, principios, prácticas, herramientas y técnicas del agilismo en toda la organización. | Pre. |
| 4. El modelo operativo ágil y flujos de valor. | Desarrollo del producto de forma iterativa, centrando el esfuerzo en la automatización de pruebas y calidad en las entregas. | Pre. |
| 5. La familia crystal. | Ajustar las prácticas agiles e innovación a la medida de las necesidades del proyecto o producto. | Pre. |
| 6. El scrum a gran escala. | Amplificación del marco de trabajo scrum para coordinar varios equipos que trabajan en diferentes proyectos y programas que hacen parte de un mismo portafolio. | Pre. |
| 7. El marco de trabajo scrum. | Atender los cambios del proyecto y acelerar la entrega de resultados asegurando la alineación del producto en desarrollo con las necesidades actuales del cliente. | Pre. |
| 8. El método de desarrollo de sistemas dinámicos DSDM. | Gestionar la restricción que existe entre funcionalidad - tiempo - presupuesto. | Pre. |
| 9. La disciplina ágil. | Priorizar las necesidades de las personas y ajustar los procesos a la medida del proyecto. | Pre. |
| 10. El desarrollo basado en funciones FDD. | Desarrollar funcionalidades delegando un propietario a cada clase del sistema para mantener asegurar su correcta codificación. | Pre. |
| 11. El proceso unificado ágil AUP. | Relacionar las prácticas claves de desarrollo con las fases de desarrollo con el fin de eliminar al máximo el desperdicio de tiempo y recurso. | Pre. |
| 12. La programación XP. | Ver el contenido de la presente guía. | |
| 13. El tailoring. | Identificar el estado inicial, actual y futuro para el equipo, proyecto y cultura organizacional con el fin de generar planes de acción que apoyen al éxito del proyecto. | Post. |
| 14. El design thinking. | Diseñar soluciones centrando los procesos, procedimientos y producto en el ser humano. | Post. |
| 15. El design sprint. | Resolver problemas concretos en un tiempo no mayor a 5 días. | Post. |
| 16. El event storming. | Descubrir el comportamiento de un negocio y sus requerimientos. | Post. |
| 17. La metodología kanban. | Visualizar, gestionar y controlar los flujos de trabajo. | Post. |
| 18. La gestión del cambio. | Liderar el cambio desde el lado humano para obtener resultados positivos a nivel organizacional y por colaborador. | Post. |
| 19. El coaching. | Identificar las habilidades y competencias del individuo u organización y potencializarlo para incrementar los resultados actuales. | Post. |
| 20. El método Kaizen. | Centrar el esfuerzo en lograr mejoras pequeñas en el corto plazo para obtener beneficios acumulados en el mediano y largo plazo. | Post. |
Relaciones lógicas.
Este cuadro expone las prácticas para resolver un problema con la programación xp , aplicando las siguientes relaciones lógicas:
| Práctica | Relación | Práctica |
|---|---|---|
| Fase de planificación con XP | Final-Inicio | Fase de diseño con XP |
| Fase de diseño con XP | Final-Inicio | Fase de codificación con XP |
| Fase de codificación con XP | Final-Inicio | Fase de pruebas con XP |
| Fase de pruebas con XP | Final-Inicio | Fase de lanzamiento con XP |
¿Quiénes son responsables?
El responsable de la programación xp es el agile project manager, quien hace parte de la oficina de entrega de valor.
Ejemplo.
Este ejemplo es un flujo que se construyo durante el proceso de preparación para presentar los exámenes y obtener las certificaciones CAMP, PMP y PMI-ACP del PMI. Adicionalmente las certificaciones SMAC, STMAC y SPOAC del Scrum Institute.


Pregunta tipo examen.
Pregunta: La definición que mejor se ajusta para la programación xp. ¿Debe ser?
A) Es un marco de trabajo para el desarrollo ágil de proyectos muy utilizado en entornos cambiantes en donde se necesita obtener un resultado rápido para ajustar y alinear el producto a las necesidades del cliente reduciendo desperdicios y aprovechando las oportunidades del entorno.
B) Es una metodología para el desarrollo ágil de proyectos muy utilizado en entornos donde la planeación y priorización de actividades cambia constantemente en cortos periodos de tiempo.
C) Es una metodología basada en funciones que permite generar desarrollos funcionales y evita la duplicidad de código, aporta simplicidad al código y escalamiento ordenado de la aplicación.
D) Es la aplicación de las prácticas ágiles e innovación dentro del ciclo de entrega porque se parte de la premisa que cada equipo, proyecto y organización es único.
Si deseas validar el nivel de conocimiento con relación a: la programación xp Inicia el simulador
Sobre el autor.
Juan David López Pava: profesional en administración de empresas y desarrollo de software con certificaciones del PMI y Scrum Institute, apasionado por la transformación digital y la dirección de proyectos de tecnología.