Extreme Programming: Claves para la Excelencia en el Desarrollo de Software
Enviado por Chuletator online y clasificado en Magisterio
Escrito el en
español con un tamaño de 2,72 KB
Retroalimentación y Transparencia en XP
Con el cliente
- Iteraciones semanales: Cada semana, el cliente revisa el trabajo anterior, selecciona las HU (Historias de Usuario) para la siguiente semana y ajusta prioridades, proporcionando retroalimentación continua.
- Mockups y wireframes: Se muestran prototipos al cliente antes de implementar para validar que se está construyendo lo correcto.
- Pruebas de usabilidad: Se realizan con el cliente para detectar problemas de interfaz o comprensión.
Con el equipo de desarrollo
- Programación en parejas: Uno escribe y el otro revisa en tiempo real. Las parejas rotan para difundir el conocimiento.
- Integración continua: El código se integra y prueba automáticamente (regla de los 10 minutos), detectando errores al instante.
- Comunicación osmótica: Todo el equipo comparte espacio físico, resolviendo dudas de forma inmediata.
- Spikes: Pequeños programas experimentales para explorar soluciones técnicas y eliminar riesgos antes de implementar.
eXtreme Programming como Metodología Ágil
eXtreme Programming (XP) es una metodología ágil orientada al desarrollo de software de calidad a través de buenas prácticas técnicas y trabajo colaborativo. Su filosofía central es implementar solo lo que se necesita ahora, no lo que se prevé que hará falta.
Los 5 valores fundamentales
- Comunicación: Espacio compartido y comunicación osmótica.
- Simplicidad: Aplicación del principio KISS (Keep It Simple, Stupid).
- Retroalimentación: Continua, tanto con el cliente como con el equipo.
- Valentía: Capacidad para refactorizar y decir "no" cuando es necesario.
- Respeto: Entorno sin jerarquías dentro del equipo.
Metodología y prácticas
Su metodología se basa en:
- Iteraciones semanales con planificación al inicio de cada semana.
- Planificación trimestral con ajuste continuo.
- Slacks: Menos del 20% del tiempo dedicado a tareas no productivas para evitar el agotamiento.
- Programación en parejas con cambio frecuente.
- TDD (Test Driven Development) con integración continua (regla de los 10 minutos).
- Spikes para explorar soluciones técnicas.
- Estimación de HU en horas.
A diferencia de Scrum, XP no tiene roles formales dentro del equipo de desarrollo: clientes, desarrolladores y testers trabajan juntos en el mismo espacio.