Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Metodologiasagiles PDF
Metodologiasagiles PDF
Los individuos y sus interacciones son ms importantes que los procesos y las
herramientas.
Se puede decir que, este movimiento empez a existir a partir de febrero de 2001, cuando se
reunieron los representantes de cada una de estas metodologas y terminaron poniendo en
comn sus ideas en una declaracin conjunta.
Aunque no es posible extendernos aqu sobre este aspecto, creemos importante al menos
resear una de las asunciones ms importantes e innovadoras que hace XP frente a la mayora
de los mtodos conocidos, y es la referida al coste del cambio. En efecto, siempre ha sido una
verdad universal el hecho de que el coste del cambio en el desarrollo de un proyecto se
incrementaba exponencialmente en el tiempo, como indica la figura 1:
1 de 9
2 de 9
Con el poco tiempo que hace que existe esta metodologa, ya se ha generado un gran alboroto
en la comunidad de ingeniera del software. Hay opiniones de todos los gustos de quienes lo
prueban.
Las opiniones negativas mayoritarias alegan lo siguiente:
Los programadores tienen un acusado sentimiento de posesin del cdigo y esta postura
no encaja con la filosofa de XP.
Los jefes de proyecto tambin expresan su recelo con este mtodo tan poco tradicional.
XP. slo funcionar con gente buena, es decir, profesionales que son capaces de hacer
un buen diseo, sencillo y a la vez fcilmente ampliable.
II.2 PRINCIPIOS.
La Programacin Extrema se basa en 12 principios bsicos agrupados en cuatro categoras:
Retroalimentacin a escala fina.
3 de 9
Proceso de planificacin: en esta fase, el usuario tendr que escribir sus necesidades,
definiendo las actividades que realizar el sistema. Se crear un documento llamado
Historias del usuario (User Stories). Entre 20 y 80 historias (todo dependiendo de la
complejidad del problema) se consideran suficientes para formar el llamado Plan de
Liberacin, el cual define de forma especfica los tiempos de entrega de la aplicacin para
recibir retroalimentacin por parte del usuario. Por regla general, cada una de les Historias
del usuario suelen necesitar de una a tres semanas de desarrollo.
Son muy importantes y tienen que ser una constante las reuniones peridicas durante esta
fase de planificacin. Estas pueden ser a diario, con todo el equipo de desarrollo para
identificar problemas, proponer soluciones y sealar aquellos puntos a los que se les ha de
dar ms importancia por su dificultad o por su punto crtico.
Entendimiento compartido.
Diseo simple: se basa en la filosofa de que el mayor valor de negocio es entregado por el
programa ms sencillo que cumpla los requerimientos. Simple Design se enfoca en
proporcionar un sistema que cubra las necesidades inmediatas del cliente, ni ms ni menos.
Este proceso permite eliminar redundancias y rejuvenecer los diseos obsoletos de forma
sencilla.
4 de 9
Metfora: desarrollada por los programadores al inicio del proyecto, define una historia de
como funciona el sistema completo. XP estimula historias, que son breves descripciones de
un trabajo de un sistema en lugar de los tradicionales diagramas y modelos UML (Unified
Modeling Language). La metfora expresa la visin evolutiva del proyecto que define el
alcance y propsito del sistema.
Las tarjetas CRC (Clase, Responsabilidad y Colaboracin) tambin ayudarn al equipo a
definir actividades durante el diseo del sistema. Cada tarjeta representa una clase en la
programacin orientada a objetos y define sus responsabilidades (lo que ha de hacer) y las
colaboraciones con las otras clases (cmo se comunica con ellas).
Estndar de codificacin: define la propiedad del cdigo compartido as como las reglas
para escribir y documentar el cdigo y la comunicacin entre diferentes piezas de cdigo
desarrolladas por diferentes equipos. Los programadores las han de seguir de tal manera
que el cdigo en el sistema se vea como si hubiera estado escrito por una sola persona.
por dos personas en una misma posicin. Se supone que la mayor calidad del cdigo
escrito de esta manera -el cdigo es revisado y discutido mientras se escribe- es ms
importante que la posible prdida de productividad inmediata.
Frecuente integracin del equipo de programacin con el cliente o usuario. Se
frecuentes.
Refactoring del cdigo, es decir, reescribir ciertas partes del cdigo para aumentar su
cada mdulo en grupos de trabajo distintos, este mtodo promueve el que todo el personal
5 de 9
pueda corregir y extender cualquier parte del proyecto. Las frecuentes pruebas de
regresin garantizan que los posibles errores sern detectados.
Simplicidad en el cdigo: es la mejor manera de que las cosas funcionen. Cuando todo
6 de 9
Tarjetas CRC.
3 Fase: Codificacin.
4 Fase: Pruebas.
Exploracin
En esta fase, los clientes plantean a grandes rasgos las historias de usuario que son de inters
para la primera entrega del producto. Al mismo tiempo el equipo de desarrollo se familiariza con
las herramientas, tecnologas y prcticas que se utilizarn en el proyecto. Se prueba la
tecnologa y se exploran las posibilidades de la arquitectura del sistema construyendo un
prototipo. La fase de exploracin toma de pocas semanas a pocos meses, dependiendo del
tamao y familiaridad que tengan los programadores con la tecnologa.
7 de 9
Iteraciones
Esta fase incluye varias iteraciones sobre el sistema antes de ser entregado. El Plan de Entrega
est compuesto por iteraciones de no ms de tres semanas. En la primera iteracin se puede
intentar establecer una arquitectura del sistema que pueda ser utilizada durante el resto del
proyecto. Esto se logra escogiendo las historias que fuercen la creacin de esta arquitectura,
sin embargo, esto no siempre es posible ya que es el cliente quien decide qu historias se
implementarn en cada iteracin (para maximizar el valor de negocio). Al final de la ltima
iteracin el sistema estar listo para entrar en produccin. Los elementos que deben tomarse en
cuenta durante la elaboracin del Plan de la Iteracin son: historias de usuario no abordadas,
velocidad del proyecto, pruebas de aceptacin no superadas en la iteracin anterior y tareas no
terminadas en la iteracin anterior. Todo el trabajo de la iteracin es expresado en tareas de
programacin, cada una de ellas es asignada a un programador como responsable, pero
llevadas a cabo por parejas de programadores.
Produccin
Mantenimiento
Es cuando el cliente no tiene ms historias para ser incluidas en el sistema. Esto requiere que
se satisfagan las necesidades del cliente en otros aspectos como rendimiento y confiabilidad del
sistema. Se genera la documentacin final del sistema y no se realizan ms cambios en la
arquitectura. La muerte del proyecto tambin ocurre cuando el sistema no genera los beneficios
esperados por el cliente o cuando no hay presupuesto para mantenerlo.
IV. ROLES EN XP
Aunque en otras fuentes de informacin aparecen algunas variaciones y extensiones de roles
XP, en este apartado describiremos los roles de acuerdo con la propuesta original de Beck.
Programador
El programador escribe las pruebas unitarias y produce el cdigo del sistema. Debe existir una
comunicacin y coordinacin adecuada entre los programadores y otros miembros del equipo.
8 de 9
Cliente
El cliente escribe las historias de usuario y las pruebas funcionales para validar su
implementacin. Adems, asigna la prioridad a las historias de usuario y decide cules se
implementan en cada iteracin centrndose en aportar mayor valor al negocio. El cliente es slo
uno dentro del proyecto pero puede corresponder a un interlocutor que est representando a
varias personas que se vern afectadas por el sistema.
Encargado de pruebas (Tester)
El encargado de pruebas ayuda al cliente a escribir las pruebas funcionales. Ejecuta las
pruebas regularmente, difunde los resultados en el equipo y es responsable de las herramientas
de soporte para pruebas.
Encargado de seguimiento (Tracker)
El encargado de seguimiento proporciona realimentacin al equipo en el proceso XP. Su
responsabilidad es verificar el grado de acierto entre las estimaciones realizadas y el tiempo
real dedicado, comunicando los resultados para mejorar futuras estimaciones.
Tambin realiza el seguimiento del progreso de cada iteracin y evala si los objetivos son
alcanzables con las restricciones de tiempo y recursos presentes. Determina cundo es
necesario realizar algn cambio para lograr los objetivos de cada iteracin.
Entrenador (Coach)
Es responsable del proceso global. Es necesario que conozca a fondo el proceso XP para
proveer guas a los miembros del equipo de forma que se apliquen las prcticas XP y se siga el
proceso correctamente.
Consultor
Es un miembro externo del equipo con un conocimiento especfico en algn tema necesario
para el proyecto. Gua al equipo para resolver un problema especfico.
Gestor (Big boss)
Es el vnculo entre clientes y programadores, ayuda a que el equipo trabaje efectivamente
creando las condiciones adecuadas. Su labor esencial es de coordinacin.
BIBLIOGRAFA Y ENLACES
Letelier, P., Penads, M.C: Mtodologas giles para el desarrollo de software: eXtreme Programming
(XP). Laboratorio de Sistemas de Informacin. Departamento de Sistemas Informticos y Computacin.
Facultad de Informtica. Universidad Politcnica de Valencia. Disponible en
http://www.willydev.net/descargas/masyxp.pdf
Programacin Extrema, disponible en http://www.programacionextrema.org/
Manifiesto gil, disponible en http://es.wikipedia.org/wiki/Manifiesto_%C3%81gil
9 de 9