Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programación Extrema
FUNDAMENTOS DE INGENIERÍA DE SOFTWARE
Programació n Extrema
Introducción
La programación Extrema o eXtreme Programming (XP) es una metodología de desarrollo
de la ingeniería de software. Es el más destacado de los procesos ágiles de desarrollo de
software. Al igual que éstos, la programación extrema se diferencia de las metodologías
tradicionales principalmente en que pone más énfasis en la adaptabilidad que en la
previsibilidad. Los defensores de la XP consideran que los cambios de requisitos sobre la
marcha son un aspecto natural, inevitable e incluso deseable del desarrollo de proyectos.
Creen que ser capaz de adaptarse a los cambios de requisitos en cualquier punto de la
vida del proyecto es una aproximación mejor y más realista que intentar definir todos los
requisitos al comienzo del proyecto e invertir esfuerzos después en controlar los cambios
en los requisitos.
Programación Extrema
Ingeniería de Software y Sistemas Computacionales
Universidad Interamericana para el Desarrollo
Desarrollo
1. La fase de la exploración: Sirve para que el equipo concrete los objetivos del
proyecto, se basan en las historias de usuario cuales son los requisitos de los
usuarios escritos con un lenguaje común.
2. La fase de planificación: Es cuando se realizan las juntas para organizar la
implementación de los requisitos.
3. Fase de iteraciones: Sirve para realizar el análisis de las historias de usuario y pedir
más detalles al cliente, también sirve para medir el progreso del proyecto.
4. Fases de puesta en producción: Se entregan módulos finales y sin errores pero
pueden ser necesarias tareas para ajustes.
Después se analizarán las historias de usuario y se hablará con el cliente para definir los
tiempos detalles, se crea un cronograma para definir el orden de las entregas, donde se
estima el orden de entrega, se desarrollan y prueban las historias de usuario y se realizan
reuniones de planificación de la iteración. Se realizan reuniones diarias de seguimiento
que tienen por objetivo mantener la comunicación para compartir problemas y soluciones
donde participan todos los involucrados en el proyecto. Se define el diseño simple y claro
porque es más rápido y el código sea puede testear, es legible, comprensible y explicable.
Mediante las soluciones spike se aborda un problema y se aísla de otras preocupaciones.
Se refactoriza para recodificar y que sea más simple y entendible.
Programación Extrema
Ingeniería de Software y Sistemas Computacionales
Universidad Interamericana para el Desarrollo
Cada módulo debe ser probado antes de poder ser liberados, ya que las pruebas unitarias
son una de las piedras angulares de la programación extrema.
Ventajas: Desventajas:
En vez de tratar de luchar contra todo eso, lo asume y busca una forma de trabajar que se
adapte fácilmente a esas circunstancias. Básicamente la idea de la programación extrema
consiste en trabajar estrechamente con el cliente, haciéndole mini-versiones con mucha
frecuencia (cada dos semanas). En cada mini-versión se debe hacer el mínimo de código y
lo más simple posible para que funcione correctamente. El diseño se hace sobre la
marcha, haciendo un mini-diseño para la primera mini-versión y luego modificándolo en
las siguientes mini-versiones. Además, no hay que hacer una documentación para el
diseño, no hay mejor documentación que el mismo código. El código, por tanto, también
se modifica continuamente de mini-versión en mini-versión, añadiéndole funcionalidad y
extrayendo sus partes comunes.
Bibliografía
Marycarmen Díaz Labrador Antonio Collazo Garcia. (2013). La programación extrema. En
La programación extrema (1 -10). UCI: UCI.