Académique Documents
Professionnel Documents
Culture Documents
METODOLOGAS GILES
1
Roberth G. Figueroa, UTPL, Loja, rgfigueroa@utpl.edu.ec
2
Camilo J. Sols, UTPL, Loja, cjsolis@utpl.edu.ec
3
Armando Cabrera S,Docente-Investigador UTPL,Loja, aacabrera@utpl.edu.ec
1
RUP es un proceso formal: Provee un acercamiento FIGURA 2.
disciplinado para asignar tareas y responsabilidades dentro MODELO DE EQUIPO DE MSF
de una organizacin de desarrollo. Su objetivo es asegurar
la produccin de software de alta calidad que satisfaga los
requerimientos de los usuarios finales (respetando
cronograma y presupuesto). Fue desarrollado por Rational
Software, y est integrado con toda la suite Rational de
herramientas. Puede ser adaptado y extendido para
satisfacer las necesidades de la organizacin que lo adopte.
(Customizacin). Es guiado por casos de uso y centrado en
la arquitectura, y utiliza UML como lenguaje de notacin.
Fases
Las cuatro fases del ciclo de vida son:
Concepcin
Elaboracin
Construccin
Transicin Visin y Alcances:
2
traspasa el proyecto al personal soporte y operaciones, y Laboratorio, Documentacin, Logstica y
obtiene la aprobacin final del cliente. Coordinacin.
Modelo de roles Elaboracin del Plan de Trabajo: deben marcarse
fechas y contenidos para esta fase y las
El modelo de equipos de MSF (MSF team model) fue siguientes. Los mecanismos y protocolos de
desarrollado para compensar algunas de las desventajas intercambio de informacin y coordinacin deben
impuestas por las estructuras jerrquicas de los equipos en quedar suficientemente bien establecidos y
los proyectos tradicionales. consensuados.
Elaboracin de la matriz de Riesgos y Plan de
Los equipos organizados bajo este modelo son pequeos y Contingencia: los principales riesgos detectados
multidisciplinarios, en los cuales los miembros comparten deben tener un plan de mitigacin y actuacin y
responsabilidades y balancean las destrezas del equipo revisarse con periodicidad.
para mantenerse enfocados en el proyecto que estn Para un proyecto de migracin a Windows 2000 podra
desarrollando. Comparten una visin comn del proyecto estimarse que los trabajos indicados pueden requerir en
y se enfocan en implementar la solucin, con altos torno a 20 jornadas de trabajo y la intervencin de un
estndares de calidad y deseos de aprender. Consultor de Microsoft junto con el equipo de trabajo que
formen El cliente y el Partner.
El modelo de equipos de MSF tiene seis roles que Fase 2 - Planificacin y Prueba de Concepto
corresponden a las metas principales de un proyecto y son
responsables por las mismas. Cada rol puede estar Deben alcanzarse los siguientes objetivos e hitos:
compuestos por una o ms personas, la estructura circular Documento de Planificacin y Diseo de
del modelo, con valos del mismo tamao para todos los Arquitectura: es el documento principal, donde se
roles, muestra que no es un modelo jerrquico y que cada describen en detalle los aspectos funcionales y
todos los roles son igualmente importantes en su aporte al operativos de la nueva plataforma. La aprobacin
proyecto. Aunque los roles pueden tener diferentes niveles de este documento es el hito principal de esta
de actividad durante las diversas etapas del proyecto, fase, y supone la directriz ltima de todos los
ninguno puede ser omitido. trabajos tcnicos, que, a partir de ese momento,
deben ser consistentes con esta Gua. Si en el
La comunicacin se pone en el centro del crculo para curso de las fases sucesivas fuera necesario
mostrar que est integrada en la estructura y fluye en todas revisar estos contenidos, se deber hacer por
direcciones. El modelo apoya la comunicacin efectiva y acuerdo y conocimiento de todo el equipo de
es esencial para el funcionamiento del mismo trabajo y se llevar un registro de versiones que
permita hacer un seguimiento adecuado de estas
revisiones.
Ejemplo de metodologa MSF aplicada Documento de Plan de Laboratorio - Prueba de
Concepto: la descripcin del contenido del
Como ejemplo de una aplicacin de metodologa MSF a laboratorio de prueba de concepto, los diversos
un proyecto, a continuacin se describe el contenido de escenarios a simular, los criterios de validez, el
cada una de las fases y, en la medida de lo posible, un control de incidencias y las mtricas de calidad
detalle de acciones concretas y estimacin de carga de son objetivos a cubrir en este documento. Es un
trabajo en trminos de jornadas, nmero de personas documento dinmico, en el que se recoge la idea
implicadas y perfil de las mismas. El proyecto ejemplo se y la experiencia prctica al llevarla a cabo en
trata de una implantacin de infraestructuras, en concreto, entorno controlado y aislado. La etapa de prueba
migracin a Windows 2000 de una red de servidores. de laboratorio concluye cuando la maqueta ofrece
todos los servicios y funciones descritos en el
Fase 1 - Estrategia y alcance Documento de Alcance y Estrategia, y su grado
de estabilidad y rendimiento es considerado como
En esta fase deberan tener lugar los siguientes trabajos: "suficiente".
Elaboracin y aprobacin del Documento de
Alcance y Estrategia definitivo: debe ser un Habitualmente, en las propuestas de preventa no se pueden
documento de consenso con la participacin del indicar con precisin parmetros como el esfuerzo tcnico,
mayor nmero de agentes implicados en el tiempo o coste definitivo que puede suponer esta fase. De
proyecto. En este documento quedarn otras experiencias anteriores se puede obtener una relacin
definitivamente reflejadas las funcionalidades y de trabajos slo a ttulo orientativo, y que debe ser
servicios que, ineludiblemente, debe ofrecer la revisado y acordado por todas las partes:
solucin a implantar.
Formacin del Equipo de Trabajo y distribucin
de competencias y responsabilidades: El cmputo de jornadas para la relacin de actividades
generalmente se definen como reas principales descritas (que como se observa slo recogen las relativas a
la de Diseo de Arquitectura, Pruebas de la Planificacin y Diseo, y deja aparte las necesarias para
3
elaborar el plan de Migracin), ofrecera este resultado: despliegue. En el Plan deben identificarse las
Jornadas totales: 80 (aprox. 4 meses) fases, estrategia de implantacin, fechas, tareas a
Jornadas / tcnico del PARTNER: 150 jornadas (2 realizar, procedimientos de validacin y mtodo
personas) de control de incidencias.
Jornadas / tcnico del CLIENTE: 110 jornadas (Max. 2 Elaboracin del Plan de Formacin: con
personas) anterioridad al despliegue definitivo, debe
haberse aprobado el Plan de Formacin orientado
Fase 3 Estabilizacin a usuarios finales y administradores, y debe
hacerse compatible con los ritmos acordados en
La solucin implantada en la maqueta se pasa a un entorno el Plan de Despliegue.
real de explotacin, restringido en nmero de usuarios y en El tiempo necesario para abordar esta fase es variable y
condiciones tales que se pueda llevar un control efectivo depende en parte de factores ajenos a la complejidad de la
de la situacin. Los hitos y objetivos fundamentales de propia solucin, como es la adecuada seleccin del
esta fase son: entorno de prueba y el momento del ao en que tenga
Seleccin del entorno de prueba piloto: se lugar (evitando que coincida con periodos de vacaciones o
acordar la composicin y ubicacin del conjunto puntas de trabajo crticas como Fin de Ao). En proyectos
de mquinas y usuarios que entrarn en la prueba. de similar envergadura se ha llegado al momento "Error
Esta seleccin se recomienda que se haga Free Versin" en 30 jornadas de trabajo (aproximadamente
atendiendo a la mayor variedad posible de casos, mes y medio) con una muestra de 50 usuarios.
de manera que puedan aflorar el mximo de
incidentes potenciales en el menor tiempo Fase 4 Despliegue
posible. La dimensin de la muestra tiene
tambin que calcularse, sin perder de vista que la Se llevarn a cabo en esta fase los planes diseados en la
prueba piloto no es el despliegue propiamente, anterior, principalmente el de despliegue y el de
sino una fase de observacin en la que es formacin. Los principales trabajos e hitos a conseguir
absolutamente crtico establecer unos cauces son, en este caso, adems de los obvios (implantacin de
efectivos de tratamiento de los errores. la plataforma, puesta en servicio de todas las funciones,
Gestin de Incidencias: aunque esta labor se formacin a los usuarios y administradores), los
habr iniciado en la fase anterior, el xito de la siguientes:
prueba piloto depender de que se forme un Continuacin con las labores de recepcin de
sistema de recogida de incidentes (helpdesk o incidencias, clasificacin, tratamiento, resolucin
similar), de atencin al usuario (formacin, y distribucin de faxes o intervencin on-site.
consultas) y de resolucin de problemas y Registro de mejoras y sugerencias,
documentacin de los mismos (versionado de la funcionalidades no cubiertas y novedades a
plataforma). incorporar en sucesivas versiones de la
Revisin de la documentacin final de plataforma, incluyendo mejoras aportadas por los
Arquitectura: el documento de Planificacin y fabricantes de software (nuevas versiones o
Diseo de Arquitectura se puede ver alterado Service Packs, por ejemplo)
parcialmente como resultado de esta fase. El Revisin de las Guas y manuales de usuario,
documento final, aprobado por consenso, supone rectificacin de errores y obtencin de los
el principal documento del Proyecto y la documentos de formacin definitivos.
culminacin de los trabajos de diseo, al menos Entrega de los documentos definitivos acordados
en sus lneas principales. Este documento se como "deliverables" en la fase de Vision Scope.
considerar definitivo cuando la solucin puesta Revisin (si procede) de la matriz de riesgos, las
en marcha se muestre estable y el nmero de mtricas de calidad y establecimiento de los
incidencias graves (de intervencin o de estndares de calidad y SLA definitivos.
resolucin) sea nulo y la cantidad de las Finalmente, entrega del Proyecto y cierre del
consideradas leves quede por debajo de un lmite mismo, con o sin apertura de nuevo proyecto en
establecido en las Mtricas de Calidad. base a la informacin y experiencia obtenidas.
Elaboracin de la documentacin de La duracin fase de despliegue, puesto que debe
Formacin y Operaciones: con vistas al soporte planificarse, no puede establecerse a priori. Depende de
post proyecto y los programas de formacin a numerosos factores externos al propio proyecto
usuarios y administradores, en esta fase deben (incluyendo factores de oportunidad poltica o de negocio)
elaborarse las Guas de Usuario, de que pueden retardar o acelerar la conclusin.
Administracin, las "paso-a-paso", y otros cuyos La experiencia demuestra que no hay una relacin directa
contenidos deben acordarse previamente. entre nmero de mquinas y tiempo necesario para el
Elaboracin del Plan de Despliegue: se debe despliegue. Los factores ms relevantes en el clculo
consensuar la fecha de finalizacin de la fase suelen ser la dispersin o concentracin geogrfica, la
Piloto, y las condiciones de calidad que debe complejidad del proceso de migracin, el grado de
cumplir la solucin final para iniciar el automatizacin alcanzado, la experiencia y nivel de los
4
tcnicos que realizan la operacin y condicionantes de La planificacin adaptativa permite estar preparados para
calendario, a menudo con restricciones no tcnicas, sino de el cambio ya que lo hemos introducido en nuestro proceso
otros tipos (las fechas-objetivo suelen marcarse por de desarrollo, adems hacer una planificacin adaptativa
criterios de oportunidad de negocio). consiste en tomar decisiones a lo largo del proyecto,
estaremos transformando el proyecto en un conjunto de
proyectos pequeos.
METODOLOGAS GILES.
Esta planificacin a corto plazo nos permitir tener
Luego de varias opiniones tanto a favor como en contra de software disponible para nuestros clientes y adems ir
las metodologas tradicionales se genera un nuevo aprendiendo del feedback para hacer nuestra planificacin
enfoque denominado, mtodos giles, que nace como ms sensible, sea ante inconvenientes que aceleren o
respuesta a los problemas detallados anteriormente y se retrasen nuestro producto. A continuacin se detalla el XP
basa en dos aspectos puntuales, el retrasar las decisiones y que es el ms aceptado dentro del desarrollo de SW
la planificacin adaptativa; permitiendo potencia an ms
el desarrollo de software a gran escala. EXTREME PROGRAMMING (XP)
Como resultado de esta nueva teora se crea un Manifiesto FIGURA 36.
gil5 cuyas principales ideas son: MODELO DE EXTREME PROGRAMMING
5 6
Pires, Donald, Manifiesto gil, UCLA, (en lnea), disponible en Extrem Porgramming(XP). Disponible en www.XProgramming.com
http://www.manifiestoagile.com
5
regresin. Se aconseja escribir el cdigo de la La presin esta a lo largo de todo el proyecto
prueba antes de la codificacin. y no en una entrega final
Programacin por parejas: se recomienda que Desventajas
las tareas de desarrollo se lleven a cabo por dos Delimitar el alcance del proyecto con nuestro
personas en un mismo puesto. Se supone que la cliente
mayor calidad del cdigo escrito de esta manera -
el cdigo es revisado y discutido mientras se Para mitigar esta desventaja se plantea definir un alcance a
escribe- es ms importante que la posible prdida alto nivel basado en la experiencia.
de productividad inmediata.
Frecuente interaccin del equipo de AUP (AGIL UNIFIED PROCESS)
programacin con el cliente o usuario. Se
recomienda que un representante del cliente FIGURA 4.
trabaje junto al equipo de desarrollo. ESQUEMA DE TRABAJO AUP
Correccin de todos los errores antes de
aadir nueva funcionalidad. Hacer entregas
frecuentes.
Refactorizacin del cdigo, es decir, reescribir
ciertas partes del cdigo para aumentar su
legibilidad y mantenibilidad pero sin modificar su
comportamiento. Las pruebas han de garantizar
que en la refactorizacin no se ha introducido
ningn fallo.
Propiedad del cdigo compartida: en vez de
dividir la responsabilidad en el desarrollo de cada
mdulo en grupos de trabajo distintos, este
mtodo promueve el que todo el personal pueda
corregir y extender cualquier parte del proyecto.
Las frecuentes pruebas de regresin garantizan El AUP es un acercamiento aerodinmico a desarrollo
que los posibles errores sern detectados. del software basado en el Proceso Unificado Rational
Simplicidad en el cdigo: es la mejor manera de de IBM (RUP), basado en disciplinas y entregables
que las cosas funcionen. Cuando todo funcione se incrementales con el tiempo. El ciclo de vida en
podr aadir funcionalidad si es necesario. La proyectos grandes es serial mientras que en los
programacin extrema apuesta que en ms pequeos es iterativo. Las disciplinas de Aup son:
sencillo hacer algo simple y tener un poco de Modelado
trabajo extra para cambiarlo si se requiere, que Implementacin
realizar algo complicado y quizs nunca Prueba
utilizarlo. Despliegue
Administracin de la configuracin
La simplicidad y la comunicacin son extraordinariamente Administracin o gerencia del Proyecto
complementarias. Con ms comunicacin resulta ms fcil Entorno
identificar qu se debe y qu no se debe hacer. Mientras
ms simple es el sistema, menos tendr que comunicar
SCRUM
sobre este, lo que lleva a una comunicacin ms completa,
FIGURA 5.
especialmente si se puede reducir el equipo de ESQUEMA DE TRABAJO SCRUM
programadores.
Ventajas
6
Scrum es un proceso gil y liviano que sirve para FIGURA 6.
administrar y controlar el desarrollo de software. El ESQUEMA DE TRABAJO ICONIX
desarrollo se realiza en forma iterativa e incremental (una
iteracin es un ciclo corto de construccin repetitivo).
Cada ciclo o iteracin termina con una pieza de software
ejecutable que incorpora nueva funcionalidad. Las
iteraciones en general tienen una duracin entre 2 y 4
semanas. Scrum se utiliza como marco para otras prcticas
de ingeniera de software como RUP o Extreme
Programming.
7
Ofrecemos una comparativa entre cada uno de las etapas
ms comunes del desarrollo de SW y los enfoques de Por la curva de Aprendizaje
metodologas revisados.
Modelo Curva de Herramienta Soporte
TABLA 2. de aprendizaje de integracin Externo
DIFERENCIAS POR ETAPAS Y ENFOQUE METODOLOGICO Proceso
RUP Lenta Alto Soporte Alto
MODELOS ETAPA MODELOS Soporte
RIGUROSOS AGILES ICONIX Rpida Algn Soporte Algn
Disponible Soporte
Anlisis de Disponible
requerimientos Planificacin XP Rpida No mencionado Algn
Planificacin adpatativa:Entregas
predictiva y frecuentes +
Soporte
aislada colaboracin del Disponible
cliente SCRUM Rpida No mencionado Algn
Soporte
Planificacin
Disponible
Diseo flexible y Diseo Diseo Simple: Con respecto a la curva de aprendizaje, vemos que los
Extensible + Documentacin
modelos + Mnima + modelos giles, nos ofrecen una mayor ventaja pero con
Documentacin Focalizado en la ciertas limitaciones, ya que aun no hay sido explotadas a
exhaustiva comunicacin gran escala como lo es RUP que posee alto soporte y
herramientas integrales que nos guan a travs del mismo,
Desarrollo Codificacin Transferencia de
individual con conocimiento:
facilitando aplicar con mayor efectividad esta
Roles y Programacin en metodologa, permitiendo aprovecharla al mximo
responsabilidades pares +
estrictas conocimiento
colectivo CONCLUSIONES
Actividades de Pruebas Liderazgo- El retrasar las decisiones en un proyecto de software
control]: Orientado Colaboracin:
a los hitos + empoderamiento
permite potenciar el valor del producto tanto para el
Puesta en cliente como al equipo o empresa que desarrolla
Gestin Produccin +auto-organizacin
miniproyectos Para que un grupo de desarrollo adopte una
metodologa gil debe poseer experiencia trabajando
con metodologas tradicionales, ya que la experiencia
Adems presentamos un cuadro de comparacin por cada es la que predomina en los mementos cruciales del
aspecto analizado y lo ponemos a consideracin: proyecto, adems debe tener la capacidad de ser
equipos auto-gestionados, altamente motivados y con
Por las caractersticas del Proyecto gran innovacin
Modelo Tamao Tamao Complejidad
de del del del Problema Las metodologas giles permiten disminuir costos y
Proceso Proceso Equipo brindar flexibilidad a los proyectos de software donde
RUP Medio / Medio / Medio / Alto la incertidumbre est presente
Extenso Extenso El uso de metodologas tradicionales es esencial al
ICONIX Pequeo / Pequeo / Pequeo / Medio inicio en un equipo de desarrollo de software
Medio Medio Las metodologas giles se deberan aplicar en
XP Pequeo / Pequeo Medio / Alto proyectos donde exista mucha incertidumbre donde el
Medio entorno es voltil, donde los requisitos no se conocen
SCRUM Pequeo / Pequeo Medio / Alto con exactitud, mientras que las metodologas
Medio tradicionales obligan al cliente a tomar las decisiones
al inicio del proyecto.
8
gran giro a la industria del software. Por ltimo, que
entiendan la importancia de la gente. Con este fin voy a hacer
una ltima analoga: el dueo de una fbrica de coches sale a
las 6 de la tarde, y ah tiene su fbrica, con su valor intacto;
puede venderla y recuperar su inversin. En cambio, el dueo
de una fbrica de software, a las 8 de la noche que sus
empleados ya se fueron a su casa, est descapitalizado. Lo
nico que tiene son escritorios y unas mquinas depreciadas.
BIBLIOGRAFA