PDF de programación - Programación eXtrema y Software Libre

Imágen de pdf Programación eXtrema y Software Libre

Programación eXtrema y Software Libregráfica de visualizaciones

Actualizado el 23 de Junio del 2018 (Publicado el 14 de Enero del 2017)
1.341 visualizaciones desde el 14 de Enero del 2017
101,5 KB
23 paginas
Creado hace 21a (01/10/2002)
Programación eXtrema y Software

Libre

Gregorio Robles

Universidad Rey Juan Carlos

[email protected]

Jorge Ferrer

Universidad Politécnica de Madrid

[email protected]

Copyright (C) 2002 Gregorio Robles Martínez y Jorge Ferrer Zarzuela. Permitida la redistribución ilimitada de copias
literales y la traducción del texto a otros idiomas siempre y cuando se mantenga esta autorización y la nota de copyright.
Historial de revisiones
Revisión 2.0 - versión V Congreso Hi-
spalinux, Octubre 2002

10 de octubre de 2002

La programación extrema es una metodología de desarrollo ligera basada en una serie de valores y una docena de
prácticas de, llamémoslas así, buenas maneras que propician un aumento en la productividad a la hora de generar
software. Por otro lado, el software libre es un movimiento nacido de la idea de que los usuarios tienen una serie
de derechos sobre el software que permiten modificarlo, adaptarlo y redistribuirlo. Estas características han hecho
que el desarrollo de software libre haya desembocado en unos métodos de desarrollo informales similares a los que
se pregonan en la programación extrema y que serán presentados, estudiados y comparados en este artículo. Se hará
especial énfasis en las diferencias que hay entre los dos métodos y lo que puede aprender el software libre de la
programación extrema.

Tabla de contenidos

1. Sobre este documento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. La Programación Extrema
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.1. El proceso de desarrollo extremo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2. Valores de la programación extrema
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3. Principios de la programación extrema
2.4. Prácticas de la programación extrema
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5. Conclusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3. El Software Libre

1

4. Software Libre y Programación Extrema

3.1. El modelo de desarrollo de software libre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2. Herramientas de desarrollo
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3. Conclusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.1. Características intrínsecas de programación extrema en el software libre
. . . . . . . . . . . . . . . . . . . . . 13
4.2. Prácticas de difícil adaptación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.3. Prácticas interesantes
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.4. Desarrollo distribuido y programación extrema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.5. Interrogantes y retos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

5. Conclusiones
6. Referencias (en orden alfabético)
7. Bibliografía y otras direcciones de interés

1. Sobre este documento

En este artículo se hará una introducción tanto de la programación extrema como del software libre. Aunque serán dos
presentaciones bastante amplias, no se pretende llegar a un gran nivel de detalle. Existen multitud de artículos y libros
sobre programación extrema y software libre que tratan ambos temas de una manera mucho más extensa; alguno de
los artículos y libros se pueden encontrar en el apartado dedicado a las referencias y direcciones de interés al final de
este documento.

Después de dar a conocer en qué consisten la programación extrema y el software libre se procederá a compararlos, a
ver qué prácticas son comunes, así como en qué aspectos difieren o serían necesarias modificaciones para poder llegar
a compaginarlas. La comparación desembocará en un último punto en el que se muestran las conclusiones que el autor
ha sacado de la elaboración del estudio.

2. La Programación Extrema

La programación extrema se basa en una serie de reglas y principios que se han ido gestando a lo largo de toda
la historia de la ingeniería del software. Usadas conjuntamente proporcionan una nueva metodología de desarrollo
software que se puede englobar dentro de las metodologías ligeras, que son aquéllas en la que se da prioridad a las
tareas que dan resultados directos y que reducen la burocracia que hay alrededor tanto como sea posible (pero no más)
[Fowler]. La programación extrema, dentro de las metodologías ágiles, se puede clasificar dentro de las evolutivas
[Harrison].

Una de las características de eXtreme Programming es que muchos de, si no todos, sus ingredientes son de sobra
conocidos dentro de la rama de la ingeniería del software desde hace tiempo, incluso desde sus comienzos. Los
autores de han seleccionado los que han considerados como los mejores y han profundizado en sus relaciones y en
cómo se refuerzan unos a otros. El resultado ha sido una metodología única y compacta. Por eso, aunque se pueda

2

alegar que la programación extrema no se base en principios nada nuevos, se ha de aclarar que, en conjunto, es una
nueva forma de ver el desarrollo de software.

Aunque, como ya se ha comentado, la programación extrema se basa en unos valores, unos principios fundamentales
y unas prácticas, en este artículo no se van a enumerar así de primeras, ya que el autor considera que no es la mejor
forma de presentarlos. Los principios y prácticas no se han hecho a priori o porque sí, sino que tienen un porqué a
partir de una forma global de desarrollar software que, al menos en teoría, parece ser más eficiente.

Por tanto, en este artículo se presentará la programación extrema desde un punto de vista práctico para luego dar paso
a enunciar los valores y principios que se han extraído y las prácticas que hacen que se lleven a buen fin. La idea
es seguir que el lector pueda seguir en los siguientes párrafos un proceso de desarrollo extremo tal y como debería
darse en un equipo de desarrollo que siguiera la metodología XP. De esta forma se irán detallando y explicando las
diferentes técnicas utilizadas, así como su razón de ser.

Una vez que hayamos visto el proceso de desarrollo extremo, los valores, principios y prácticas serán evidentes y no
requerirán mucho detenimiento.

2.1. El proceso de desarrollo extremo

La programación extrema parte del caso habitual de una compañía que desarrolla software, generalmente software a
medida, en la que hay diferentes roles: un equipo de gestión, un equipo de desarrolladores y los clientes. La relación
con el cliente es totalmente diferente a lo que se ha venido haciendo en las metodologías tradicionales que se basan
fundamentalmente en una fase de captura de requisitos previa al desarrollo y una fase de validación posterior al mismo.

2.1.1. Interacción con el cliente

En la programación extrema al cliente no sólo se le pide que apoye al equipo de desarrollo, en realidad podríamos
decir que es parte de él. Su importancia es capital a la hora de abordar las historias de los usuarios y las reuniones
de planificación, como veremos más adelante. Además, será tarea suya realimentar al equipo de desarrolladores
después de cada iteración con los problemas con los que se ha encontrado, mostrando sus prioridades, expresando
sus sensaciones... Existirán métodos como pruebas de aceptación que ayudarán a que la labor del cliente sea lo más
fructífera posible.

En resumen, el cliente se encuentra mucho más cercano al proceso de desarrollo. Se elimina la fase inicial de captura
de requisitos y se permite que éstos se vayan definiendo de una forma ordenada durante el tiempo que dura el proyecto.
El cliente puede cambiar de opinión sobre la marcha y a cambio debe encontrarse siempre disponible para resolver
dudas del equipo de desarrollo y para detallar los requisitos especificados cuando sea necesario.

El proceso de captura de requisitos de XP gira entorno a una lista de características que el cliente desea que existan en
el sistema final. Cada una de estas características recibe el nombre de historias de usuarios y su definición consta de
dos fases:

3

En la primera fase el cliente describe con sus propias palabras las características y el responsable del equipo de
desarrollo le informa de la dificultad técnica de cada una de ellas y por lo tanto de su coste. A través del diálogo
resultante el cliente deja por escrito un conjunto de historias y las ordena en función de la prioridad que tienen para él
  • Links de descarga
http://lwp-l.com/pdf1373

Comentarios de: Programación eXtrema y Software Libre (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad