Está en la página 1de 47

2009 DATABASE TEAM -- www.db-team.

com
2009 Hermenegildo Romero -- hromero@db-team.com
Metodologas de Desarrollo
Hermenegildo Romero
2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
Metodologas de desarrollo

Una metodologa de desarrollo de software se
refiere al entorno que se usa para estructurar,
planificar y controlar el proceso de desarrollo de un
sistema de informacin.
Una gran variedad de metodologas se han
desarrollado a lo largo de los aos, cada una de
ellas con sus fortalezas y debilidades.
Una determinada metodologa no es
necesariamente aplicable a todo tipo de proyectos,
mas bien cada tipo de proyecto tiene una
metodologa a la que se adapta mejor.

2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
Metodologas de desarrollo
Una Metodologia de desarrollo de software
consiste en:
Una filosofa de desarrollo de sofware con una base de
procesos de desarrollo de software
Mltiples herramientas, modelos y mtodos, para asistir
en el proceso de desarrollo de software.
Suele estar documentada y alguna clase de
documentacin formal.
Suele estar promovida por algn tipo de organizacin ya
sea esta pblica o privada que es la que se encarga de
promover esta metodologa.

2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
Metodologas de desarrollo
Diferentes enfoques sobre desarrollo de
Software
Cada metodologa de desarrollo tiene ms o menos su
propio enfoque de en lo que debera de consistir un
proyecto de desarrollo de software.
Pero todas ellas se basan en una serie de enfoques
generalistas como son:
Waterfall Model Lineal
Prototyping Iterativo
Incremental combinacin de iterativo y lineal
Spiral Combinacin de iterativo y lineal
Rapid Application Development (RAD) -- iterativo
2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
Waterfall model
Waterfall model
El Waterfall Model o modelo en cascada en el cual
el desarrollo se ve como una serie de escalones
descendentes (como si se tratara de una cascada
de agua) a travs de las distintas fases.
Analisis
Diseo
Desarrollo
Pruebas
Integracin
Mantenimiento
Creada en 1970 por Winston W. Royce

2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
Waterfall model
Waterfall model
Los principios bsicos de este modelo son:
El proyecto se divide en fases secuenciales , se permite
algn tipo de solapamiento entre las distintas fases.
Hace enfasis en la planificacin, los tiempos, fechas
objetivo, presupuestos y en la implantacin del sistema
completo al mismo tiempo.
Se mantiene un frreo control durante la duracin del
proyecto a travs del uso extensivo de documentacin
as como a travs de revisiones y aprobaciones por los
usuarios y gestores del proyecto, al final de cada fase
antes de comenzar la siguiente.

2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
Prototipos
Metodologa de Prototipos
Se conoce as a las actividades de creacin de
prototipos durante el desarrollo de software , los
prototipos son versiones incompletas del producto
que va ha ser desarrollado.
Los principios bsicos son:
No es una metodologa que funcione por si sla, es mas una
via para manejar determinadas fases de una metodologa ms
tradicional y amplia (Incremental, Espiral o RAD)
Intenta reducir el riesgo inherente al proyecto dividiendo el
proyecto en partes ms pequeas.
2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
Prototipos
...prototipos
...principios bsicos
El usuario est ms involucrado a travs del proyecto, y eso
hace que se incremente la aceptacin final del producto por los
usuarios.
Se van realizando maquetas a menor escala siguiendo
una poltica de modificaciones hasta culminar los
requerimientos de los usuarios.
Mientras que la mayora de los prototipos se desarrollan
con la expectativa de ser deshechos, es posible en
algunos casos evolucionar los prototipos hacia el sistema
final

2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
Incremental
Incremental
Combinacin de metodologas iterativas y lineales con el
objetivo primario de reducir los riesgos del proyecto, los
proyectos se dividen en partes mas pequeas, de esta
manera tambin se facilitan los cambios durante el proceso
de desarrollo.
Los principios fundamentales son:
Se realizan una serie de mini-waterfalls, donde todas las fases
del desarrollo en cascada se completan para una pequea
parte del sistema, antes de abordar la siguiente parte.
Los conceptos iniciales del sistema, anlisis de requerimientos,
diseo de arquitectura, etc. Del sistema completo se definen
usando tambin la tcnica de Cascada.
Despus de esto mediante prototipos se van desarrollando las
distintas partes en las que ha sido dividido el proyecto.
Finalmente el proceso culmina con la implantacin del sistema
en su conjunto (otro mini-waterfall)
2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
Espiral
Espiral (Boehm 1988)
Bsicamente consiste en una serie de ciclos que
se repiten en forma de espiral, comenzando
desde el centro. Se suele interpretar como que
dentro de cada ciclo de la espiral se sigue un
Modelo Cascada, pero no necesariamente debe
ser as. Aunque el Espiral puede verse como un
modelo evolutivo que conjuga la naturaleza
iterativa con los aspectos controlados y
sistemticos del Modelo Cascada, con el agregado
de gestin de riegos.
Este sistema est indicado en grandes proyectos.


2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
Espiral
...Espiral
En cada vuelta o iteracin hay que tener en
cuenta:
Los Objetivos: Que necesidad debe cubrir el producto.
Alternativas: Las diferentes formas de conseguir los
objetivos de forma exitosa, desde diferentes puntos de
vista como pueden ser:
1.Caractersticas: experiencia del personal, requisitos a
cumplir, etc.
2.Formas de gestin del sistema.
3.Riesgo asumido con cada alternativa.
Desarrollar y Verificar: Programar y probar el software
2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
Espiral
...Espiral
Si el resultado no es el adecuado o se necesitan mejoras:
Se planifican los siguientes pasos y se comienza un
nuevo ciclo de la espiral, la espiral tiene dos
dimensiones, la radial y la angular.
Angular
Indica el avance del proyecto dentro de un ciclo
Radial
Indica el aumento del coste del proyecto, ya que
con cada nueva iteracin se pasa ms tiempo
desarrollado


2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
Espiral
...Espiral
Al ser un modelo de ciclo de vida orientado a la gestin del
riesgo, se dice que uno de los aspectos fundamentales de su
xito radica en que el equipo que lo aplique tenga la
necesaria experiencia y habilidad para detectar y catalogar
correctamente los riesgos.
2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
Espiral
Para cada ciclo hay cuatro actividades
Determinar o fijar objetivos
Fijar los productos definidos a obtener, requerimientos,
especificaciones, manual de usuario
Fijar las restricciones
Identificacin de riesgos del proyecto y estrategias alternativas para
evitarlos
Anlisis del riesgo
Se estudian todos los riesgos potenciales y se seleccionan una o varias
alternativas propuestas para reducir o eliminar los riesgos.
Desarrollar, verificar y validad (pruebas)
Tareas de la actividad propia y prueba
Anlisis de alternativas e identificacin de resolucin de riesgos
Dependiendo del resultado de la evaluacin de riesgos, se elige un
modelo para el desarrollo, cascada, iterativo, etc...
Planificar
Revisamos todo lo realizado, evalundolo y decidimos si continuamos
con las fases siguientes y planificamos la prxima actividad
2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
Espiral

2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
RAD
RAD (James Martin 1980)
Este mtodo comprende el desarrollo iterativo, la
construccin de prototipos y el uso de herramientas CASE.
Aporta la velocidad del desarrollo , principalmente por el
uso de las herramientas CASE.
La Calidad es otra de sus caractersticas, mediante la
implicacin del usuario en las etapas de anlisis y diseo
Apropiado para proyectos de pequea embergadura
Al igual que con los anteriores divide un proyecto en piezas
ms pequeas
Pone nfasis en el cumplimiento de las expectativas del
negocio, mientras que las carctristicas tecnicas o la
excelencia del desarrollo tiene menos importancia.

2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
RAD
...RAD
El control del proyecto da prioridad a las fases de
desarrollo y define deadlines.
Si el proyecto empieza a excederse en tiempos, se
considera reducir los requerimientos, no aumentar los
tiempos.
Los usuarios estn especialmente involucrados (esto es
imperativo) en las fases de diseo mediante el uso de
sesiones de trabajo (workshops)
Produce documentacin para facilitar la evolucin futura
del producto y el mantenimiento.

2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
Otras Metodologas...
Metodologas de desarrollo orientado a objetos
segn fue diseado por Grady Booch
Este modelo incluye seis diagramas
Clases
Objetos
Transicin y estados
Interaccin
Mdulos
Procesos
2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
Otras Metodologas
Unified Process
Basado en UML
Organizado en cuatro fases
Inicio
Elaboracin
Construccin
Transicin

Una de las versiones ms populares es el RUP (Rational
Unified Process)
2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
RUP
Constituye la metodologa estandar ms utilizada
para el anlisis, implementacin y documentacin
de sistemas orientados a objetos.
RUP no es un sistema cerrado, es un conjunto de
metodologas adaptables al contexto y
necesidades de cada organizacin.
Su ciclo de vida es una implementacin del
Desarrollo en espiral.

2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
RUP
Principales caractersticas
Forma disciplinada de asignar tareas y
responsabilidades (quien hace que, cuando y cmo)
Pretende implementar las mejores prcticas en
Ingeniera de software.
Desarrollo Iterativo
Administracin de requisitos
Uso de arquitectura basada en componentes
Control de cambios
Modelado visual de software
Verificacin de la calidad del software
2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
RUP
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 ej:
El modelo de casos de uso
El modelo de clases
El cdigo fuente
Etc..
Incluye tambin roles que desempean acciones en un
determinado momento.
Una persona puede desempear distintos roles a lo largo del
proceso.
2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
RUP
Est basado en 5 principios clave
Adaptar el proceso
El proceso deber adaptarse a las caractersticas propias del
proyecto u organizacin, El tamao del mismo, as como su tipo
o las regularizaciones que lo condicionen, incluirn en su diseo
especfico.
Tambin se deber tener en cuenta el alcance del proyecto.
Balancear Prioridades
Los requerimientos de los distintos participantes pueden ser
diferentes, contradictorios o disputarse recursos limitados.
Debe encontrarse un balance que satisfaga los deseos de todos.
Debido a este balanceo se podrn corregir desacuerdos en el
futuro.
2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
RUP
...5 principios clave
Demostrar valor iterativamente
Los proyectos se entregan, aunque sea de un modo interno, en
etapas iteradas.
En cada iteracin se analiza la opinin de los inversores, la
estabilidad y calidad del producto, y se refina la direccin del
proyecto, as como tambin los riesgos involucrados.
Elevar el nivel de abstraccin
Persigue el uso de elementos reutilizables tales como los
patrones de software, lenguajes 4GL o frameworks.
Desarrollo con la mente puesta en la reutilizacin del cdigo
Un alto nivel de abstraccin tambin permite discusiones sobre
diversos niveles y soluciones arquitectnicas.


2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
RUP
...5 principios clave
Enfocarse en la calidad
El control de la calidad no debe realizarse al final de cada
iteracin, sino en todos los aspectos de la produccin.
El aseguramiento de la calidad forma parte del proceso de
desarrollo y no de un grupo independiente.
2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
RUP
Ciclo de vida
El ciclo de vida organiza las tareas en fases e
iteraciones.
Se divide en cuatro fases, dentro de las cuales se
realizan varias iteraciones segn el proyecto y en las que
se hace un mayor o menor hincapi en las distintas
actividades.
Iniciacin
Elaboracin
Construccin
Transicin


2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
RUP
... Ciclo de vida
Las primeras iteraciones (en las fases de inicio y
elaboracin) se enfocan hacia la comprensin del
problema y la tecnologa, la delimitacin del mbito del
proyecto, la eliminacin de los riesgos crticos y al
establecimiento de la lnea de base de la arquitectura.
Fase de Iniciacin
Las iteraciones hacen mayor nfasis en actividades de modelado
del negocio y de requerimientos.
Fase de elaboracin
Las iteraciones se orientan al desarrollo de la lnea de base de la
arquitectura, abracan ms los flujos de trabajo de
requerimientos, modelos de negocio, anlisis, diseo e
implementacin orientada a la lnea de base de la arquitectura.
2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
RUP
... Ciclo de vida
Fase de Construccin
Se lleva a cabo la construccin del producto mediante series de
iteraciones.
Para cada iteracin se seleccionan algunos casos de uso, se
refina su anlisis y diseo y se procede a su implementacin y
pruebas.
Se realiza una pequea cascada para cada ciclo.
Se realizan tantas iteraciones como requiera la implementacin
del producto.
Fase de Transicin
Se pretende garantizar que se tiene un producto preparado para
su entrega a los usuarios.

2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
RUP
Secciones
Seccin de Proceso
Modelado de Negocio
Requisitos
Anlisis y diseo
Implementacin
Pruebas
Despliegue
Seccin de Soporte
Gestin del cambio y configuraciones
Gestin del proyecto
Entorno
2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
RUP
2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
RUP
Artefactos
En cada una de sus fases de la estructura esttica
realiza una serie de artefactos que sirven para
comprender mejor tanto el anlisis como del diseo del
sistema.
Fase de Inicio
Documento Visin
Especificacin de requerimientos
Fase de elaboracin
Diagramas de caso de uso
2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
RUP
... Artefactos
Fase de construccin
Trabaja desde cuatro vistas:
Vista lgica
Diagrama de clases
Modelo ER
Vista de implementacin
Diagrama de Secuencia
Diagrama de estados
Diagrama de colaboracin
Vista conceptual
Modelo de dominio
Vista fsica
Mapa de comportamiento HARDWARE



2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
Metodologas giles
Mtodo para desarrollar Software
Caracterstica principal : adaptacin al cambio
Opuesto a mtodos tradicionales (predictivos)
Definen de entrada:
Alcance (funcionalidad, tecnologa, etc..)
Costos
Tiempos (de inicio a fin del proyecto)
Establecen mtodos de monitorizacin y control para
prevenir desvos.
2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
Metodologas giles
Problema
Intangibilidad del software

Solucin
Mtodo tradicional
Bsqueda de un acuerdo inmutable previamente negociado
Mtodo gil
Acuerdo iterativo adaptable a los cambios
2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
Metodologas giles
Iteraciones cortas Entre 2 y cuatro semanas
Se planifica slo cuando ha terminado una
iteracin
2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
Metodologas giles
Cuatro valores del manifiesto gil
Individuos e iteraciones
VS procesos y herramientas
Software funcionando
VS documentacin extensiva
Colaboracin con el cliente
VS negociacin contractual
Respuesta ante el cambio
VS seguir un plan
2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
Metodologas giles
Se puede firmar online en agilemanifesto.org
2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
Metodologas giles
Individuos e iteraciones
Prioridad
Calidad profesional del equipo
Entrega temprana y continua
Cada 2 o 4 semanas se entrega software funcional 100% operativo



VS (tradicional)
Procesos y herramientas
Debe servir de ayuda pero no pueden ser el objetivo

2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
Metodologas giles
Software funcionando
Prioridad
Satisfaccin del cliente
Aportar valor al negocio
Parte del desarrollo (cdigo documentado) es la documentacin del proyecto



VS
Documentacin extensiva
Debe servir de complemento pero no ser un impedimento
2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
Metodologas giles
Colaboracin con el cliente
Prioridad
Participacin con el cliente
Comunicacin directa y continua
En XP el cliente est fsicamente presente en el momento del desarrollo





VS
Negociacin contractual
Slo el cliente conoce lo que da verdadero valor al negocio

2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
Metodologas giles
Respuesta ante el cambio
Prioridad
Aceptar cambios de requerimientos
Ventaja competitiva para el negocio




VS
Seguir un plan
El cliente no est realmente seguro hasta que no prueba el software

2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
Metodologas giles
Hay decenas de metodologas giles
Las mas representativas
SCRUM
KANBAN
eXtreme Programming (XP)
2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
Metodologas giles
SCRUM
Roles
Scrum Master
Dueo del producto
Equipo
Artefactos
Backlog del producto
Backlog de sprint
Incremento de funcionalidad
Procesos
Planificacin
Reunin diaria (15 min)
Revisin
Retrospectiva

2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
Metodologas giles
KANBAN
Origen Japones (TOYOTA)
3 reglas
Mostrar el proceso
Limitar el trabajo en curso (WIP)
Optimizar el flujo de trabajo

Tableros fsicos con columnas
Cola de espera
Anlisis
En cola
En curso
Desarrollo
En cola
En curso
Implementacin
En cola
En curso

2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
Metodologas giles
eXtreme Programming (XP)
Valores
Comunicacin
Simplicidad
Retroalimentacin
Respeto
Coraje
Practicas
Cliente in-situ
Metfora
Refactoring
Entregas cortas
TDD
Semana de 40 horas
Propiedad colectiva
Cdigo Estndar
Programacin de a pares
Integracin continua
Juego de planificacin
2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
Metodologas giles
eXtreme Programming
Refactoring
Modificar el cdigo sin modificar la interfaz ni la experiencia del
usuario
TDD
Primero se realiza el test ese se hace fallar
Se acaban los fallos
Cdigo estndar
Usar las reglas de codificacin estndar del lenguaje de
programacin
Pair Programming
Programacin a pares (2 programadores realizan el mismo
trabajo juntos)
2009 DATABASE TEAM -- www.db-team.com
2009 Hermenegildo Romero -- hromero@db-team.com
Muchas Gracias
Hermenegildo Romero
Database Team
hromero@db-team.com
www.db-team.com

También podría gustarte