Unidad 2 - Parte 5 Metodologias Emergentes

38
METODOLOGIAS EMERGENTES Ingeniera de Software. Ing. Senén Juárez Tinoco

description

Gestion

Transcript of Unidad 2 - Parte 5 Metodologias Emergentes

Page 1: Unidad 2 - Parte 5 Metodologias Emergentes

METODOLOGIAS EMERGENTES

Ingeniera de Software.

Ing. Senén Juárez Tinoco

Page 2: Unidad 2 - Parte 5 Metodologias Emergentes

• WIN WIN.

• Extreme Programming (XP) desde 1999

• Unified Process (UP) Proceso Unificado.

• Rational Unified Process (RUP)

• Agile Unified Process (AUP) desde 2005 por Scott Ambler

• Enterprise Unified Process (EUP) extensiones RUP desde 2002

• Personal software Process

Objetivos del Proyecto

METODOLOGIAS EMERGENTES

Page 3: Unidad 2 - Parte 5 Metodologias Emergentes

Ganar-ganar (win-win). Extiende el modelo de espiral,

haciendo énfasis en la identificación de las condiciones de

ganancia para todas las partes, creando un plan para alcanzar

las condiciones ganadoras y los riesgos correspondientes. Se

consideran cuatro ciclos compuestos de cuatro actividades:

Objetivos del Proyecto

WIN WIN

Page 4: Unidad 2 - Parte 5 Metodologias Emergentes

– Elaborar los objetivos, restricciones y alternativas del proceso y producto del sistema y subsistema.

– Evaluar las alternativas con respecto a los objetivos y restricciones. Identificar y resolver las fuentes principales de riesgo en el proceso y el producto.

– Elaborar la definición del producto y el proceso.

– Planear el siguiente ciclo y actualizar el plan de su ciclo de vida, incluyendo la partición del sistema en subsistemas para ser considerados en ciclos paralelos.

Alcances

ACTIVIDADES

Page 5: Unidad 2 - Parte 5 Metodologias Emergentes

La programación extrema o eXtreme Programming (XP) es una metodología de desarrollo de la ingeniería de software formulada por Kent Beck, autor del primer libro sobre la materia, Extreme Programming Explained: Embrace Change (1999). Es el más destacado de los procesos ágiles de desarrollo de software. Al igual que éstos, la programación extrema se diferencia de las metodologías tradicionales principalmente en que pone más énfasis en la adaptabilidad que en la previsibilidad.

Alcances

Extreme programming

Page 6: Unidad 2 - Parte 5 Metodologias Emergentes

Los defensores de la XP consideran que los cambios de requisitos sobre la marcha son un aspecto natural, inevitable e incluso deseable del desarrollo de proyectos. Creen que ser capaz de adaptarse a los cambios de requisitos en cualquier punto de la vida del proyecto es una aproximación mejor y más realista que intentar definir todos los requisitos al comienzo del proyecto e invertir esfuerzos después en controlar los cambios en los requisitos.

Alcances

Extreme programming

Page 7: Unidad 2 - Parte 5 Metodologias Emergentes

Se puede considerar la programación extrema como la adopción de las mejores metodologías de desarrollo de acuerdo a lo que se pretende llevar a cabo con el proyecto, y aplicarlo de manera dinámica durante el ciclo de vida del software.

Alcances

Extreme programming

Page 8: Unidad 2 - Parte 5 Metodologias Emergentes

Procedimiento

Proceso Unificado (UP, Unified Process)

Es una extensión al proceso objectory (object factory), que tiene sus orígenes en la década de 1980. Se basa especialmente en la especificación de requerimientos de un sistema mediante casos de uso; parte de la arquitectura del sistema, siguiendo un proceso iterativo e incremental; integra aspectos como ciclos, fases, flujos de trabajo, mitigación de riesgo, control de calidad, administración de proyecto y control de configuración.

Page 9: Unidad 2 - Parte 5 Metodologias Emergentes

Procedimiento

Proceso Unificado (UP, Unified Process)

Considera las 4 “P” del desarrollo del software (personas,

proyecto, producto y proceso); y se basa en las creencias de

que para que un sistema sea exitoso se debe saber qué quiere

y necesita el usuario, así como que las arquitecturas de los

sistemas de software deben permitir visualizar un sistema

desde diferentes perspectivas (como los edificios –electricidad,

estructura, etc.-) y que dividir en etapas es práctico porque el

desarrollo y la implementación pueden durar mucho tiempo.

Page 10: Unidad 2 - Parte 5 Metodologias Emergentes

Proceso Unificado Racional (RUP)

Es un proceso de desarrollo de software desarrollado por la empresa Rational Software, actualmente propiedad de IBM. Junto con el Lenguaje Unificado de Modelado UML, constituye la metodología estándar más utilizada para el análisis, diseño, implementación y documentación de sistemas orientados a objetos. El RUP no es un sistema con pasos firmemente establecidos, sino un conjunto de metodologías adaptables al contexto y necesidades de cada organización.

Page 11: Unidad 2 - Parte 5 Metodologias Emergentes

Se basa en 6 principios básicos

• Adaptar el proceso • Equilibrar prioridades • Demostrar valor iterativamente • Colaboración entre equipos • Elevar el nivel de abstracción • Enfocarse en la calidad

Page 12: Unidad 2 - Parte 5 Metodologias Emergentes

Ciclo de Vida

El ciclo de vida RUP es una implementación del Desarrollo en espiral. Fue creado ensamblando los elementos en secuencias semi-ordenadas. El ciclo de vida organiza las tareas en fases e iteraciones. RUP divide el proceso en cuatro fases, dentro de las cuales se realizan varias iteraciones en número variable según el proyecto y en las que se hace un mayor o menor hincapié en las distintas actividades.

Page 13: Unidad 2 - Parte 5 Metodologias Emergentes

Ciclo de vida

Page 14: Unidad 2 - Parte 5 Metodologias Emergentes

Proceso de software racional

El RUP es un producto de Rational (IBM). Se caracteriza por ser iterativo e incremental, estar centrado en la arquitectura y guiado por los casos de uso. Incluye artefactos (que son los productos tangibles del proceso como por ejemplo, el modelo de casos de uso, el código fuente, etc.) y roles (papel que desempeña una persona en un determinado momento, una persona puede desempeñar distintos roles a lo largo del proceso).

Page 15: Unidad 2 - Parte 5 Metodologias Emergentes

Características

El RUP es un producto de Rational (IBM). Se caracteriza por ser iterativo e incremental, estar centrado en la arquitectura y guiado por los casos de uso. Incluye artefactos (que son los productos tangibles del proceso como por ejemplo, el modelo de casos de uso, el código fuente, etc.) y roles (papel que desempeña una persona en un determinado momento, una persona puede desempeñar distintos roles a lo largo del proceso).

Page 16: Unidad 2 - Parte 5 Metodologias Emergentes

La estructura dinámica de RUP es la que permite que éste sea un proceso de desarrollo fundamentalmente iterativo, y en esta parte se ven inmersas las 4 fases descritas anteriormente:

• Inicio (también llamado Incepción o Concepción). • Elaboración. • Desarrollo (también llamado Implementación,

Construcción). • Cierre (también llamado Transición).

Fases

Page 17: Unidad 2 - Parte 5 Metodologias Emergentes

Proceso Unificado Ágil (AUP)

Es una versión simplificada del Proceso Unificado Racional desarrollada por Scott Ambler, que describe una aproximación al desarrollo de aplicaciones que combina conceptos propios del proceso unificado tradicional con técnicas ágiles, con el objetivo de mejorar la productividad. En general, el Proceso Unificado Ágil supone un enfoque intermedio entre XP (eXtreme Programming) y el Proceso Unificado Racional, y tiene la ventaja de ser un proceso ágil que incluye explícitamente actividades y artefactos a los que la mayoría de desarrolladores ya están, de alguna manera, acostumbrados.

Page 18: Unidad 2 - Parte 5 Metodologias Emergentes

Fases

El Proceso Unificado Ágil consta de cuatro fases que el proyecto atraviesa de forma secuencial. Dichas fases son, al igual que en el Proceso Unificado Racional: Iniciación. El objetivo de esta fase es identificar el alcance inicial del proyecto, una arquitectura potencial para el sistema y obtener, si procede, financiación para el proyecto y la aceptación por parte de los promotores del sistema. Elaboración. Mediante esta fase se pretende identificar y validar la arquitectura del sistema. Construcción. El objetivo de esta fase consiste en construir software desde un punto de vista incremental basado en las prioridades de los participantes. Transición. En esta fase se valida y despliega el sistema en el entorno de producción.

Page 20: Unidad 2 - Parte 5 Metodologias Emergentes

Fases

A lo largo de las cuatro fases, se desarrollan actividades relativas a siete disciplinas de manera iterativa: Modelado. Su objeto es entender la lógica de negocio de la aplicación, el dominio del problema del proyecto e identificar una solución viable para el dominio del problema. Implementación. Transformar los modelos en código ejecutable y realizar pruebas básicas, en particular pruebas unitarias. Pruebas. Realizar una evaluación de los objetivos para asegurar la calidad. Esto incluye encontrar defectos, validar que el sistema funciona como fue diseñado y verificar que los requisitos se cumplen. Despliegue. Planear la entrega del sistema y ejecutar el plan para hacer que el sistema quede disponible para los usuarios finales.

Page 21: Unidad 2 - Parte 5 Metodologias Emergentes

Gestión de la configuración. Gestionar el acceso a los artefactos del proyecto. Esto incluye, además de la traza de versiones de los artefactos, el control de cambios y la gestión de los mismos. Gestión del proyecto. Dirige las actividades que tienen lugar dentro del proyecto, incluyendo gestión de riesgos, dirección del personal y coordinación. Entorno. Apoyar el resto del esfuerzo asegurando que los procesos, métodos y herramientas están disponibles para el equipo cuando los necesitan.

Fases

Page 22: Unidad 2 - Parte 5 Metodologias Emergentes

Proceso Unificado Empresarial (EUP)

EUP se refiere a proceso unificado empresarial, es una metodología de desarrollo de software que ayuda a las empresas a crear software de manera estructural y organizada El EUP es una extensión del RUP que agrega dos fases de desarrollo que le hacían falta al RUP que son: • Producción • retiro.

Page 23: Unidad 2 - Parte 5 Metodologias Emergentes

Fase de producción

• Objetivo: Mantener sistemas útiles y productivos después de que hayan

sido enviados a la comunidad de usuarios. Este proceso difiere de una organización a otra e incluso de un sistema a otro, pero el objetivo fundamental sigue siendo el mismo: mantener el sistema en funcionamiento y ayudar a los usuarios a usarlo. • Por lo general se requiere un servicio de asistencia para ayudar a los

usuarios. Las organizaciones que implementan sistemas para uso interno por lo general requieren un personal operativo para ejecutar y supervisar los sistemas.

Page 24: Unidad 2 - Parte 5 Metodologias Emergentes

Fase de producción

La fase de producción, al igual que el resto de la EUP, requiere que cada organización lo adapte a sus necesidades específicas. La fase de producción termina cuando el lanzamiento de un sistema ha sido programado para la jubilación o cuando el soporte ha terminado. • Esto puede ocurrir:

• Inmediatamente después de la liberación de una nueva versión • Algún tiempo después del lanzamiento de una nueva versión • En una fecha que la empresa ha decidido poner fin al soporte.

Page 25: Unidad 2 - Parte 5 Metodologias Emergentes

Fase de Retiro

• Objetivo: Esta fase es la eliminación de un sistema de la producción, y en

ocasiones incluso el sistema completo en sí, una actividad también conocida como sistema de desmantelamiento.

• El retiro de los sistemas es un problema grave que enfrentan las organizaciones, hoy en día muchos sistemas son removidos y remplazados por nuevos sistemas. Las empresas deben tratar de completar este esfuerzo con un impacto mínimo en las operaciones comerciales.

Page 26: Unidad 2 - Parte 5 Metodologias Emergentes

Fase de Retiro

Razones para hacer esto: 1. El sistema esta siendo remplazado completamente 2. El sistema ya no tiene soporte 3. El sistema ya no funciona con el modelo de la empresa 4. El sistema se ha vuelto obsoleto En la mayoría de los casos el retiro de software antiguos se realiza durante el despliegue de la nueva versión del sistema y es solo una tarea mas, técnicamente durante el despliegue del nuevo sistema hay pasos para retirar el sistema anterior.

Page 27: Unidad 2 - Parte 5 Metodologias Emergentes

Disciplina de soporte

El EUP también agrega una nueva disciplina de proyecto a la metodología RUP Operación y soporte.

• Objetivo: Operar y apoyar su software en un entorno de producción.

El enfoque de las operaciones es asegurarse de que el software está funcionando correctamente y que los datos pertinentes se copian y se restauran según sea necesario. El enfoque de soporte es ayudar a los usuarios finales, respondiendo a sus preguntas, el análisis de los problemas que están encontrando con los sistemas de producción, registrando las solicitudes de nuevas funcionalidades, y elaboración y aplicación de soluciones.

Page 28: Unidad 2 - Parte 5 Metodologias Emergentes

Disciplinas empresariales

El EUP extiende el concepto de RUP y usa las mejores practicas empresariales para adaptarse a cualquier empresa • Modelado de negocios. • Gestión del portafolio. • Arquitectura Empresarial. • Reutilización estratégica. • Gestión de Personas. • Administración Empresarial. • Mejorar el proceso de software.

Page 29: Unidad 2 - Parte 5 Metodologias Emergentes

Disciplinas empresariales

Modelado de negocios: Proporciona una visión de las estructuras y procesos de negocio de la organización en relación con un proyecto específico, identificando el alcance apropiado del proyecto y muestra cómo el sistema se adapta y apoya en el negocio Gestión del portafolio: Una portafolio de software es un conjunto de proyectos de TI, tanto propuestos y en curso, así como los sistemas implementados en la organización. Un factor de éxito empresarial depende de la eficiencia y la eficacia de la gestión de una mezcla diversificada del Portafolio de software (conjunto de sistemas de software) y Gestión de programas (mantenimiento de un inventario de software de sistemas instantánea) debe ser una actividad continua durante todo el ciclo de vida del sistema de la empresa como para mitigar los riesgos empresariales

Page 30: Unidad 2 - Parte 5 Metodologias Emergentes

Disciplinas empresariales

Arquitectura Empresarial: Define el estado de la arquitectura de la empresa que incluye marcos arquitectónicos, arquitecturas de referencia y estándares de arquitectura y directrices Reutilización estratégica: La reutilización es una de las cosas grandes de las tecnologías de información, muchas empresas se rinden después de que un proyecto no dio frutos y es porque fallan en el enfoque de la reutilización. Gestión de Personas: Define cómo administrar y mejorar la eficacia de los individuos dentro de su tecnología de la información colocando a cada individuo donde mejor se desenvuelva

Page 31: Unidad 2 - Parte 5 Metodologias Emergentes

Disciplinas empresariales

Administración Empresarial: Define cómo una organización crea, mantiene, administra y distribuye los bienes físicos y de información de una manera segura. Administrador de la red: Es el encargado de administrar y dar soporte a el hardware de la red y a la red Administrador de instalaciones: Es el encargado de administrar las propiedades inmobiliarias de la empresa. Administrador de la información: Se encarga de administrar los bienes informáticos de la empresa Administrador de la seguridad: Encargado de proteger los niveles de seguridad de la empresa Administrador empresarial: Los cuatro roles anteriores están dentro de este ya que es el que tiene que encargarse de que todo lo demás este bien

Page 32: Unidad 2 - Parte 5 Metodologias Emergentes

Disciplinas empresariales

Mejorar el proceso de software: Incluso el departamento mas pequeño de TI necesita un proceso de software que los equipos de trabajo puedan utilizar y adaptar. Si existe un proceso se puede adaptar y mejorar. Es posible que no exista un proceso que se adapte a las necesidades de la empresa, esto no pasa muy seguido por la diferente variedad de procesos disponibles hoy en día pero es posible que descubran que tienen que crear uno nuevo.

Page 33: Unidad 2 - Parte 5 Metodologias Emergentes

Ciclo de vida del EUP

Page 34: Unidad 2 - Parte 5 Metodologias Emergentes

Beneficios del EUP

A diferencia del RUP el EUP busca mejorar las características de las empresas y crear un software bien adaptado y no solo el desarrollo de un software EUP apunta constantemente a disminuir los procesos complejos perpetuando las mejores practicas dentro de la empresa

Page 35: Unidad 2 - Parte 5 Metodologias Emergentes

PSP & TSP

Proceso de software personal & Proceso de software en equipo. PSP es un conjunto de practicas disciplinadas para la gestión del tiempo y mejora de la productividad personal de los programadores o ingenieros de software, en tareas de desarrollo y mantenimiento de sistemas. • Concentrado al trabajo de los ingenieros de manera individual TSP (Team Software Process) proporciona un marco de trabajo de procesos definidos, diseñado hacia gerentes e ingenieros para organizar y producir proyectos de software de gran escala en equipo.

Page 36: Unidad 2 - Parte 5 Metodologias Emergentes

PSP & TSP

Proceso de software personal & Proceso de software en equipo. Esta alineado y diseñado para emplearse en organizaciones con modelos de procesos CMMI (Capability Maturity Model Integration), que es un modelo de mejora de procesos o ISO 15504 Produce software de calidad, donde cada ingeniero debe de trabajar en la necesidad de realizar trabajo de calidad

Page 37: Unidad 2 - Parte 5 Metodologias Emergentes

Objetivos

Lograr una mejora continua en el proceso de desarrollo Medir, estimar, planificar, seguir y controlar el proceso de desarrollo Mejorar la calidad del proceso de desarrollo Buena calidad y mayor productividad Administra el tiempo y la calidad eliminando defectos tempranamente Proporcionar un marco de trabajo para el personal Se demuestra como manejar la calidad desde el principio del trabajo

Page 38: Unidad 2 - Parte 5 Metodologias Emergentes

PSP & TSP