Está en la página 1de 5

DIEGO VEGA MIRELES

Programación Extrema
FUNDAMENTOS DE INGENIERÍA DE SOFTWARE

Ingeniería de Software y Sistemas


Computacionales
Universidad Interamericana para el Desarrollo
3/20/2020
Programación Extrema
Ingeniería de Software y Sistemas Computacionales
Universidad Interamericana para el Desarrollo

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

La programación Extrema tiene 4 fases principales:

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.

Las etapas; primero se recopilan las historias de


usuario, después se realizan programas prueba para
reducir riesgos, y se establece un plan y tiempos de
entrega, estos planes tiene 3 aspectos principales:

1. Son planes simples.


2. Los realiza el mismo equipo que los
trabajará.
3. Son estimaciones, ya que cambian
dependiendo de las circunstancias.

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

En cuanto a la implementación es necesario tener al cliente disponible ya que forma parte


del proyecto, se debe escribir y documentar el código de la misma manera, ya que se
busca la estandarización. Esta metodología propone que se deben realizar las pruebas
justo después del desarrollo, y se pide que la escritura del código se haga con parejas para
mejorar la calidad del código.

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.

En cuanto a los roles de la programación extrema se tienen a los clientes, al programador,


al encargado de pruebas, al encargado de seguimiento, al entrenador y el gestor.

Ventajas: Desventajas:

 Da lugar a una programación  Es recomendable emplearla solo en


sumamente organizada. proyectos a corto plazo.
 Ocasiona eficiencias en el proceso de  En caso de fallar, las comisiones son
planificación y pruebas. muy altas.
 Cuenta con una tasa de errores muy  Requiere de un rígido ajuste a los
pequeña. principios de XP.
 Propicia la satisfacción del  Puede no siempre ser más fácil que el
programador. desarrollo tradicional.
 Fomenta la comunicación entre los
clientes y los desarrolladores.
 Facilita los cambios.
 Permite ahorrar mucho tiempo y dinero.
 Puede ser aplicada a cualquier lenguaje
de programación.
 El cliente tiene el control sobre las
prioridades.
 Se hacen pruebas continuas durante el
proyecto.
 La XP es mejor utilizada en la
implementación de nuevas tecnologías.
Programación Extrema
Ingeniería de Software y Sistemas Computacionales
Universidad Interamericana para el Desarrollo

En la programación extrema se da por supuesto que es imposible prever todo antes de


empezar a codificar. Es imposible capturar todos los requisitos del sistema, saber qué es
todo lo que tiene que hacer ni hacer un diseño correcto al principio. Es bastante normal
hacer un diseño, ponerse a codificar, ver que hay faltantes o errores en el diseño, empezar
a codificar fuera del diseño y al final el código y el diseño, o no se parecen, o hemos
echado un montón de tiempo en cambiar la documentación de diseño para que se
parezca al código.

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.

También podría gustarte