Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL Scrum es una metodología de desarrollo muy...

30
METODOLOGÍAS DE DESARROLLO DE SOFTWARE MODERNAS Ing. Sonia Godoy Hortua 1

Transcript of Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL Scrum es una metodología de desarrollo muy...

Page 1: Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL  Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan,

METODOLOGÍAS DE DESARROLLO DE

SOFTWAREMODERNAS

Ing. Sonia Godoy Hortua 1

Page 2: Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL  Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan,

MODELO SCRUM

ESTRUCTURA DE DESARROLLO AGIL

Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan, sino en la adaptación continua a las circunstancias de la evolución del proyecto.

2

Es un modo de desarrollo de

carácter adaptable más que predictivo.

Orientado a las personas más que

a los procesos.

Emplea la estructura de desarrollo ágil

incremental basada en

iteraciones y revisiones.

Page 3: Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL  Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan,

CARACTERISTICAS

3

INDIVIDUOS E ITERACIONES

SOBRE PROCESOS Y HERRAMIENTAS

SOFTWARE FUNCIONANDO

SOBRE DOCUMENTACION EXTENSIVA

COLABORACION CON EL CLIENTE

SOBRE NEGOCIACIÓN CONTRACTUAL

RESPUESTA ANTE EL CAMBIO

SOBRE SEGUIR UN PLAN

Page 4: Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL  Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan,

ROLES

4

Page 5: Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL  Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan,

Elementos Pila del producto: lista de

requisitos de usuario que se origina con la visión inicial del producto y va creciendo y evolucionando durante el desarrollo.

Pila del sprint: Lista de los trabajos que debe realizar el equipo durante el sprint para generar el incremento previsto.

Incremento: Resultado de cada sprint

5

Page 6: Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL  Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan,

HISTORIA DE USUARIOS

6

Page 7: Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL  Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan,

7

Ing. Sonia G

odoy Hortua

Page 8: Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL  Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan,

EJEMPLO DE METODOLOGIA SCRUM

Page 9: Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL  Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan,

Caso práctico

Un cliente se pone en contacto con una empresa que fabrica robots.

El cliente les realiza el pedido.

Quiero un robot que me sirva de escolta

Page 10: Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL  Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan,

Caso práctico

El Cliente se reune con el Dueño de producto, que toma nota de lo que tiene en su cabeza.

Cliente Dueño de Producto

Page 11: Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL  Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan,

Caso práctico

El Duelo de Producto divide el proyecto en historias que son las que componen la pila de producto.

Dueño de Producto

Pila de Producto

Page 12: Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL  Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan,

Caso práctico

El Scrum Master es un miembro del equipo que tiene el papel de comunicar y gestionar las necesidades del Dueño de Producto y la pila de Sprint.

El Dueño de Producto le entrega la pila de producto para que estimen el coste de creación del producto.

Dueño de Producto Scrum Manager

Page 13: Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL  Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan,

Caso práctico

El equipo se reune para estimar el coste de cada historia de la pila de producto.

En este caso utilizan Planning Poker.

Equipo

Page 14: Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL  Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan,

Caso práctico

El cliente, una vez aprobado el presupuesto, reordena la pila de producto para que el equipo vaya trabajando según la prioridad del cliente.

Cliente

Menos imporantes

Urgentes

Page 15: Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL  Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan,

Caso práctico

El equipo comienza su trabajo desglosando la primera historia de la pila de producto, la cual subdividen en tareas menores para crear la pila de sprint.

Page 16: Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL  Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan,

Caso práctico

La pila de sprint tiene como utilidad fraccionar el trabajo de un periodo de 15 días en tareas mas pequeñas, que tarden como mucho dos días.

Page 17: Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL  Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan,

Caso práctico

Estas tareas se colocan en una pila, la cual prioriza el Dueño de Producto, que ha consultado con el cliente, antes de comenzar el sprint.

Dueño de Producto

Menos imporantes

Urgentes

Page 18: Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL  Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan,

Caso práctico

El equipo comienza el sprint tomando las tareas priorizadas.Una vez concluida una se toma la siguiente de la lista.Se convoca todos los días una reunión del equipo donde se cuenta las tareas realizadas el día anterior y cuales se van a realizar ese día.

Page 19: Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL  Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan,

Caso práctico

Una vez finalizado el sprint, el Dueño de Producto le muestra al cliente el resultado del trabajo realizado.El cliente ya tiene el primer contacto con su encargo y además puede volver a priorizar la pila de producto antes de que comience otro sprint.

ClienteDueño de Producto

Buen trabajo

Page 20: Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL  Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan,

Caso práctico

El equipo de trabajo celebra su buen hacer con una reunión de retrospectiva, donde se analiza lo ocurrido durante el sprint.

Page 21: Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL  Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan,

EXTREME PROGRAMMING. (PROGRAMACIÓN EXTREMA - XP)

¿Qué es XP? Metodología para un ágil desarrollo de software.Programación basada en los deseos del cliente.El equipo lo conforman los jefes de proyecto,

desarrolladores y el cliente.Se rige por valores y principios.

¿CÓMO CONSEGUIR PRODUCIR SW DE CALIDAD ABIERTO AL CAMBIO, ENTREGABLE EN PLAZOS

PEQUEÑOS?

Page 22: Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL  Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan,

PROGRAMACION EXTREMA

22

SCRUM

XP

¿CÓMO CONSEGUIR PRODUCIR SW DE CALIDAD ABIERTO AL CAMBIO, ENTREGABLE EN PLAZOS

PEQUEÑOS?

CONTROL DE CODIGO FUENTE

METAFORAS

PROGRAMACIÓN EN PAREJAS

TRABAJO EN EQUIPO COMPLETO

INTEGRACIÓN CONTINUA

MEJORA DEL DISEÑO

NORMAS DE CODIFICACIÓN

EL CODIGO ES DE TODOS

PLANIFICACIÓN

TEST DEL CLIENTE

VERSIONES PEQUEÑAS

DISEÑO SIMPLE

RITMO SOSTENIBLE

Page 23: Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL  Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan,

CARACTERISTICAS DE XP

Comunicación: Crear software requiere de sistemas comunicados.

Simplicidad: Empezar con lo necesario y requerido y trabajar desde ahí.

Retroalimentacion: Del sistema, del cliente, y del equipo.

Valentia: Programa para hoy y no para mañana.

Respeto: El equipo debe trabajar como uno, sin tomar decisiones repentinas.

Ciclo de la XP

Page 24: Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL  Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan,

EJEMPLO

METODOLOGIA TRADICIONAL

METODOLOGIA AGIL

24

Page 25: Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL  Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan,

DUM

Características:

Proporciona una guía para las actividades de un equipo de desarrollo.

Dirige las tareas de cada desarrollador por separado y del equipo en conjunto.

Especifica los productos que deben desarrollarse.Ofrece criterios para el control, medición de los

productos y actividades del proyecto.

Desarrollo Unificado con Métrica

Page 26: Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL  Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan,

DUM

Las cuatro primeras fases (Inicio, elaboración, construcción, transición) atraviesan cinco flujos de trabajo que son conocidos como iteración:

Captura de

requisitos

Análisis

Diseño

Implementación.

Prueba.

Page 27: Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL  Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan,

Rapid Application Development (Desarrollo rápido de aplicaciones – RAD )

El RAD es un proceso de desarrollo de software, desarrollado inicialmente por James Martin en 1980. El método comprende el desarrollo iterativo, la construcción de prototipos y el uso de utilidades CASE. Tradicionalmente, el desarrollo rápido de aplicaciones tiende a englobar también la usabilidad, utilidad y la rapidez de ejecución

El Desarrollo Rápido de Aplicaciones (DRA) (Rapid Application Development RAD) es un modelo de proceso del desarrollo del software lineal secuencial que enfatiza un ciclo de desarrollo extremadamente corto. DRA es una adaptación a “Alta velocidad” en el que se logra el desarrollo rápido utilizando un enfoque de construcción basado en componentes. Si se comprenden bien los requisitos y se limita el ámbito del proyecto, el proceso DRA permite al equipo de desarrollo crear un “sistema completamente funcional” dentro de periodos cortos de tiempo.

Page 28: Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL  Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan,

Modelado de gestión

Modelado de datos

Modelado de procesos

Generación de aplicaciones

Pruebas y Volumen

De 60 a 90 días

Fases:Ventajas de RAD•Comprar puede ahorrar dinero en comparación con construir. •Los entregables pueden ser fácilmente trasladados a otra plataforma. •El desarrollo se realiza a un nivel de abstracción mayor. •Visibilidad temprana. •Mayor flexibilidad. •Menor codificación manual. •Mayor involucramiento de los usuarios. •Posiblemente menos fallas. •Posiblemente menor costo. •Ciclos de desarrollo más pequeños. •Interfaz gráfica estándar.

Page 29: Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL  Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan,

RATIONAL UNIFIED PROCESS. (PROCESO RACIONAL UNIFICADO - RUP) Es un proceso de desarrollo de

software y junto con el Lenguaje Unificado de Modelado (UML), constituye la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos. RUP es una guía de cómo usar UML de la forma más efectiva. RUP es un refinamiento realizado por Rational Software del más genérico Proceso Unificado.

Es una forma disciplinada de asignar tareas y responsabilidades en una empresa de desarrollo (quién hace qué, cuándo y cómo).

Es también un producto:•Desarrollado y mantenido por Rational.•Actualizado constantemente para tener en cuenta las mejores prácticas de acuerdo con la experiencia.•Su objetivo principal es asegurar la producción de software de calidad dentro de plazos y presupuestos predecibles. Dirigido por casos de uso, centrado en la arquitectura, iterativo (mini-proyectos) e incremental (versiones).

Page 30: Ing. Sonia Godoy Hortua1. ESTRUCTURA DE DESARROLLO AGIL  Scrum es una metodología de desarrollo muy simple, no se basa en el seguimiento de un plan,

AGILE UNIFIED PROCESS. (PROCESO ÁGIL UNIFICADO - AUP)

El Proceso Unificado Agil de Scott Ambler o Agile Unified Process (AUP) en inglés es una versión simplificada del Proceso Unificado de Rational (RUP). Este describe de una manera simple y fácil de entender la forma de desarrollar aplicaciones de software de negocio usando técnicas ágiles y conceptos que aún se mantienen válidos en RUP. El AUP aplica técnicas ágiles incluyendo Desarrollo Dirigido por Pruebas (test driven development – TDD), Modelado Agil, Gestión de Cambios Agil, y Refactorización de Base de Datos para mejorar la productividad.