14

Click here to load reader

Metología Agiles Desarrollo Software (XP)

  • Upload
    tuyo-mio

  • View
    16.459

  • Download
    3

Embed Size (px)

DESCRIPTION

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

Citation preview

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) 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

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

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)

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

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

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

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

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

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

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

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

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

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)

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

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

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

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

Page 11: Metología Agiles Desarrollo Software (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

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

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

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

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

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

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