Documente Academic
Documente Profesional
Documente Cultură
FACULTAD DE INGENIERA
E.A.P INGENIERIA DE SISTEMAS
Sede Valle Jequetepeque
AUTORES:
CEDRON FLORIAN, Alessandra Mirella
CHOLAN CABANILLAS, Maguin Alfredo
DAVILA VICENCIO, Mara Raysa
NORIEGA CHAFLOQUE, Cesar Gustavo
TERAN CRUZ, Juan Gerardo
DOCENTE:
Ing. Mg. JUAN PEDRO SANTOS FERNNDEZ
GUADALUPE- PER
2015
INTRODUCCION
CAPTULO I:
MARCO TERICO
1.1.METODOLOGA GIL
A principios de la dcada del 90, surgi un enfoque que fue bastante revolucionario
para su momento ya que iba en contra de toda creencia de que mediante procesos
altamente definidos se iba a lograr obtener software en tiempo, costo y con la
requerida calidad. El enfoque fue planteado por primera vez por Martin y se dio a
conocer en la comunidad de Ingeniera de Software con el nombre de RAD o Rapid
Application Development. RAD consista en un entorno de desarrollo altamente
productivo, en el que participaban grupos pequeos de programadores utilizando
herramientas que generaban cdigo en forma automtica tomando como entradas
sintaxis de alto nivel. En general, se considera que este fue uno de los primeros hitos
en pos de la agilidad en los procesos de desarrollo.
Durante 1996, Beck es llamado por Chrysler como asesor del proyecto Chrysler
Comprehensive Compensation (C3) payroll system. Dada la poca calidad del sistema
que se estaba desarrollando, Beck decide tirar todo el cdigo y empezar de cero
utilizando las prcticas que l haba ido definiendo a lo largo del tiempo. El sistema,
que administra la liquidacin de aproximadamente 10.000 empleados, y consiste de
2.000 clases y 30.000 mtodos, es puesto en operacin en Mayo de 1997 casi
respetando el calendario propuesto. Como consecuencia del xito de dicho proyecto,
Kent Beck dio origen a XP iniciando el movimiento de metodologas giles al que se
anexaran otras metodologas surgidas mucho antes que el propio Beck fuera
convocado por Chrysler.
Tras esta reunin se cre The Agile Alliance, una organizacin, sin nimo de lucro,
dedicada a promover los conceptos relacionados con el desarrollo gil de software y
ayudar a las organizaciones para que adopten dichos conceptos. El punto de partida
fue el Manifiesto gil, un documento que resume la filosofa gil.
1.3.EXTREME PROGRAMMING(XP)
1.4.HISTORIA
La Programacin Extrema, como proceso de creacin de software diferente al
convencional, nace de la mano de Kent Beck (gur de la XP y autor de los libros ms
influyentes sobre el tema).
Los autores (o mejor dicho, los propulsores como el propio Kent Beck, Ward
Cunningham o Ron Jeffries entre otros) de la Programacin Extrema, fueron a la web
Portland Pattern Repository y empezaron a hablar de ella y promocionarla, de lo que
era y cmo realizarla. Estos propulsores de la XP hablaban de ella en cada ocasin
que tenan y en cada pgina que, poco o mucho hablara de temas de programacin.
Este hecho, lleg a molestar a buena parte de la comunidad que intentaba discutir
sobre temas de programacin. Fue tanta esta molestia que naci el fenmeno XP Free
Zone (zona libre de XP) en determinadas webs como peticin de no hablar de
Programacin Extrema en ella.
1.5.OBJETIVOS DE XP
Los objetivos de XP son muy simples: la satisfaccin del cliente. Esta metodologa
trata de dar al cliente el software que l necesita y cuando lo necesita. Por tanto,
debemos responder muy rpido a las necesidades del cliente, incluso cuando los
cambios sean al final de ciclo de la programacin.
Potenciar al mximo el trabajo en grupo. Tanto los jefes de proyecto, los clientes y
desarrolladores, son parte del equipo y estn involucrados en el desarrollo del
software.
EstablecerlasmejoresprcticasdeIngenieradeSoftwareenlosdesarrollodeproyectos.
Mejorar la productividad de los proyectos.
Garantizarla Calidad del Software desarrollando, haciendo que este supere las
expectativas del cliente.
Asumir que con cierta planificacin, codificacin y pruebas se puede decidir si se est
siguiendo un camino correcto o equivocado, evitando retroceder cuando sea
demasiado tarde.
1.6.CARACTERSTICAS
Metodologa basada en prueba y error para obtener un software que funcione
realmente.
Fundamentada en Principios.
Expresada en forma de 12 Prcticas (conjunto completo, complementndose
unas a otras).Las cuales son conocidas pero su novedades juntarlas.
Est orientada hacia quien produce y usa el software (el cliente participa muy
activamente)
Reduce el coste del cambio en todas las etapas del ciclo de vida del sistema.
Combinalasquehandemostradoserlasmejoresprcticasparadesarrollarsoftware
, y las lleva al extremo.
Cliente bien definido.
Los requisitos pueden cambiar.
1.7.LA FILOSOFA DE XP
1.8.VALORES EN XP
Para poder implementar las prcticas que presenta XP hay que conocer cules son los
valores principales que hacen a esta mitologa. Estos valores son:
Comunicacin.
Simplicidad.
Feedback.
Coraje.
1.8.1. Comunicacin
1.8.2. Simplicidad
1.8.3. Feedback
Brindar un feedback correcto y preciso hace que se pueda mantener una buena
comunicacin y conocer el estado actual del proyecto.
El feedback trabaja a diferentes escalas de tiempo. Uno es el feedback que se realiza
minuto a minuto. Cuando un cliente escribe sus stories1 los programadores realizan
la estimacin de cada una de ellas y el cliente puede obtener inmediatamente el
feedback sobre la calidad de dichas stories.
El otro tipo de feedback que se realiza es a travs de pequeas entregas del sistema.
De esta manera, el cliente est al tanto del avance del proyecto. Adems, el sistema
es puesto en produccin en menor tiempo, con lo cual los programadores saben si
realizaron un buen trabajo y si sus decisiones fueron acertadas.
1.8.4. Coraje
Obviamente cada uno de los valores antes mencionados tiene una gran interaccin
entre ellos. Como se ve en la siguiente figura la comunicacin, la simplicidad y el
feedback forman el coraje, el cual se convierte en el objetivo de XP. Uno de los lemas
de XP menciona: Si no trabajas al tope de tu capacidad, alguien ms lo est haciendo
y si no llegas a tiempo se comer tu almuerzo.
Esto hace, a que por ejemplo, se tenga el coraje de modificar el cdigo en cualquier
momento por cualquier miembro del equipo sabiendo que no se afectar el correcto
funcionamiento del sistema.
10
11
Exploracin
En esta fase los clientes realizan las story cards que desean que estn para la primera
entrega. Cada story describe una de las funcionalidades que el programa tendr. Al
12
Planificacin
El objetivo de esta fase es fijar la prioridad de cada una de las stories y se establece
cual va a ser el contenido de la primera entrega. Los programadores estiman cuanto
esfuerzo requiere cada story y se establece el cronograma. La duracin del calendario
para la entrega del primer release no suele superar los dos meses. Duracin de la fase
de planificacin en s no toma ms de dos das.
Esta fase incluye varias iteraciones del sistema antes de la entrega del primer relase.
El calendario es dividido en un nmero iteraciones de tal manera de que cada iteracin
tome de una a cuatro semanas de implementacin. En la primera iteracin se crea un
sistema que abarca los aspectos ms importantes de la arquitectura global. Esto se
logra seleccionando las stories que hagan referencia a la construccin de la estructura
de todo el sistema.
El cliente decide que stories van a ser implementadas para cada iteracin. Adems,
se realizan los test funcionales, realizados por el cliente, al final de cada iteracin. Al
final de la ltima iteracin el sistema est listo para ser puesto en produccin.
13
Produccin
Mantenimiento
En esta fase por lo general se necesita un esfuerzo extra de los programadores para
satisfacer los requerimientos del cliente. Por este motivo la velocidad de desarrollo
suele disminuir una vez que el sistema es puesto en produccin. A raz de esto se
requiere incorporar nuevos integrantes al equipo y cambiar la estructura del equipo.
Muerte
Esta ltima fase se acerca una vez que el cliente no tiene ninguna story a ser
implementada. Los requerimientos del sistema deben ser satisfechos en otros aspectos
como ser la performance o la confiabilidad del mismo. Esta es la etapa en la cual no
hay ms cambios en la arquitectura, el diseo o el cdigo y aqu es cuando se realiza
la documentacin correspondiente. Esta fase aparece tambin, cuando el sistema no
da los resultados deseados o se vuelve demasiado caro para seguir siendo
desarrollado.
14
1.11. Principios de XP
Los cuatro valores mencionados anteriormente comunicacin, simplicidad,
feedback y coraje nos brindan un estndar para obtener buenos resultados. Sin
embargo, los valores son muy vagos a la hora de ayudarnos a decidir que prcticas
utilizar. Para ello se necesita destilar estos valores en principios que puedan ser
utilizados.
Realizar grandes cambios en una sola oportunidad no es una buena solucin. Cada
problema debe ser resuelto con una serie de cambios pequeos para poder atacar
dicho problema mucho ms en profundidad.
15
16
CAPITULO II:
FACES DE LA
METODOLOGIA
XP
17
2.1.FASE PLANEACIN
La planeacin es la etapa inicial de todo proyecto en XP. En este punto se comienza
interactuar con el cliente y el resto del grupo de desarrollo para descubrir los
requerimientos del sistema. En este punto se identifican el nmero y tamao de
las iteraciones al igual que se plantean ajustes necesarios a la metodologa segn
las caractersticas del proyecto.
En este apartado se tendrn en cuenta ocho elementos, los cuales son los
siguientes:
Historias De Usuario.
Velocidad Del Proyecto.
Iteraciones.
Entregas Pequeas.
Reuniones.
Roles En XP.
Traslado Del Personal.
Ajuste A XP.
18
Las historias de usuario son utilizadas como herramienta para dar a conocer
los requerimientos del sistema al equipo de desarrollo. Son pequeos textos en
los que el cliente describe una actividad que realizar el sistema; la redaccin de
los mismos se realiza bajo la terminologa del cliente, no del desarrollador, de forma
que sea clara y sencilla, sin profundizar en detalles.
Las historias de usuario tambin son utilizadas para estimar el tiempo que el
equipo de desarrollo tomar para realizar las entregas. En una entrega se puede
desarrollar una o varias historias de usuario, esto depende del tiempo que demore
la implementacin de cada una de las mismas.
2.1.3.
Iteraciones
Por lo general, los proyectos constan de ms de tres etapas, las cuales toman el
nombre de iteraciones, de all se obtiene el concepto de metodologa iterativa. Para
cada iteracin se define un mdulo o conjunto de historias que se van a implementar.
Al final de la iteracin se obtiene como resultado la entrega del mdulo
correspondiente, el cual debe haber superado las pruebas de aceptacin que
establece el cliente para la verificar el cumplimiento de los requisitos. Las tareas
que no se realicen en una iteracin son tomadas en cuenta para la prxima
iteracin, donde se define, junto al cliente, si se deben realizar o si deben ser
removidas de la planeacin del sistema.
19
La duracin de una iteracin vara entre una y tres semanas, al final de la cual habr
una entrega de los avances del producto, los cuales debern ser completamente
funcionales. Estas entregas deben caracterizarse por ser frecuentes.
2.1.5. Reuniones
2.1.6. Roles en XP
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.
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.
20
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.
21
2.1.9. Ajuste a XP
Todos los proyectos tienen caractersticas especficas por lo cual XP puede ser
modificado para ajustarse bien al proyecto en cuestin. Al iniciar el proyecto
se debe aplicar XP tal como es, sin embargo no se debe dudar en modificar
aquellos aspectos en que no funcione. Eso no quiere decir que los desarrolladores
pueden hacer lo que se les antoje. Antes de implementarse un cambio, este debe
ser discutido y aprobado por el grupo.
22
Los
desarrolladores
implementarlas
tienden
predecir
las
necesidades
futuras
concluyendo que tan solo el 10% de las soluciones para el futuro son utilizadas,
desperdiciando tiempo de desarrollo y complicando el diseo innecesariamente.
claridad todos los casos especiales que debe considerar el cdigo a implementar.
De esta forma el desarrollador sabr con completa certeza en qu momento ha
terminado, ya que habrn pasado todas las pruebas.
26
27
Estas pruebas se aplican a todos los mtodos no triviales de todas las clases del
proyecto con la condicin que no se liberar ninguna clase que no tenga asociada
su correspondiente paquete de pruebas. Uno de los elementos ms importantes
en estas es que idealmente deben ser construidas antes que los mtodos mismos,
permitindole al programador tener mxima claridad sobre lo que va a programar
antes de hacerlo, as como conocer cada uno de los casos de prueba que deber
pasar, lo que optimizar su trabajo y su cdigo ser de mejor calidad.
CONCLUCIONES
Ninguna prctica funciona bien por si sola (con la excepcin de las pruebas). Requieren las
otras prcticas para equilibrarse.
La XP brinda no solo ventajas en cuanto a rapidez, sino que promueve habilidades sociales
como la comunicacin, el trabajo en equipo y disciplina.
En XP la comunicacin es vital tanto entre el grupo de desarrollo como con el cliente, el cual
debe formar parte del equipo para mantener una comunicacin fluida y poder de esta forma,
evacuar cualquier tipo de duda que surja con los requerimientos.
XP propone una metodologa gil y concreta, aunque requiere de una nueva menara de
pensar, ver y hacer las cosas, tanto por parte de los gerentes (responsables de la rentabilidad
general del proyecto), como de los desarrolladores y tambin del cliente. La aplicabilidad de
sta metodologa a cada proyecto debera ser analizada en cada caso, teniendo en cuenta el
tamao y tipo de proyecto, as como sus ventajas y desventajas.
29
REFERENCIAS
ECHEVERRY TOBN, Luis Miguel y DELGADO CARMONA, Luz Elena. Caso Prctico
de la Mitologa gil XP al Desarrollo de Software: 2007
Programacin Extrema
CALERO SOLIS, Manuel. Una Explicacin de la Programacin Extrema (XP): 2003
30