Professional Documents
Culture Documents
PROGRAMACION EXTREMA
Asignatura
Docente
2015
DEDICATORIA
AGRADECIMIENTOS
EPIGRAFE
SUMARIO
I.
DEFINICIN ........................................................................................................... 7
II.
VALORES ................................................................................................................ 8
III.
PRINCIPIOS ............................................................................................................ 8
IV.
V.
Exploracin. ......................................................................................................... 8
Planificacin ........................................................................................................ 8
Iteraciones ............................................................................................................ 9
Produccin ......................................................................................................... 10
Mantenimiento ................................................................................................... 10
Muerte del Proyecto ........................................................................................... 10
VI.
VII.
BIBLIOGRAFA ..................................................................................................................... 18
INTRODUCCION
En el desarrollo de software de nada sirven buenas notaciones y herramientas si no se proveen
directivas para su aplicacin. As, esta dcada ha comenzado con un creciente inters en
metodologas de desarrollo. Hasta hace poco el proceso de desarrollo llevaba asociada un
marcado nfasis en el control del proceso mediante una rigurosa definicin de roles,
actividades y artefactos, incluyendo modelado y documentacin detallada.
Este esquema "tradicional" para abordar el desarrollo de software ha demostrado ser efectivo
y necesario en proyectos de gran tamao (respecto a tiempo y recursos), donde por lo general
se exige un alto grado de ceremonia en el proceso. Sin embargo, este enfoque no resulta ser el
ms adecuado para muchos de los proyectos actuales donde el entorno del sistema es muy
cambiante, y en donde se exige reducir drsticamente los tiempos de desarrollo pero
manteniendo una alta calidad.
Ante las dificultades para utilizar metodologas tradicionales con estas restricciones de tiempo
y flexibilidad, muchos equipos de desarrollo se resignan a prescindir del buen hacer de la
ingeniera del software, asumiendo el riesgo que ello conlleva. En este escenario, las
metodologas giles emergen como una posible respuesta para llenar ese vaco metodolgico.
Por estar especialmente orientadas para proyectos pequeos, las metodologas giles
constituyen una solucin a medida para ese entorno, aportando una elevada simplificacin que
a pesar de ello no renuncia a las prcticas esenciales para asegurar la calidad del producto.
La curiosidad que siente la mayor parte de ingenieros de software, profesores, e incluso
alumnos, sobre las metodologas giles hace prever una fuerte proyeccin industrial. Por un
lado, para muchos equipos de desarrollo el uso de metodologas tradicionales les resulta muy
lejano a su forma de trabajo actual considerando las dificultades de su introduccin e
inversin asociada en formacin y herramientas. Por otro, las caractersticas de los proyectos
para los cuales las metodologas giles han sido especialmente pensadas se ajustan a un
amplio rango de proyectos industriales de desarrollo de software; aquellos en los cuales los
equipos de desarrollo son pequeos, con plazos reducidos, requisitos voltiles, y/o basados en
nuevas tecnologas.
I.
DEFINICIN
Consta de un conjunto de prcticas que a lo largo de los aos han demostrado ser las
mejores prcticas de desarrollo de software, llevadas al extremo y fundamentadas en
un conjunto de valores.
X.P fue inicialmente creada para el desarrollo de aplicaciones dnde el cliente no tiene
una concepcin clara de las funcionalidades que tendr la aplicacin que se
desarrollar. Este desconocimiento podra provocar un cambio constante en los
requisitos que debe cumplir la aplicacin por lo que es necesaria una metodologa gil
como X.P que se adapta a las necesidades del cliente y dnde la aplicacin se va
revisando constantemente.
II. VALORES
La programacin extrema est fundamentada en una serie de valores y principios que la
guan. Los valores representan aquellos aspectos que los autores de XP han considerados
como fundamentales para garantizar el xito de un proyecto de desarrollo de software. Los
cuatro valores son:
1.
2.
3.
4.
Comunicacin
Retroalimentacin
Simplicidad
Coraje
III. PRINCIPIOS
Los principios fundamentales de la programacin extrema se apoyan en los valores antes
mencionados y tambin son cuatro. Se busca:
1.
2.
3.
4.
Retroalimentacin Rpida
Cambio Incremental
Trabajo de Calidad
Asumir Simplicidad
1) El Juego de la Planificacin
Es un espacio frecuente de comunicacin entre el cliente y los programadores. El
equipo tcnico realiza una estimacin del esfuerzo requerido para la implementacin
de las historias de usuario y los clientes deciden sobre el mbito y tiempo de las
entregas y de cada iteracin. Esta prctica se puede ilustrar como un juego, donde
existen dos tipos de jugadores: Cliente y Programador.
El cliente establece la prioridad de cada historia de usuario, de acuerdo con el valor
que aporta para el negocio. Los programadores estiman el esfuerzo asociado a cada
historia de usuario. Se ordenan las historias de usuario segn prioridad y esfuerzo, y se
define el contenido de la entrega y/o iteracin, apostando por enfrentar lo de ms valor
y riesgo cuanto antes.
Este juego se realiza durante la planificacin de la entrega, en la planificacin de cada
iteracin y cuando sea necesario reconducir el proyecto.
2) Pequeas Liberaciones
La idea es producir rpidamente versiones del sistema que sean operativas, aunque
obviamente no cuenten con toda la funcionalidad pretendida para el sistema pero s
que constituyan un resultado de valor para el negocio. Una entrega no debera tardar
ms 3 meses.
3) Metfora
En XP no se enfatiza la definicin temprana de una arquitectura estable para el
sistema. Dicha arquitectura se asume evolutiva y los posibles inconvenientes que se
generaran por no contar con ella explcitamente en el comienzo del proyecto se
solventan con la existencia de una metfora. El sistema es definido mediante una
metfora o un conjunto de metforas compartidas por el cliente y el equipo de
desarrollo. Una metfora es una historia compartida que describe cmo debera
funcionar el sistema. Este conjunto de nombres ayuda a la nomenclatura de clases y
mtodos del sistema.
4) Diseo Simple
Se debe disear la solucin ms simple que pueda funcionar y ser implementada en un
11
comunicacin oral es ms efectiva que la escrita, ya que esta ltima toma mucho
tiempo en generarse y puede tener ms riesgo de ser mal interpretada. En Jeffries
indica que se debe pagar un precio por perder la oportunidad de un cliente con alta
disponibilidad. Algunas recomendaciones propuestas para dicha situacin son las
siguientes: intentar conseguir un representante que pueda estar siempre disponible y
que acte como interlocutor del cliente, contar con el cliente al menos en las reuniones
de planificacin, establecer visitas frecuentes de los programadores al cliente para
validar el sistema, anticiparse a los problemas asociados estableciendo llamadas
telefnicas frecuentes y conferencias, reforzando el compromiso.
VI. COMPARACIN CON RUP-XP
METODOLOGIA RATIONAL
METODOLOGIA EXTREME
UNIFIED PROCESS(RUP)
PROGRAMMING(XP)
RUP Forma disciplinada de asignar tareas XP Nace en busca de simplificar el desarrollo
y responsabilidades en una empresa de del software y que se lograra reducir el costo
desarrollo (quin hace qu, cundo y del proyecto.
cmo).
Mtodo Pesado
Mtodo Ligero:
No produce demasiado overhead sobre las
actividades de desarrollo, y no impide el
avance de nuestro proyectos
Costo de cambio:
Costo Cambio:
Un cambio en las etapas de vida del Reduce el costo del cambio en las etapas de
sistema incrementara notablemente el vida del sistema.
costo.
Requiere
un
grupo
grande
de Se
requiere
un
grupo
pequeo
de
14
para
trabajar
con
esta
Los procesos de RUP estiman tareas y Se harn pruebas todo el tiempo, no slo de
horario del plan midiendo la velocidad de cada nueva clase (pruebas unitarias) sino que
iteraciones concerniente a sus estimaciones tambin los clientes comprobarn que el
originales. Las iteraciones tempranas de proyecto va satisfaciendo los requisitos
proyectos conducidos RUP se enfocan (pruebas funcionales).
fuertemente
sobre
arquitectura
se
ha
probado
arquitectura firme.
Coste
Tiempo
Calidad
Alcance
Comunicacin
Simplicidad
Realimentacin
Coraje
15
Inicio(Define
el
alcance
proyecto)
Elaboracin(definicin,
diseo)
Construccin(implementacin)
Transicin(fin del proyecto
puesta en produccin)
Cada fase concluye
con
HITO(T. Decisiones)
XP
Es una metodologa de desarrollo gil basada Es una metodologa de desarrollo que est
en la administracin del proyecto.
Cada miembro de del equipo trabaja de forma Los miembro del equipo programan en
individual.
parejas.
semanas
Al finalizar un Sprint, las tareas del Sprint Las tareas se van terminando aunque son
Backlog que se hayan realizado y que el susceptibles de ser modificadas durante el
Product Owner (propietario del producto) transcurso de proyecto, incluso, despus de
haya mostrado su conformidad ya no se que funcionen correctamente.
16
17
BIBLIOGRAFIA
http://www.fcad.uner.edu.ar/jai/6JAI/XP_6JAI.pdf
http://programacion-extrema.wikispaces.com/5.+Ciclo+de+vida+y+fases
http://www.willydev.net/descargas/prev/ExplicaXP.pdf
http://www.ecured.cu/index.php/Programaci%C3%B3n_Extrema_(XP)
http://www2.uacj.mx/IIT/CULCYT/mayo-agosto2006/8ArtProg.pdf
http://iie.fing.edu.uy/~josej/docs/XP%20-%20Jose%20Joskowicz.pdf
18