Del curso: Fundamentos de Extreme Programming para desarrollo de software

Qué es Extreme Programming o programación extrema

La Programación Extrema es una metodología de desarrollo diseñada para mejorar la calidad del software y su capacidad de adaptarse adecuadamente a las necesidades cambiantes del cliente. Generalmente representada como XP en su forma abreviada, la Programación Extrema fue desarrollada para abordar las necesidades específicas del desarrollo de software por pequeños equipos frente a requisitos subjetivos y cambiantes. La Programación Extrema es una metodología de desarrollo de software ágil, pero a diferencia de otros sistemas como Scrum, usa valores y principios específicos para guiar el comportamiento del equipo por una ruta predeterminada. Esta forma de trabajo proporciona una serie de valores y prácticas que, por separado, son sencillo de aprender e implementar, pero combinados producen un comportamiento más complejo y resultados más efectivos. Una suposición clave de la Programación Extrema es que el costo de cambiar o modificar un programa puede mantenerse constante a lo largo del tiempo, evitando el aumento inesperado de presupuesto o los costos encubiertos a largo plazo. Esto puede lograrse a través de una serie de pasos y procesos como el énfasis en la retroalimentación continua del cliente, interacciones cortas, refactorización y pruebas constantes. Las características comunes de Programación Extrema incluyen acciones como: escribir pruebas unitarias antes de programar y mantener todas las pruebas en funcionamiento en todo momento; comenzar proyectos con diseños simples y rediseñar según sea necesario; mantener al cliente involucrado todo el tiempo y obtener una retroalimentación constante; y en especial, mantener una comunicación abierta y fluida entre todos los miembros del equipo. Por último, dediquemos unos momentos para hablar de la pregunta más común que me hacen después de conocer los principios de la Programación Extrema. ¿Por qué se llama Extrema? Déjame comenzar aclarando que no es porque tengamos que programar escalando montañas o lanzándonos en un paracaídas, sino porque en esta forma de trabajo todo se debe llevar al máximo posible con medidas radicales. Por ejemplo, en Programación Extrema no es suficiente con chequear que tu código funcione correctamente antes de enviarlo al repositorio, hay que llevarlo al extremo y ejecutar pruebas unitarias exhaustivas y constantes para garantizar de forma automatizada que el código cumple con todos los requerimientos y no tiene ninguna posible regresión. O en el caso del diseño de un proyecto, no es suficiente con planificar cada detalle desde el primer día, sino que debe pasar por incontables adaptaciones y refactorización hasta alcanzar el extremo máximo de eficacia. Cada parte y cada proceso del proyecto se lleva al máximo de su adaptación y optimización, pero siempre dejando espacio para que en el futuro pueda mejorar aún más. Por eso, esta metodología se llama así, porque toma los procesos al máximo posible a través de adaptación, pruebas y mejora constante.

Contenido