Metología Agiles Desarrollo Software (XP)

14

Click here to load reader

description

Fundamentos básicos sobre eXtreme Programming, como metodología para desarrollo de software

Transcript of Metología Agiles Desarrollo Software (XP)

Page 1: 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

Page 2: Metología Agiles Desarrollo Software (XP)

Metodologías Ágiles (livianas) para Metodologías Ágiles (livianas) para Desarrollo de Software 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

Page 3: Metología Agiles Desarrollo Software (XP)

Metodologías Ágiles (livianas) para Metodologías Ágiles (livianas) para Desarrollo de Software Desarrollo de Software

.

Se esperan cambios durante el proyecto Se espera que no ocurran cambios de gran impacto durante el proyecto

Énfasis en los aspectos humanos: el individuo y el trabajo en equipo

Énfasis en la definición del proceso: roles, actividades y artefactos

La arquitectura del Software se va definiendo y mejorando a lo largo del proyecto

La arquitectura se define previamente en el proyecto (análisis – diseño)

El Cliente es parte del equipo de desarrollo (además in-situ)

El cliente interactúa con el equipo de desarrollo mediante reuniones

Actores con pocos roles, más genéricos y flexibles

Actores con mayores roles específicos y funcionales

Pocos instrumentos de Documentación de modelos. El modelado es prescindible y hasta desechables.

Mayores instrumentos de Documentación de modelos, el cual es esencial y se requiere su mantenimiento.

Metodologías Ágiles Metodologías Ágiles Metodologías TradicionalesMetodologías Tradicionales

Tomado de Penandes (2002)

Page 4: Metología Agiles Desarrollo Software (XP)

Metodologías Ágiles (livianas) para Metodologías Ágiles (livianas) para Desarrollo de Software 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

Page 5: Metología Agiles Desarrollo Software (XP)

Metodologías Ágiles (livianas) para Metodologías Ágiles (livianas) para Desarrollo de Software 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

Page 6: Metología Agiles Desarrollo Software (XP)

Metodologías Ágiles (livianas) para Metodologías Ágiles (livianas) para Desarrollo de Software Desarrollo de Software

. EXTREME PROGRAMMING (XP)

Requisitos Imprecisoscambiantes

Alto RiesgoTécnico

Enfrentar Cambios

FeedBack

Trabajo enEquipo

RelacionesInterpersona

XP

AD

AP

TA

BIL

IDA

D v

s P

RE

VIS

IBIL

IDA

D

Com

unic

ació

n –

Sim

pli

cid

ad

Ret

roal

imen

taci

ón –

Cor

aje

Page 7: Metología Agiles Desarrollo Software (XP)

Metodologías Ágiles (livianas) para Metodologías Ágiles (livianas) para Desarrollo de Software 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

Page 8: Metología Agiles Desarrollo Software (XP)

Metodologías Ágiles (livianas) para Metodologías Ágiles (livianas) para Desarrollo de Software 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)

Page 9: Metología Agiles Desarrollo Software (XP)

Metodologías Ágiles (livianas) para Metodologías Ágiles (livianas) para Desarrollo de Software 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

Page 10: Metología Agiles Desarrollo Software (XP)

Metodologías Ágiles (livianas) para Metodologías Ágiles (livianas) para Desarrollo de Software Desarrollo de Software

.

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

Planificación de la Entrega

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)

Exploración

ActividadesActividadesFasesFases

Page 11: Metología Agiles Desarrollo Software (XP)

Metodologías Ágiles (livianas) para Metodologías Ágiles (livianas) para Desarrollo de Software Desarrollo de Software

.

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

Producción

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

Iteraciones

ActividadesActividadesFasesFases

Page 12: Metología Agiles Desarrollo Software (XP)

Metodologías Ágiles (livianas) para Metodologías Ágiles (livianas) para Desarrollo de Software Desarrollo de Software

.

ITE

RA

CIÓ

N –

PR

OD

UC

CIÓ

N -

MA

NT

EN

IMIE

NT

O

Page 13: Metología Agiles Desarrollo Software (XP)

Metodologías Ágiles (livianas) para Metodologías Ágiles (livianas) para Desarrollo de Software Desarrollo de Software

. 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

Mantenimiento

ActividadesActividadesFasesFases

Page 14: Metología Agiles Desarrollo Software (XP)

Metodologías Ágiles (livianas) para Metodologías Ágiles (livianas) para Desarrollo de Software Desarrollo de Software

. EXTREME PROGRAMMING (XP)

Casos Prácticos

Software para la evaluación Onlinebajo el enfoque de procesos