METODOLOGÍAS DE DESARROLLO DE SOFTWARE MODERNAS

Slides:



Advertisements
Presentaciones similares
Ciclo de vida de desarrollo de software
Advertisements

Desarrollo en espiral.
VALORACIÓN Y SELECCIÓN DE INVERSIONES EN RECURSOS INFORMÁTICOS
Metodologías ágiles.
Desarrollo de Software Orientado a Objeto Ingeniería de Software Alfonso Vega Is-in-400.blogspot.com.
PROCESO Y MODELOS EN LA INGENIERIA DE SOFTWARE
Guía metodológica para la gestión de proyectos de software en PyMEs que no son fábricas de software por medio de Metodologías ágiles.
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Metodología de Trabajo Aperio: SCRUM Aperio Inducción
METODOLOGIAS AGILES DE CONSTRUCCION DE SOFWARE
Guía metodológica para la gestión de proyectos de software en PyMEs que no son fábricas de software por medio de Metodologías ágiles.
Breve introducción a Scrum
Por: Carlos Aucancela Tatiana Pozo
Modelos de Proceso del Software
Ingeniería del Software
Una explicación de la programación extrema XP
Modelo de Desarrollo XP
Programación Extrema (XP)
Trabajo Práctico Taller de Desarrollo de Proyectos 2 Septiembre 2009.
PROCESO O REUNIONES EN SCRUM BENEFICIOS DE UTILIZAR SCRUM
Ciclos de vida ágiles.  Es una metodología ágil que plantea: ◦ Iteraciones cortas ◦ Entregables periódicos ◦ Colaboración con el cliente full time ◦
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
CICLO DE VIDA DEL SOFTWARE
Ingenieria de software
Gestión de Proyectos Informáticos Sesión N° 5 Ciclo de Vida de un Proyecto Roberto Jijena I.
Entornos de Desarrollo
Modelos de desarrollo de Software
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Ingeniería de Software: Parte 2 Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
VII Congreso de Expotecnología UVM 2007 Jonás A. Montilva C.
Rad-Desarrollo rápido de aplicaciones
¿Cómo nos ayuda GeneXus a mejorar la calidad en el proceso de desarrollo de Software? Ing. Rosario Estévez Ing. Rafael Mon
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
TEMA: DESARROLLO DE UN SISTEMA INFORMÁTICO PARA EL CONTROL DE USO Y EL MANTENIMIENTO DE VEHÍCULOS DE UNA INSTITUCIÓN PÚBLICA AUTOR: EDISON GUAMAN   DIRECTOR:
Pruebas y La Vida del Ciclo de Desarrollo del Software
INTRODUCCIÓN AL PROCESO UNIFICADO DE DESARROLLO DESOFTWARE
Alexander Aristizabal Ángelo flores herrera
Ingeniería de Software
INGENIERÍA DEL SOFTWARE GESTIÓN DE PROYECTOS
UNIVERSITARIO: DAVID MAMANI EL ALTO – LA PAZ – BOLIVIA 2009 CARRERA: ING. DE SISTEMAS MATERIA: INGENIERIA DE SOFTWARE.
Guía metodológica para la gestión de proyectos de software en PyMEs que no son fábricas de software por medio de metodologías ágiles Tatiana Alejandra.
Roles de Open UP.
Scrum Una Alternativa Ágil para el desarrollo de Software
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
METODOLOGIAS DE DESARROLLO DE SOFTWARE
 Capacidad para adaptar el curso del desarrollo a la evolución de los requisitos y a las circunstancias del entorno de los proyectos.
Republica Bolivariana De Venezuela Ministerio Del Poder Popular Para La Educación Universidad Gran Mariscal De Ayacucho Cátedra: Dirección De Operaciones.
PROCESOS DE DESARROLLO DE SOFTWARE
Actividades en el Proceso de desarrollo de Software
Modelo Prescriptivos de proceso
Ingeniería del Software I
Estructurar tus ideas para hacerlas realidad
Ciclo de Vida del Software
Proceso de desarrollo de Software
CONCEPTO DE CICLO DE VIDA 1 En los departamentos de Sistemas se debe definir un marco de referencia común que debe ser:  Pueda ser empleado por todos.
UTFSM - Departamento de Electrónica1 Noviembre de 2003 “Beneficios del Uso de Metodologías en el Desarrollo de Proyectos”
Autor: Reinozo Cuesta Christian Marcelo
Comenzando con las ideas de Barry Boehm y Scott Shultz, James Martin desarrolló el Rapid Application Development durante los años 1980 en IBM y finalmente.
Ingeniería de Software Facultad de Ingeniería Septiembre 2010 Fernando Alsuyet Ariel Illio Matias Baldini.
Software de Comunicaciones
Modelo de procesos de software
ELO-329: Diseño y Programación Orientados a Objetos1 Proceso de Desarrollo de SW Agustín J. González ElO329: Diseño y Programación Orientados a Objeto.
Sobre el Proceso Racional Unificado RUP es un proceso para el desarrollo de un proyecto de un software que define claramente quien, cómo, cuándo y qué.
1 Tema 2: Introducción al proceso unificado de desarrollo de software.
Es una metodología ágil diseñada para el desarrollo de software, basada en la calidad y el monitoreo constante del proyecto. Consiste esencialmente en.
Integrantes: Mejía Zúñiga Yoselin Taco Apaza Pamela Ychuta Torres John.
UNIDAD III. PSP Objetivo: El alumno identificará el Proceso Personal de Software, para medir su desempeño.
Sistemas de calidad en el desarrollo de software.
Entregables del Proyecto
Metodologías de Desarrollo Ágil
Transcripción de la presentación:

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

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. 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. Se comienza con la visión general del producto, especificando y dando detalle a las funcionalidades o partes que tienen mayor prioridad de desarrollo y que pueden llevarse a cabo en un periodo de tiempo breve (normalmente de 30 días). Cada uno de estos periodos de desarrollo es una iteración que finaliza con la producción de un incremento operativo del producto. Estas iteraciones son la base del desarrollo ágil, y Scrum gestiona su evolución a través de reuniones breves diarias en las que todo el equipo revisa el trabajo realizado el día anterior y el previsto para el día siguiente. ESTRUCTURA DE DESARROLLO AGIL

CARACTERISTICAS INDIVIDUOS E ITERACIONES PROCESOS Y HERRAMIENTAS SOBRE SOFTWARE FUNCIONANDO SOBRE DOCUMENTACION EXTENSIVA COLABORACION CON EL CLIENTE SOBRE NEGOCIACIÓN CONTRACTUAL RESPUESTA ANTE EL CAMBIO SEGUIR UN PLAN SOBRE

ROLES Propietario del producto: El responsable de obtener el mayor valor de producto para los clientes, usuarios y resto de implicados. Equipo de desarrollo: grupo o grupos de trabajo que desarrollan el producto. Scrum Manager: gestor de los equipos que es responsable del funcionamiento de la metodología Scrum y de la productividad del equipo de desarrollo.

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

HISTORIA DE USUARIOS

Ing. Sonia Godoy Hortua

EJEMPLO DE METODOLOGIA SCRUM

Un cliente se pone en contacto con una empresa que fabrica robots. 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

Cliente Dueño de Producto 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

Dueño de Producto Pila de Producto 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

Dueño de Producto Scrum Manager 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

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

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. Menos imporantes Cliente Urgentes

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.

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.

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. Menos imporantes Dueño de Producto Urgentes

El equipo comienza el sprint tomando las tareas priorizadas. 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.

Cliente Dueño de Producto 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. Buen trabajo Cliente Dueño de Producto

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.

Extreme Programming. (Programación extrema - XP) ¿CÓMO CONSEGUIR PRODUCIR SW DE CALIDAD ABIERTO AL CAMBIO, ENTREGABLE EN PLAZOS PEQUEÑOS? ¿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.

PROGRAMACION EXTREMA XP ¿CÓMO CONSEGUIR PRODUCIR SW DE CALIDAD ABIERTO AL CAMBIO, ENTREGABLE EN PLAZOS PEQUEÑOS? DISEÑO SIMPLE INTEGRACIÓN CONTINUA CONTROL DE CODIGO FUENTE SCRUM XP PLANIFICACIÓN METAFORAS TEST DEL CLIENTE PROGRAMACIÓN EN PAREJAS NORMAS DE CODIFICACIÓN TRABAJO EN EQUIPO COMPLETO MEJORA DEL DISEÑO EL CODIGO ES DE TODOS VERSIONES PEQUEÑAS RITMO SOSTENIBLE

Caracteristicas de XP Ciclo de la 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

EJEMPLO METODOLOGIA TRADICIONAL METODOLOGIA AGIL

Desarrollo Unificado con Métrica 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.

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.

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.

Fases: Modelado de gestión Modelado de datos Modelado de procesos 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. Fases: Modelado de gestión Modelado de datos Modelado de procesos Generación de aplicaciones Pruebas y Volumen De 60 a 90 días

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

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.