ESTRUCTURA DE DESARROLLO AGIL Scrum es una metodologa de desarrollo muy simple, no se basa en el seguimiento de un plan, sino en la adaptacin continua a las circunstancias de la evolucin del proyecto.
2 Es un modo de desarrollo de carcter adaptable ms que predictivo. Orientado a las personas ms que a los procesos. Emplea la estructura de desarrollo gil incremental basada en iteraciones y revisiones. 3 INDIVIDUOS E ITERACIONES SOBRE PROCESOS Y HERRAMIENTAS SOFTWARE FUNCIONANDO SOBRE DOCUMENTACION EXTENSIVA COLABORACION CON EL CLIENTE SOBRE NEGOCIACIN CONTRACTUAL RESPUESTA ANTE EL CAMBIO SOBRE SEGUIR UN PLAN ROLES 4 Pila del producto: lista de requisitos de usuario que se origina con la visin 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 HISTORIA DE USUARIOS 6 7 I n g .
S o n i a
G o d o y
H o r t u a
EJEMPLO DE METODOLOGIA SCRUM Caso prctico 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 Caso prctico El Cliente se reune con el Dueo de producto, que toma nota de lo que tiene en su cabeza. Cliente Dueo de Producto Caso prctico El Duelo de Producto divide el proyecto en historias que son las que componen la pila de producto. Dueo de Producto Pila de Producto Caso prctico El Scrum Master es un miembro del equipo que tiene el papel de comunicar y gestionar las necesidades del Dueo de Producto y la pila de Sprint.
El Dueo de Producto le entrega la pila de producto para que estimen el coste de creacin del producto. Dueo de Producto Scrum Manager Caso prctico El equipo se reune para estimar el coste de cada historia de la pila de producto.
En este caso utilizan Planning Poker. Equipo Caso prctico El cliente, una vez aprobado el presupuesto, reordena la pila de producto para que el equipo vaya trabajando segn la prioridad del cliente. Cliente Menos imporantes Urgentes Caso prctico 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. Caso prctico La pila de sprint tiene como utilidad fraccionar el trabajo de un periodo de 15 das en tareas mas pequeas, que tarden como mucho dos das. Caso prctico Estas tareas se colocan en una pila, la cual prioriza el Dueo de Producto, que ha consultado con el cliente, antes de comenzar el sprint. Dueo de Producto Menos imporantes Urgentes Caso prctico El equipo comienza el sprint tomando las tareas priorizadas. Una vez concluida una se toma la siguiente de la lista. Se convoca todos los das una reunin del equipo donde se cuenta las tareas realizadas el da anterior y cuales se van a realizar ese da. Caso prctico Una vez finalizado el sprint, el Dueo de Producto le muestra al cliente el resultado del trabajo realizado. El cliente ya tiene el primer contacto con su encargo y adems puede volver a priorizar la pila de producto antes de que comience otro sprint. Cliente Dueo de Producto Buen trabajo Caso prctico El equipo de trabajo celebra su buen hacer con una reunin de retrospectiva, donde se analiza lo ocurrido durante el sprint. Qu es XP? Metodologa para un gil desarrollo de software. Programacin basada en los deseos del cliente. El equipo lo conforman los jefes de proyecto, desarrolladores y el cliente. Se rige por valores y principios.
PROGRAMACION EXTREMA 22 SCRUM XP CONTROL DE CODIGO FUENTE METAFORAS PROGRAMACIN EN PAREJAS TRABAJO EN EQUIPO COMPLETO INTEGRACIN CONTINUA MEJORA DEL DISEO NORMAS DE CODIFICACIN EL CODIGO ES DE TODOS PLANIFICACIN TEST DEL CLIENTE VERSIONES PEQUEAS DISEO SIMPLE RITMO SOSTENIBLE CARACTERISTICAS DE XP Comunicacin: 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 maana. Respeto: El equipo debe trabajar como uno, sin tomar decisiones repentinas. METODOLOGIA TRADICIONAL METODOLOGIA AGIL 24
Caractersticas:
Proporciona una gua 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, medicin de los productos y actividades del proyecto.
Las cuatro primeras fases (Inicio, elaboracin, construccin, transicin) atraviesan cinco flujos de trabajo que son conocidos como iteracin:
Captura de requisitos Anlisis Diseo Implementacin. Prueba. El RAD es un proceso de desarrollo de software, desarrollado inicialmente por James Martin en 1980. El mtodo comprende el desarrollo iterativo, la construccin de prototipos y el uso de utilidades CASE. Tradicionalmente, el desarrollo rpido de aplicaciones tiende a englobar tambin la usabilidad, utilidad y la rapidez de ejecucin El Desarrollo Rpido 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 adaptacin a Alta velocidad en el que se logra el desarrollo rpido utilizando un enfoque de construccin 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. Modelado de gestin Modelado de datos Modelado de procesos Generacin de aplicaciones Pruebas y Volumen De 60 a 90 das Fases: Ventajas de RAD Comprar puede ahorrar dinero en comparacin con construir. Los entregables pueden ser fcilmente trasladados a otra plataforma. El desarrollo se realiza a un nivel de abstraccin mayor. Visibilidad temprana. Mayor flexibilidad. Menor codificacin manual. Mayor involucramiento de los usuarios. Posiblemente menos fallas. Posiblemente menor costo. Ciclos de desarrollo ms pequeos. Interfaz grfica estndar.
Es un proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado (UML), constituye la metodologa estndar ms utilizada para el anlisis, implementacin y documentacin de sistemas orientados a objetos. RUP es una gua de cmo usar UML de la forma ms efectiva. RUP es un refinamiento realizado por Rational Software del ms genrico Proceso Unificado. Es una forma disciplinada de asignar tareas y responsabilidades en una empresa de desarrollo (quin hace qu, cundo y cmo).
Es tambin un producto: Desarrollado y mantenido por Rational. Actualizado constantemente para tener en cuenta las mejores prcticas de acuerdo con la experiencia. Su objetivo principal es asegurar la produccin 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). El Proceso Unificado Agil de Scott Ambler o Agile Unified Process (AUP) en ingls es una versin simplificada del Proceso Unificado de Rational (RUP). Este describe de una manera simple y fcil de entender la forma de desarrollar aplicaciones de software de negocio usando tcnicas giles y conceptos que an se mantienen vlidos en RUP. El AUP aplica tcnicas giles incluyendo Desarrollo Dirigido por Pruebas (test driven development TDD), Modelado Agil, Gestin de Cambios Agil, y Refactorizacin de Base de Datos para mejorar la productividad.