Programación Extrema

Download Report

Transcript Programación Extrema

PROGRAMACIÓN EXTREMA
(eXtreme Programing)
METODOLOGÍA ÁGIL
Las metodologías ágiles (como XP, SCRUM, DSDM, Crystal, etc..)
forman parte del movimiento de desarrollo ágil de sotfware, que se
basan en la adaptabilidad de cualquier cambio como medio para
aumentar las posibilidades de éxito de un proyecto.
DEFINICIÓN XP
La programación extrema es una metodología de desarrollo ligera (o ágil) basada en
una serie de valores y de prácticas de buenas maneras que persigue el objetivo de
aumentar la productividad a la hora de desarrollar programas.
XP (eXtreme Programing) nace como nueva disciplina de desarrollo de software.
La programación extrema se basa en la simplicidad, la comunicación y el reciclado
continuo de código, para algunos no es mas que aplicar una pura lógica.
HISTORIA
 La Programación Extrema, como proceso de creación de software diferente al convencional,
nace de la mano de Kent Beck (gurú de la XP y autor de los libros más influyentes sobre el
tema).
Chrysler Corporation hacía tiempo que estaba desarrollando una aplicación
de nóminas, pero sin demasiado éxito por parte de la gente que tenía en el
proyecto.
 El verano de 1996, Beck entró en nómina en la compañía y se le pidió de
hacer esta aplicación como trabajo. Es en esta aplicación cuando nace la
Programación Extrema como tal.
Beck reconoció que el proceso (o metodología) de creación de software o la
carencia de este era la causa de todos los problemas y llegó a la conclusión
que para proporcionar un proceso que fuera flexible era necesario realizar
ciertos cambios en la estructura o manera de hacer de losprogramadores, los
cuales se tenían que acomodar al cambio a realizar
.¿
EN QUE CONSISTE XP ?
SUS OBJETIVOS.
La satisfacción del cliente. Esta metodología trata de dar al cliente el software
que él necesita y cuando lo necesita. Por tanto, debemos responder muy rápido
a las necesidades del cliente, incluso cuando los cambios sean al final de ciclo
de la programación.
El segundo objetivo es potenciar al máximo el trabajo en grupo. Tanto los jefes
de proyecto, los clientes y desarrolladores, son parte del equipo y están
involucrados en el desarrollo del software.
LAS CUATRO VARIABLES.
 XP define cuatro variables para proyectos de software:
coste, tiempo, calidad y ámbito
PROBLEMAS DEL DESARROLLO DE SOFTWARE.
¿ Cuales son los principales problemas a la hora de desarrollar nuestro software ?
 Retrasos en la planificación: llegada la fecha de entregar el software éste no esta disponible.
 Sistemas deteriorados: el software se ha creado pero después de un par de año el coste de
su mantenimiento es tan complicado que definitivamente se abandona su producción.
 Tasa de defectos: el software se pone en producción pero los defectos son tantos que nadie
lo usa.
 ·Requisitos mal comprendidos: el software no resuelve los requisitos planificados
inicialmente.
 Falsa riqueza: el software hace muchas cosas técnicamente muy interesantes y divertidas,
pero no resuelven el problema de nuestro cliente, ni hace que éste gane mas dinero.
 Cambios de personal: después de unos años de trabajo los programadores comienzan a
odiar el proyecto y lo abandonan.
FASES DE LA METODOLOGÍA XP
 PLANIFICACIÓN.
 XP plantea la planificación como un permanente dialogo entre las partes la empresarial
(deseable) y la técnica (posible). Las personas del negocio necesitan determinar:
 ÁMBITO: ¿ Qué es lo que el software debe de resolver para que este genere valor ?
 PRIORIDAD: ¿ Qué debe ser hecho en primer lugar ?
 COMPOSICIÓN DE VERSIONES: ¿ Cuánto es necesario hacer para saber si el negocio va
mejor con software que sin el ?. En cuanto el software aporte algo al negocio debemos de
tener lista las primeras versiones.
 FECHAS DE VERSIONES: ¿ Cuáles son las fechas en la presencia del software o parte del
mismo pudiese marcar la diferencia ?
El personal del negocio no puede tomar en vació estas decisiones, y el personal
técnico tomará las decisiones técnicas que proporcionan la metería prima para
las decisiones del negocio.
ESTIMACIONES: ¿ Cuanto tiempo lleva implementar una característica ?
CONSECUENCIAS: Informar sobre las consecuencias de la toma de decisiones
por parte del negocio. Por ejemplo el cambiar las bases de datos a Oracle.
PROCESOS: ¿ Cómo se organiza el trabajo y el equipo ?
PROGRAMACIÓN DETALLADA: Dentro de una versión ¿ Qué problemas se
resolverán primero ?
GRACIAS