La
programación extrema es una metodología de desarrollo ligero (o ágil) basada en
una serie de valores y de prácticas de buenas maneras que persigue el objetivo
de aumentar la productividad a la hora de desarrollar programas.
Este
modelo de programación se basa en una serie de metodologías de desarrollo de
software en la que se da prioridad a los trabajos que dan un resultado directo
y que reducen la burocracia que hay alrededor de la programación.
Una
de las características principales de este método de programación, es que sus
ingredientes son conocidos desde el principio de la informática. Los autores de
XP han seleccionado aquellos que han considerado mejores y han profundizado en
sus relaciones y en cómo se refuerzan los unos con los otros. El resultado de
esta selección ha sido esta metodología única y compacta. Por esto, aunque no
está basada en principios nuevos, sí que el resultado es una nueva manera de
ver el desarrollo de software.
El
objetivo que se perseguía en el momento de crear esta metodología era la
búsqueda de un método que hiciera que los desarrollos fueran más sencillos.
Aplicando el sentido común.
Las características fundamentales del
método son:
- Desarrollo
iterativo e incremental: pequeñas mejoras, unas tras otras.
- Pruebas
unitarias continuas, frecuentemente repetidas y automatizadas, incluyendo
pruebas de regresión. Se aconseja escribir el código de la prueba antes de la
codificación. Véase, por ejemplo, las herramientas de prueba JUnit orientada a
Java, DUnit orientada a Delphi, NUnit para la plataforma.NET o PHPUnit para
PHP. Estas tres últimas inspiradas en JUnit, la cual, a su vez, se insipiró en
SUnit, el primer framework orientado a realizar tests, realizado para el
lenguaje de programación Smalltalk.
- Programación
en parejas: se recomienda que las tareas de desarrollo se lleven a
cabo por dos personas en un mismo puesto. La mayor calidad del código escrito
de esta manera -el código es revisado y discutido mientras se escribe- es más
importante que la posible pérdida de productividad inmediata.
- Frecuente
integración del equipo de programación con el cliente o usuario.
Se recomienda que un representante del cliente trabaje junto al equipo de
desarrollo.
- Corrección
de todos los errores antes de añadir nueva funcionalidad. Hacer
entregas frecuentes.
- Refactorización
del código, es decir, reescribir ciertas partes del código para
aumentar su legibilidad y mantenibilidad pero sin modificar su comportamiento.
Las pruebas han de garantizar que en la refactorización no se ha introducido
ningún fallo.
- Propiedad
del código compartida: en vez de dividir la responsabilidad en
el desarrollo de cada módulo en grupos de trabajo distintos, este método
promueve el que todo el personal pueda corregir y extender cualquier parte del
proyecto. Las frecuentes pruebas de regresión garantizan que los posibles
errores serán detectados.
- Simplicidad
en el código: es la mejor manera de que las cosas
funcionen. Cuando todo funcione se podrá añadir funcionalidad si es necesario.
La programación extrema apuesta que es más sencillo hacer algo simple y tener
un poco de trabajo extra para cambiarlo si se requiere, que realizar algo
complicado y quizás nunca utilizarlo.

No hay comentarios:
Publicar un comentario