Programacion extrema

Solo disponible en BuenasTareas
  • Páginas : 14 (3395 palabras )
  • Descarga(s) : 0
  • Publicado : 12 de marzo de 2011
Leer documento completo
Vista previa del texto
PROGRAMACIÓN EXTREMA (EXTREME PROGRAMMING, XP)

XP [1] es una metodología ágil centrada en potenciar las relaciones interpersonales como clave para el éxito en desarrollo de software, promoviendo el trabajo en equipo, preocupándose por el aprendizaje de los desarrolladores, y propiciando un buen clima de trabajo. XP se basa en realimentación continua entre el cliente y el equipo de desarrollo,comunicación fluida entre todos los participantes, simplicidad en las soluciones implementadas y coraje para enfrentar los cambios. XP se define como especialmente adecuada para proyectos con requisitos imprecisos y muy cambiantes, y donde existe un alto riesgo técnico.

Los principios y prácticas son de sentido común pero llevadas al extremo, de ahí proviene su nombre. Kent Beck, el padre deXP, describe la filosofía de XP en [1] sin cubrir los detalles técnicos y de implantación de las prácticas. Posteriormente, otras publicaciones de experiencias se han encargado de dicha tarea. A continuación presentare las características esenciales de XP organizadas en los tres apartados siguientes: historias de usuario, roles, proceso y prácticas.

1. Las Historias de Usuario
Las historias deusuario son la técnica utilizada en XP para especificar los requisitos del software. Se trata de tarjetas de papel en las cuales el cliente describe brevemente las El tratamiento de las historias de usuario es muy dinámico y flexible, en cualquier momento historias de usuario pueden romperse, reemplazarse por otras más específicas o generales, añadirse nuevas o ser modificadas. Cada historia deusuario es lo suficientemente comprensible y delimitada para que los programadores puedan implementarla en unas semanas [2].
Respecto de la información contenida en la historia de usuario, existen varias plantillas sugeridas pero no existe un consenso al respecto. En muchos casos sólo se propone utilizar un nombre y una descripción [3] o sólo una descripción [2], más quizás una estimación deesfuerzo en días [4]. Beck en su libro [1] presenta un ejemplo de ficha (customer story and task card) en la cual pueden reconocerse los siguientes contenidos:
fecha, tipo de actividad (nueva, corrección, mejora), prueba funcional, número de historia, prioridad técnica y del cliente, referencia a otra historia previa, riesgo, estimación técnica, descripción, notas y una lista de seguimiento con lafecha, estado cosas por terminar y comentarios.
Una de las interrogantes (que también se presenta cuando se utilizan casos de uso) es ¿cuál es el nivel de granularidad adecuado para una historia de usuario? La respuesta no es tajante. Jeffries en [2] dice que depende de la complejidad del sistema, debe haber al
menos una historia por cada característica importante, y propone realizar una o doshistorias por programador por mes. Si se tienen menos, probablemente sea conveniente dividir las historias, si se tienen más lo mejor es disminuir el detalle y agruparlas. Para efectos de planificación, las historias pueden ser de una a tres semanas de tiempo de programación (para no superar el tamaño de una iteración).
No hay que preocuparse si en un principio no se identifican todas las historias deusuario. Al comienzo de cada iteración estarán registrados los cambios en las historias de usuario y según eso se planificará la siguiente iteración. Las historias de usuario son descompuestas en tareas de programación y asignadas a los programadores para ser implementadas durante una iteración.

2. Roles XP
Aunque en otras fuentes de información aparecen algunas variaciones y extensiones deroles XP, en este apartado describiré los roles de acuerdo con la propuesta original de Beck.
* Programador
El programador escribe las pruebas unitarias y produce el código del sistema. Debe existir una comunicación y coordinación adecuada entre los programadores y otros miembros del equipo.
* Cliente
El cliente escribe las historias de usuario y las pruebas funcionales para validar su...
tracking img