Metología Agiles Desarrollo Software (XP)
Click here to load reader
-
Upload
tuyo-mio -
Category
Technology
-
view
16.468 -
download
3
description
Transcript of Metología Agiles Desarrollo Software (XP)
Metodologías Ágiles para Desarrollo de Software
eXtreme Programming (XP)
Universidad de los AndesFacultad de Humanidades y Educación
Maestría en Educación Mención Informática y Diseño Instruccional
Mérida, Julio 2009
Participante:Ramón Torres
Metodologías Ágiles (livianas) Metodologías Ágiles (livianas) para Desarrollo de Software para Desarrollo de Software
. Son un paradigma de Desarrollo de Software basado en procesos
ágiles los cuales intentan evitar los conflictos (retardos, complejidad, conflictividad, costos, otros) de las metodologías tradicionales.
Promueve el logro de iteraciones a lo largo del ciclo de vida del Proyecto, buscando productos de software con bajos costos y
minimizando riesgos
Promueven la comunicación cara a cara entre los miembros del Proyecto y los clientes, evitando el trabajo de documentación
fijado por las metodologías tradicionales
Se fundamenta en trabajo organizado de equipos para la continuaRevisión y Tratamiento de los productos de software alcanzados
en cada iteración - reunión
Son cuestionados y etiquetados como “Indisciplinados”, por elEstilo de trabajo y la poca producción de documentación técnica
Sim
plicid
ad – V
elocidad
– En
trega Prod
uctos - R
etroalimen
tación
Increm
ental – C
ooperativo – S
encillo - A
dap
table
Metodologías Ágiles (livianas) Metodologías Ágiles (livianas) para Desarrollo de Software para Desarrollo de Software
. Metodologías TradicionalesMetodologías Tradicionales Metodologías Ágiles Metodologías Ágiles
Mayores instrumentos de Documentación de modelos, el cual es esencial y se requiere su mantenimiento.
Pocos instrumentos de Documentación de modelos. El modelado es prescindible y hasta desechables.
Actores con mayores roles específicos y funcionales
Actores con pocos roles, más genéricos y flexibles
El cliente interactúa con el equipo de desarrollo mediante reuniones
El Cliente es parte del equipo de desarrollo (además in-situ)
La arquitectura se define previamente en el proyecto (análisis – diseño)
La arquitectura del Software se va definiendo y mejorando a lo largo del proyecto
Énfasis en la definición del proceso: roles, actividades y artefactos
Énfasis en los aspectos humanos: el individuo y el trabajo en equipo
Se espera que no ocurran cambios de gran impacto durante el proyecto
Se esperan cambios durante el proyecto
Tomado de Penandes (2002)
Metodologías Ágiles (livianas) Metodologías Ágiles (livianas) para Desarrollo de Software para Desarrollo de Software
. VALORES DEL MANIFIESTO AGIL VALORES DEL MANIFIESTO AGIL
Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn y otros
Se valora al individuo y las interacciones del equipo de desarrollo
sobre el proceso y las herramientas.
Se valora al desarrollo de software queFunciones más que lograr una
Buena documentación.
Se valora la colaboración con el cliente mas que la negociación
de un contrato
Se valora el responder a los cambiosmás que el seguimiento
Estricto de un plan
Metodologías Ágiles (livianas) Metodologías Ágiles (livianas) para Desarrollo de Software para Desarrollo de Software
. PRINCIPALES METODOLOGÍAS PRINCIPALES METODOLOGÍAS
SCRUM Indicada para proyectos con
rápidos cambios de requisitos
Crystal MethodologiesOrientada al equipo desarrollo y
la reducción de documentos
Dynamic Systems Development Method
(DSDM)Trabajo cooperativo equipo
desarrollo – usuario.
Adaptive Software Development (ASD)
Orientada a componentes deSoftware más que a las tareas
EXTREME PROGRAMMING (XP) Relaciones interpersonales (clave del éxito)
Retroalimentación cliente – equipo Simplicidad de productos software
EXTREME PROGRAMMING (XP) Relaciones interpersonales (clave del éxito)
Retroalimentación cliente – equipo Simplicidad de productos software
Metodologías Ágiles (livianas) Metodologías Ágiles (livianas) para Desarrollo de Software para Desarrollo de Software
. EXTREME PROGRAMMING (XP)
Requisitos Imprecisoscambiantes
Requisitos Imprecisoscambiantes
Alto RiesgoTécnico
Alto RiesgoTécnico
Enfrentar Cambios
Enfrentar Cambios
FeedBackFeedBack
Trabajo enEquipo
Trabajo enEquipo
RelacionesInterpersona
RelacionesInterpersona
XPXP
AD
AP
TA
BIL
IDA
D v
s P
RE
VIS
IBIL
IDA
D
Com
unic
ació
n –
Sim
pli
cida
d
Ret
roal
imen
taci
ón –
Cor
aje
Metodologías Ágiles (livianas) Metodologías Ágiles (livianas) para Desarrollo de Software para Desarrollo de Software
. EXTREME PROGRAMMING (XP)
Elementos de Estudio
HISTORIAS DE USUARIOSHISTORIAS DE USUARIOS
• Especifican requisito de softwareEspecifican requisito de software
• Requiere el apoyo del clienteRequiere el apoyo del cliente
• Tratamiento Dinámico y FlexibleTratamiento Dinámico y Flexible
• Procesada en corto tiempo (programada)Procesada en corto tiempo (programada)
• Precisa la Granularidad del procesoPrecisa la Granularidad del proceso
• Asignan tareas a los programadoresAsignan tareas a los programadores
Metodologías Ágiles (livianas) Metodologías Ágiles (livianas) para Desarrollo de Software para Desarrollo de Software
. EXTREME PROGRAMMING (XP)
Elementos de Estudio
ROLES DE ACTORESROLES DE ACTORES
• Programador Programador
• ClienteCliente
• Encargado de Pruebas (tester)Encargado de Pruebas (tester)
• Encargado de Seguimiento (tracker)Encargado de Seguimiento (tracker)
• Entrenador (coach)Entrenador (coach)
• ConsultorConsultor
• Gestor ( big boss)Gestor ( big boss)
Metodologías Ágiles (livianas) Metodologías Ágiles (livianas) para Desarrollo de Software para Desarrollo de Software
. EXTREME PROGRAMMING (XP)
Elementos de Estudio
PROCESOS PROCESOS
• Definición del valor del negocio Definición del valor del negocio (cliente)(cliente)
• Estimación de recursos Estimación de recursos (Programador)(Programador)
• Seleccionan que construir Seleccionan que construir (cliente)(cliente) según prioridades y recursossegún prioridades y recursos
• Construcción del Producto Construcción del Producto (programador)(programador)
• Reinician el proceso Reinician el proceso (Ambos)(Ambos)
ETAPAS - FASESETAPAS - FASES
Metodologías Ágiles (livianas) Metodologías Ágiles (livianas) para Desarrollo de Software para Desarrollo de Software
. FasesFases ActividadesActividades
Exploración
Plantean las Historia de usuarios (requisitos)Selección y uso de tecnología, herramientas, recursos, otros.Prototipo de Arquitectura del sistemaTrabajo en Corto tiempo (depende de herramientas)
Planificación de la Entrega
Priorizan las Historias de Usuarios (requisitos) y se estiman recursos. Establecen acuerdos de contenidos y cronograma de entrega.Calculan la cantidad de iteraciones - reunionesPlanifican las iteraciones del producto a entregarPrever ajustes al proyecto XP
Metodologías Ágiles (livianas) Metodologías Ágiles (livianas) para Desarrollo de Software para Desarrollo de Software
. FasesFases ActividadesActividades
Iteraciones
Desarrollo del Plan de Iteraciones considerando Historias de usuarios, Velocidad del proyecto, Recursos, Prioridades del cliente.Distribución de iteraciones en tareas de programación.Asignación de iteraciones por parejas de programadoresOrganizan la entrega de resultados/iteración
Producción
Organización de actividades del equipo de Desarrollo.Desarrollo productos simples, funcionales y estandarizadosDesarrollo de pruebas (unitarias y funcionales).Prever reajuste en desarrollo de los productosPuesta en marcha del producto
Metodologías Ágiles (livianas) Metodologías Ágiles (livianas) para Desarrollo de Software para Desarrollo de Software
.
ITE
RA
CIÓ
N –
PR
OD
UC
CIÓ
N -
MA
NT
EN
IMIE
NT
O
Metodologías Ágiles (livianas) Metodologías Ágiles (livianas) para Desarrollo de Software para Desarrollo de Software
. FasesFases ActividadesActividades
Mantenimiento
Organizar tareas de soporte al cliente (puesta en marcha)Actualizaciones según requisitos del cliente (Historias de Usuario)Ajustar o adaptar cambios (requeridos) al proyecto
Metodologías Ágiles (livianas) Metodologías Ágiles (livianas) para Desarrollo de Software para Desarrollo de Software
. EXTREME PROGRAMMING (XP)
Casos Prácticos
Software para la evaluación Onlinebajo el enfoque de procesos