Upload
gloria-lora
View
230
Download
0
Embed Size (px)
Citation preview
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.html8/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.html8/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 ?