03. aup

Upload: gloria-lora

Post on 02-Jun-2018

230 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/11/2019 03. AUP

    1/60

    Procesos

    giles

  • 8/11/2019 03. AUP

    2/60

    Introduccin (Modelos)

    1959

    MIL-Q 98581979

    BS 57501987

    ISO 9000

    1997

    TickIT1991

    ISO 9000-3Adaptaciones

    parasoftw.

    1995

    ISO 122071995

    Proy. SPICE

    1993

    CMM-SWModelosespecficos

    parasoftware.

    2003-05

    ISO 15504

    2001

    CMMI

    ModelosCMM

    TR 15504Modelosyestndares

    decalidad

    Modelos genricos Modelos para software

    Trillium

    Bootstrap

    DSDM

    SCRUM

    CRYSTAL

    XP

    ASD

    PP

    AM

    ISD

    19952000

    Manifiestogil

    Tcnicasymtodos

    giles

  • 8/11/2019 03. AUP

    3/60

    Por que Mtodos giles?

    The CHAOS Report [1994]: 84% de proyectos fracasados

    32 % de proyectos cancelados 52 % de proyectos fuera de presupuesto (189% mas)

    16 % de proyectos exitosos En tiempo y presupuesto, estos tienen solo 42% de la

    funcionalidad originalmente pactada.

    Introduccin

  • 8/11/2019 03. AUP

    4/60

    Contexto

    Nandhakumar & Avison 1999 Metodologas tradicionales de desarrollo de sistemas de

    informacin son tratadas principalmente como una ficcinnecesaria para presentar una imagen de control o para

    proveer un estatus simblico. Truex et al. 2000

    Es posible que los mtodos tradicionales sean meramenteideales inalcanzables y hipotticos straw-men que proveenuna gua normativa a situaciones de desarrollo utpicas.

    McCauley 2001 La filosofa en la cual se basan los mtodos orientados a

    procesos establece que los requerimientos de un proyectode software quedan congelados antes de que el diseo y

    desarrollo del software comience.

  • 8/11/2019 03. AUP

    5/60

  • 8/11/2019 03. AUP

    6/60

    Estamos poniendo al descubierto mejores mtodos para desarrollar software, hacindolo yayudando a otros a que lo hagan. Con este trabajo hemos llegado a valorar:

    A los individuos y su interaccin de los procesos y las herramientaspor encima

    El software que funciona de la documentacin exhaustivapor encima

    La colaboracin con el cliente la negociacin contractualpor encima

    La respuesta al cambio seguimiento de un planpor encima

    Aunque hay valor en los elementos de la derecha, valoramos ms los de la izquierda

    Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler,James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C.

    Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas

    (2001)http://agilemanifesto.org/

    Manifiesto gil

  • 8/11/2019 03. AUP

    7/60

    Principios

    Nuestra mayor prioridad essatisfacer al cliente a travs de la entrega

    temprana y continua de software con valor. Aceptamos requisitos cambiantes, incluso en etapas avanzadas. Entregamos software frecuentemente. Los responsables de negocio y los desarrolladores deben trabajar

    juntosdiariamente a lo largo del proyecto.

    Construimos proyectos con profesionales motivados. Conversacin cara a cara. Software que funciona es la principal medida de progreso. Los procesos giles promueven el desarrollo sostenible. La atencin continua a la excelencia tcnica y los buenos diseos

    mejoran la agilidad.

    Simplicidades esencial. Las mejores arquitecturas, requisitos y diseos surgen de equipos que seauto-organizan.

    A intervalos regulares el equipo reflexiona sobre cmo ser msefectivo.

    http://www.agilemanifesto.org/principles.html

    http://www.agilemanifesto.org/principles.htmlhttp://www.agilemanifesto.org/principles.html
  • 8/11/2019 03. AUP

    8/60

  • 8/11/2019 03. AUP

    9/60

    Reflexiones (2)

    Hawrysh & Ruprecht 2000 Una sola metodologa no puede funcionar para

    todo el espectro de proyectos, en vez de eso el

    administrador de cada proyecto deberaidentificar la naturaleza especifica de cadaproyecto y seleccionar la mejor metodologa dedesarrollo aplicable.

    McCauley 2001 Hay una necesidad de ambos mtodos [giles yorientados a procesos] ya que no hay un modelode desarrollo que se ajuste a todos lospropsitos imaginables.

  • 8/11/2019 03. AUP

    10/60

    Cuando un mtodo es gil?

    El desarrollo de software es Incremental

    liberaciones pequeas y ciclos rpidos.

    Cooperativo clientes y desarrolladores trabajando juntos.

    Simple y Directo

    el mtodo es fcil de aprender y modificar. Adaptativo

    es posible realizar cambios de ltimo momento.

  • 8/11/2019 03. AUP

    11/60

    AD - Agile Database Techniques

    AM - Agile Modeling

    ASD - Adaptive Software Development

    AUP - Agile Unified Process

    Crystal

    DSDM - Dynamic Systems Development Method

    FDD - Feature Driven Development

    ISD - Internet Speed Development

    Lean Software Development

    OSS Open Souurce Software

    PP - Pragmatic Programming Scrum

    TDD - Test-Driven Design

    XBreed

    XP - eXtreme Programming

    Algunos Mtodos giles

  • 8/11/2019 03. AUP

    12/60

    Qu es?

    Cundo y cmo surge? Ciclo de vida.

    Fases e hitos.

    AUP

    http://www.ambysoft.com/scottAmbler.html
  • 8/11/2019 03. AUP

    13/60

    Es una versin simplificada del RUP

    Aplica tcnicas giles: TDD: test driven development

    (TFD+refactoring)

    AMDD: agile model driven development

    Agile requirements change management

    Database refactoring

    AUP Qu es?

  • 8/11/2019 03. AUP

    14/60

    1988: Objectory 1.0

    1998: RUP 5.0

    Feb/2004: EUP Sep/2005: AUP

    13/5/2006: v1.1 AUP

    Cundo surge?AUP

  • 8/11/2019 03. AUP

    15/60

    Scott W. Ambler

    1999: Cmo extender RUP?

    2001: Cmo agilizar RUP? 2002: Publica Agile Modeling book AM vs XP

    AM vs RUP 2004: EUP

    2005: AUP

    Cmo surge?AUP

  • 8/11/2019 03. AUP

    16/60

    Ciclo de VidaAUP

  • 8/11/2019 03. AUP

    17/60

    Inicio

    Elaboracin

    Construccin Transicin

    Ciclo de vidaAUP

  • 8/11/2019 03. AUP

    18/60

    Objetivos: Identificar el alcance inicialdel proyecto, proveer una arquitecturapotencial para el sistema, y obtener un

    financiamiento inicial del proyecto y laaceptacin de los stakeholders.

    Ciclo de vida: InicioAUP

  • 8/11/2019 03. AUP

    19/60

    Objetivos: Probar la arquitectura delsistema; hacer un prototipo dearquitectura que elimine los riesgos

    tcnicos para probar que el proyecto esfactible.

    Ciclo de vida: ElaboracinAUP

  • 8/11/2019 03. AUP

    20/60

    Objetivos: De forma regular eincremental, construir software quefuncione y satisfaga las necesidades de

    mayor prioridad de los stakeholders delproyecto.

    Ciclo de vida: ConstruccinAUP

  • 8/11/2019 03. AUP

    21/60

    Objetivos: Validar e instalar el sistema enel ambiente de produccin.

    Ciclo de vida: TransicinAUP

  • 8/11/2019 03. AUP

    22/60

    Fases e hitosAUP

    Elab. Cons. Tran.

    Objetivos

    del ciclo devida (LCO)

    Inicio

    Arquitectura

    del ciclo devida (LCA)

    Capacidad

    operacionalinicial (IOC)

    Lanzamiento

    del producto(PR)

  • 8/11/2019 03. AUP

    23/60

    Inicio Definir alcance del

    proyecto

    Estimar costos y plazos Definir riesgos

    Determinar factibilidad

    del proyecto Preparar el ambiente

    Fases e hitosAUP

    Objetivos del ciclo de vida(LCO)

    Acuerdo del alcance

    Def. inicial de reqs.

    Acuerdo del plan Aceptacin de riesgos

    Aceptacin del proceso

    Factibilidad Plan del proyecto

    Conformidad de la lista

  • 8/11/2019 03. AUP

    24/60

    Elaboracin Identificar arquitectura

    Validar la arquitectura

    Desarrollar el ambienteel proyecto

    Equipo del personal delproyecto

    Fases e hitosAUP

    Arquitectura del ciclode vida (LCA)

    Estabilidad de la visin

    Estabilidad de laarquitectura

    Aceptacin de riesgos

    Factibilidad Plan de proyecto

    Conformidad con la

    empresa

  • 8/11/2019 03. AUP

    25/60

    Construccin Modelado, construccin

    y testeo del sistema

    Creado dedocumentacin deapoyo

    Fases e hitosAUP

    Capacidad operacionalinicial (IOC)

    Estabilidad del sistema Stakeholders preparados

    Aceptacin de riesgos

    Plan de proyecto

    Conformidad con laempresa

  • 8/11/2019 03. AUP

    26/60

    Transicin Test del sistema

    Test de usuarios

    Retrabajo del sistema Instalacin del sistema

    Fases e hitosAUP

    Lanzamiento delproducto (PR)

    Aceptacin por los

    stakeholders delnegocio

    Aceptacin deoperaciones

    Aceptacin de soporte

    Aceptacin de costo yestimaciones

  • 8/11/2019 03. AUP

    27/60

  • 8/11/2019 03. AUP

    28/60

    Modelado El objetivo de esta disciplina es comprender el

    negocio de la organizacin, comprender el

    dominio del problema abordado por elproyecto, e identificar una solucin al mismoque sea viable.

    ModeladoAUP

  • 8/11/2019 03. AUP

    29/60

    No es necesario mucho detalle durante las fases deinicio y elaboracin. Model storming se realiza en el momento para obtener

    los detalles necesarios.

    El objetivo es crear modelos con la profundidadnecesaria para lo que se est haciendo. La mayor parte de los modelos se descarta. Siempre hay que tener en cuenta oportunidades de

    reuso. La participacin activa de los stakeholders es

    fundamental para el xito. Se recomienda la arquitectura en capas.

    RecomendacionesAUP

  • 8/11/2019 03. AUP

    30/60

    Agile Model Driven DevelopmentAUP

  • 8/11/2019 03. AUP

    31/60

    Modelado Fase a Fase

    Inicio Explorar la utilizacin del producto escribiendo casos

    de uso. Identificar los procesos de negocio por medio de la

    creacin de diagramas de flujo de datos. Identificar las principales entidades de negocio y sus

    relaciones. Identificar las principales reglas de negocio y los

    principales requerimientos tcnicos. Comenzar el desarrollo de un glosario que contenga los

    trminos importantes tcnicos y del negocio.

    AUP

  • 8/11/2019 03. AUP

    32/60

    Elaboracin

    Identificar riesgos tcnicos.

    Modelado de la arquitectura.

    Realizar un prototipo de la interfaz de usuario.

    Modelado Fase a FaseAUP

  • 8/11/2019 03. AUP

    33/60

    Construccin Participacin activa del stakeholder y modeladoinclusivo.

    Mostrar los detalles de los casos de uso.

    Explorar reglas de negocios y requerimientos tcnicoscon la misma profundidad. Aplicar model storming para el diseo. Puede resultar til realizar diagramas de secuencia

    UML, modelo de deployment, diagramas de clase UML,modelo de seguridad frente a amenazas, modelos dedatos fsicos.

    Documentar las decisiones de diseo crticas.

    Modelado Fase a FaseAUP

  • 8/11/2019 03. AUP

    34/60

    Transicin Aplicar model storming para intentar comprender la

    causa de defectos detectados.

    Finalizar la documentacin general del sistema.

    Modelado Fase a FaseAUP

  • 8/11/2019 03. AUP

    35/60

    Implementacin Objetivo

    Transformar el modelo realizado en cdigo ejecutable yrealizar tests de nivel bsico, en particular tests unitarios.

    Consejos

    Programacin por pares Desarrollo dirigido por tests (TDD)

    Modelar antes de codificar

    Seguir guas y estndares de codificacin

    Rescribir el cdigo y los esquemas de base de datos

    Tener ambientes de desarrollo separados (sandboxes)

    AUP

  • 8/11/2019 03. AUP

    36/60

  • 8/11/2019 03. AUP

    37/60

    Implementacin - TDD Objetivo

    Escribir cdigo claro y limpio

    Enfoque

    Se debe testear con un

    propsito, y saber porque seesta testeando y hasta que niveltestearlo

    TDD Escribir el test

    Escribir el cdigo para satisfacerel test

    Rescribir el cdigo

    AUP

  • 8/11/2019 03. AUP

    38/60

  • 8/11/2019 03. AUP

    39/60

    Test - FLOOTAUP

  • 8/11/2019 03. AUP

    40/60

  • 8/11/2019 03. AUP

    41/60

  • 8/11/2019 03. AUP

    42/60

  • 8/11/2019 03. AUP

    43/60

    DeploymentAUP

  • 8/11/2019 03. AUP

    44/60

    Deployment Fases

    Inicial:

    - Identificar la liberacin potencial.

    - Comienzo de la planificacin de laliberacin.

    Elaboracin:

    - Actualizar el plan de liberacin.

    AUP

  • 8/11/2019 03. AUP

    45/60

    Deployment Fases

    Construccin:- Desarrollo de los scripts.

    - Desarrollo de las notas de

    liberacin.- Desarrollo inicial de la

    documentacin.

    - Actualizacin del plan.- Liberacin pre-produccin.

    AUP

  • 8/11/2019 03. AUP

    46/60

    Deployment Fases

    Transicin:- Finalizacin del empaquetado del

    sistema.

    - Finalizacin de la documentacin.- Anuncio de la liberacin.

    - Entrenamiento del personal.

    AUP

  • 8/11/2019 03. AUP

    47/60

    AUP define los siguientes:

    DBA, administrador de bases de datos

    Agile Modeler, responsable de crear y desarrollarmodelos.

    Configuration Manager, responsable de proveer

    toda la infraestructura necesaria para el equipo dedesarrollo.

    Deployer, responsable de la liberacin del sistema.

    Roles y Responsabilidades 1AUP

  • 8/11/2019 03. AUP

    48/60

    Developer, escribe, realiza pruebas unitariasy construye el software.

    Process Engineer, desarrolla, adapta y mantiene elproceso de software de la organizacin.

    Project Manager

    Reviewer, evalua los artefactos generados por el

    proyecto.

    Roles y Responsabilidades 2AUP

  • 8/11/2019 03. AUP

    49/60

    Stakeholder

    Technical Writer, responsable de producir ladocumentacin para los stakeholders,

    documentacin operacional, de soporte y parausuarios.

    Test Manager, responsable de la planificacin del

    testeo del sistema.

    Tester, responsable de escribir y ejecutar laspruebas.

    Roles y Responsabilidades 3AUP

  • 8/11/2019 03. AUP

    50/60

    Tool Specialist, responsable de seleccionar,adquirir, configurar las herramientas a utilizar.

    Un mismo rol puede ser asumido por variaspersonas.

    Una persona puede asumir varios roles.

    Roles y Responsabilidades 4AUP

  • 8/11/2019 03. AUP

    51/60

    Entregables

    Consejos Mantener los entregables tan simples y concisoscomo se pueda.

    Se necesita mucha menos documentacin de la quese piensa.

    Trabajar conjuntamente con la gente que crea losentregables, para producir slo lo necesario.

    Documentos giles son justo lo suficientementebuenos.

    Producir documentos es la peor manera decomunicar la informacin.

    Utilizar pizarrones, papel y Wikis para modelar ycapturar la documentacin.

    AUP

  • 8/11/2019 03. AUP

    52/60

    Entegables Minimos

    Sistema Cdigo Fuente Casos de Testeo Scripts de Instalacin

    Documentacin del Sistema Release Notes Modelo de Requerimientos

    Test de Aceptacin, Procesos de Negocio, Dominio,

    Casos de Uso, Interfaz de Usuario Modelo de Diseo El mejor lugar para documentar el diseo es en los

    test unitarios y en el cdigo fuente

    AUP

  • 8/11/2019 03. AUP

    53/60

    Otros

    Oportunidades de Automatizacin Una lista

    Reportes de Defectos

    Un mail o una planilla Excel Modelo de Interfaz de Usuario

    Un papel o una pizarra

    AUP

  • 8/11/2019 03. AUP

    54/60

    AUP

    A P

  • 8/11/2019 03. AUP

    55/60

    Filosofa

    Los integrantes saben lo que hacen. Simple

    Todo es Conciso

    gil Mantener el foco en las actividades de alto

    valor.

    Independiente de la Herramienta Brinda soporte a herramientas CASE

    Customizable

    AUP

    Y E tAUP

  • 8/11/2019 03. AUP

    56/60

    Y Entonces

    Casos de xito ?

    AUP no es para todos, ningn procesolo es. AUP es adecuado si se buscauna versin gil y racionalizada del

    Unified Process.

    AUP

  • 8/11/2019 03. AUP

    57/60

  • 8/11/2019 03. AUP

    58/60

    Enfoque formal o gil? Personal

    Criticidad

    Dinamismo

    Tamao

    Cultura

    % Junior % Senior y Master

    Prdidas posibles

    Nmero de personas

    % Modific. Requisitos / mes

    % adaptacin a entornos caticos

    1

    510

    3050

    10

    30

    50

    70

    90

    300

    100

    30

    10

    3

    0

    10

    20

    30

    40

    35

    30

    25

    20

    15

    Conclusiones

  • 8/11/2019 03. AUP

    59/60

    Pgina oficial CMMI del Software Engineering Institute. (http://www.sei.cmu.edu/cmmi/cmmi.html)

    Pgina para descarga de los modelos CMMI. (http://www.sei.cmu.edu/cmmi/models/models.html)

    SWEBOK: reas de conocimiento de la Ingeniera del software (http://www.swebok.org/)

    Modelos basados en procesos

    Agile Alliance (http://www.agilealliance.org/)

    Scrum (http://www.controlchaos.com/)

    Exreme Programming (http://www.extremeprogramming.org/)

    DSDM (http://www.dsdm.org/)

    Rational Unified Process (http://www-306.ibm.com/software/rational/)

    (http://www-128.ibm.com/developerworks/rational/library/content/RationalEdge/jan01/WhatIstheRationalUnifiedProcessJan01.pdf)

    Agile Modeling (http://www.agilemodeling.com/)

    Feature Driven Development (http://www.featuredrivendevelopment.com/)

    Internet Speed Development (http://www.sei.cmu.edu/pub/documents/02.reports/pdf/02tr020.pdf)

    Modelos giles

    Referencias Nevegapolis: Juan Palacio (http://www.navegapolis.net)

    Manifiesto gil (http://www.agilemanifesto.org/)

    Wikipedia (http://es.wikipedia.org/wiki/Scrum)

    Fuentes

    P t ?

  • 8/11/2019 03. AUP

    60/60

    Preguntas ?