Está en la página 1de 15

Autor Invitado

Cuatro enfoques
metodolgicos para el
desarrollo de Software
RUP MSF XP - SCRUM
Oiver Andrs Prez A.
Recibido el 1 de abril de 20111. Aprobado el 10 de junio de 2011

Resumen
El presente artculo aborda el proceso de desarrollo de software desde cuatro enfoques me-
todolgicos: RUP, MSF, XP, SCRUM, en los cuales se exponen las caractersticas, estructura, pro-
ceso, principios, ciclo de vida, artefactos y roles entre otras caractersticas propias de cada
metodologa. La investigacin se realiz a partir de la revisin de literatura en la cual se anali-
zaron y seleccionaron cuatro enfoques metodolgicos de desarrollo de software de gran uso,
reconocimiento y vigencia en la industria del desarrollo de software. En este sentido, el pro-
psito del artculo es aportar una gua prctica que permita conocer y aplicar las diferentes
estrategias metodolgicas proporcionadas por estos cuatro enfoques metodolgicos para el
desarrollo de software.

Palabras clave
Ingeniera de Software, Metodologas de desarrollo, Rational Unified Process (RUP), Microsoft
Solutions Framework (MSF), Extreme Programming (XP), SCRUM.

Abstract
This paper takes into account the process of development of software from four different
methodological focus, in which are considered the characteristics, structure, process, princi-
ples, life cycle, artifacts and roles among other characteristics proper to each methodology.
This research has been made revising some literature from which four methodological focus
of development of software have been analyzed and selected since they are very useful,
recognized and prevailing to the development of the software industry. So that, the purpose
of this paper is just to provide a practical guide that helps to know and to apply the different
methodological strategies provided by these four methodological focus for the development
of software.

Keywords
Software engineering, Software Development Process, Rational Unified Process (RUP), Micro-
soft Solutions Framework (MSF), Extreme programming (XP), SCRUM.

I. Introduccin
En los aos 80 se propuso que la mejor forma de desarrollar un sistema soft-
ware era por medio de una planificacin rgida y meticulosa del proyecto,
soportada por herramientas CASE (Ingeniera de Software Asistida por Com-
putador) y algunos procesos de desarrollo rigurosos y altamente controlados,
que eran sinnimo de garanta y calidad en el software. Estas metodologas
tenan una carga de trabajo pesada en planificacin, diseo y documenta-
cin, absorbiendo gran parte del tiempo destinado al desarrollo del sistema.
64 Inventum No. 10 Facultad de Ingeniera UNIMINUTO - Junio de 2011 - ISSN 1909 - 2520
Al implementar estas metodologas en proyectos pe- en los mtodos giles y propuesta por Kent Beck. En
queos o medianos con mayores exigencias en los la seccin V se presenta la disciplina SCRUM basada
tiempos de respuesta, se obtuvo como resultado la en la rapidez y flexibilidad de mtodos de desarro-
ineficacia en los procesos, debido a que se pasa- llo avanzados probados en la industria de productos
ba ms tiempo pensando el sistema y al momento comerciales y finalmente en la seccin VI se presen-
de liberar el producto se haca casi imposible reali- tan las conclusiones y una matriz comparativa de las
zar cambios en las especificaciones, puesto que se cuatro metodologas.
deba empezar desde cero con el anlisis y la do-
cumentacin, haciendo del desarrollo de software II. RATIONAL UNIFIED
un proceso improductivo e ineficiente. Aun as, estas
metodologas se siguen implementando en deter- PROCESS (RUP)
minados proyectos que no requieren de resultados
rpidos pero s de procesos crticos. RUP es una metodologa que tiene como objetivo
ordenar y estructurar el desarrollo de software, en la
En los aos 90 se comenzaron a proponer mtodos cual se tienen un conjunto de actividades necesa-
giles para el desarrollo de software, que permitieran rias para transformar los requisitos del usuario en un
a los desarrolladores concentrarse en el software y no sistema Software (Amo, Martnez y Segovia, 2005). Ini-
totalmente en el diseo y documentacin del mis- cialmente fue llamada UP (Unified Process) y luego
mo. stas metodologas tienen un enfoque iterativo cambi su nombre a RUP por el respaldo de Rational
para la especificacin, el desarrollo y la entrega del Software de IBM. sta metodologa fue lanzada en
producto, teniendo como principio que los requeri- 1998 teniendo como sus creadores a Ivar Jacobson,
mientos podan cambiar permanentemente y du- Grady Booch y James Rumbaugh. El RUP naci del
rante el proceso de desarrollo, entregando sistemas UML (Unified Modeling Language) y del UP (Sommer-
funcionales ms rpidamente con la posibilidad de ville, 2005).
agregar nuevos cambios en las especificaciones.
Caractersticas del RUP
En la actualidad, el proceso de desarrollo de soft- El RUP es un proceso basado en los modelos en
ware ha sido abordado desde diferentes metodo- Cascada y por Componentes, el cual presenta las
logas, las cuales tienen diferentes enfoques para la siguientes caractersticas: Es dirigido por los casos
captura de requerimientos y el proceso de desarrollo de uso, es centrado en la arquitectura, iterativo e in-
del sistema software, algunas de ellas se basan en cremental (Booch, Rumbaugh y Jacobson, 2000), lo
analizar y documentar rigurosamente las especifica- cual es fundamental para el proceso de desarrollo
ciones del sistema, para luego realizar un desarrollo y de software. A continuacin se explican las tres ca-
posteriormente efectuar las pruebas. Otros mtodos ractersticas de RUP:
proponen centrarse en la organizacin del equipo
de trabajo, incluir al cliente activamente y en arrojar a) Casos de Uso: Describe un servicio que el usuario
resultados satisfactorios ms rpidamente. Sea cual requiere del sistema, incluye la secuencia completa
fuere la metodologa es conveniente saber que stas de interacciones entre el usuario y el sistema.
se eligen e implementan de acuerdo a la naturaleza
del proyecto, llegando incluso a combinarse entre s b) Centrado en la arquitectura: Comprende las di-
para lograr mejores resultados. ferentes vistas del sistema en desarrollo, que corres-
ponden a los modelos del sistema: Modelos de ca-
El objetivo de ste trabajo es analizar las cuatro me- sos de uso, de anlisis, de diseo, de despliegue e
todologas propuestas, caracterizarlas y proporcionar implementacin. La arquitectura del software es im-
un gua que permita entender de una manera gene- portante para comprender el sistema como un todo
ral el enfoque de cada una, as como sus ventajas y y a la vez en sus distintas partes (Abrahamsson, Salo,
desventajas, permitiendo a los estudiantes y desarro- Ronkainen y Warsta, 2002), sirve para organizar el de-
lladores tener un panorama global sobre las tenden- sarrollo, fomentar la reutilizacin de componentes y
cias actuales en procesos de desarrollo de software. hacer evolucionar el sistema, es decir, agregarle ms
funcionalidad (Pressman y Murrieta, 2006)
El contenido del artculo est organizado de la si-
guiente manera: En la seccin II se presenta la me- En la figura 1 se aprecia la forma en que los mode-
todologa Rational Unified Process (RUP) de IBM. En la los de la arquitectura se completan en cada ciclo,
seccin III se presenta la metodologa Microsoft So- ejemplo: se ve en la lnea base de la arquitectura
lutions Framework (MSF) de Microsoft. En la seccin que la barra que denota el modelo de despliegue
IV se presenta la Extreme Programming (XP) basada est clara e incompleta, evidencindose una im-
Inventum No. 10 Facultad de Ingeniera UNIMINUTO - Junio de 2011 - ISSN 1909 - 2520 65
plementacin parcial del sistema, lo cual mostrara lisis de la iteracin, entre otras actividades especfi-
solo algunas funciones y propiedades del software cas concebidas dentro de esa iteracin.
en construccin. A esta parcialidad en la implemen-
tacin se le conoce como arquitectura ejecutable.
En la misma grfica que se encuentra arriba se ve
la misma barra pero un poco ms oscura, lo cual
muestra que el modelo se ha estado mejorando
progresivamente, mostrando que durante la cons-
truccin los diferentes modelos se van desarrollando
hasta completarse.

De igual forma se aprecia la misma barra en la lnea Figura 2. Las Iteraciones en RUP. Fuente: Adaptado de RUP (Booch,
Rumbaugh y Jacobson, 2000)
base al final de la construccin en la cual se ve la
barra del modelo de despliegue completa y con un
color ms oscuro, esto obedece a los refinamientos Estructura del RUP
sucesivos que hace la metodologa RUP a la arquitec- El proceso del RUP se ejecuta en tres perspectivas:
tura ejecutable, proporcionando de esta manera un La perspectiva dinmica, la cual contiene las fases
prototipo evolutivo y funcional. De la misma manera del modelo sobre el tiempo; la esttica que mues-
la arquitectura como tal no cambia drsticamente tra las actividades del proceso y la prctica, que
pues gran parte de la arquitectura se defini durante muestra las buenas prcticas durante el proceso
la fase de elaboracin, pero puede agregar mode- del RUP (IBM, s. f.)
los as como lo muestra la grfica con la adicin del
modelo de pruebas a la misma arquitectura: La figura 3 muestra la estructura de RUP y la forma
en que se relacionan sus tres perspectivas. En sta
se aprecia la forma en que las disciplinas se aplican
a cada una de las fases hasta lograr su completi-
tud, y a su vez, cmo cada fase se completa de for-
ma iterativa para as avanzar a la fase siguiente. De
igual forma se aprecia que la perspectiva de buenas
prcticas est en un eje z que es transversal a las
perspectivas dinmica x y esttica y, funcionan-
do de manera permanente en el proceso de desa-
rrollo de software.

Figura 1. Arquitectura RUP. Fuente: Adaptado de RUP (Booch,


Rumbaugh y Jacobson, 2000)

c) Iterativo e Incremental: Significa que la aplicacin


se divide en pequeos proyectos, los cuales incorpo-
ran una parte de las especificaciones, y el desarrollo
de la misma es una iteracin que va incrementando
la funcionalidad del sistema de manera progresiva
(Silva, Barrera, Arroyave y Pineda, 2007)

Tal como lo muestra la figura 2, una iteracin est


compuesta por los requisitos, anlisis, diseo, im-
plementacin y pruebas; pero dicha iteracin slo
entrega una parte pequea pero funcional del sis-
tema, de tal forma que los requisitos y dems mo-
delos no se desarrollan en una sola iteracin sino Figura 3. Estructura de RUP. Fuente: Adaptado de RUP (IBM, s. f.)
progresivamente, ello con la finalidad de poder
garantizar entregas funcionales e iterativas y de tal Para aclarar esta relacin, a continuacin se presen-
forma ir completando el sistema software paso a ta una descripcin de las tres perspectivas:
paso. Cabe aclarar que una iteracin tambin in-
cluye otros artefactos que no estn explcitamente a) La perspectiva dinmica se compone por las fa-
en la grfica, tales como la planificacin y el an- ses de Inicio, Elaboracin, Construccin y Transicin,
66 Inventum No. 10 Facultad de Ingeniera UNIMINUTO - Junio de 2011 - ISSN 1909 - 2520
cada fase se subdivide en iteraciones (Rational Soft- Artefactos: Tambin denominado producto, es un
ware Corporation, 1998) y comprenden los siguientes modelo de informacin que es producido o mo-
objetivos: dificado durante el proceso de desarrollo de soft-
ware. Los artefactos son los resultados tangibles del
Fase de inicio: Su objetivo es la comunicacin con proyecto, las cosas que se van creando y usando
el cliente y las actividades de planeacin. Se es- hasta tener el producto software terminado. Algu-
tablece el caso del negocio para el sistema, as nos artefactos pueden ser: un modelo de casos
como la identificacin de todas las entidades ex- de uso, el documento de la arquitectura, etc.
ternas que interactan con el sistema y sus respec-
tivas iteraciones. Flujo de trabajo: Es la relacin entre los roles y los
artefactos o productos que producen resultados
Fase de elaboracin: Tiene como fin desarro- observable en el desarrollo del sistema software.
llar un entendimiento del dominio del proble- Estos se dividen en flujos de trabajo de proceso
ma, crear un marco de trabajo arquitectnico y flujos de trabajo de soporte, los primeros refle-
para el sistema, desarrollar el plan del proyecto jan actividades propias del modelo en cascada y
e identificar los riesgos claves. Al finalizar esta contiene el modelado de negocios, requerimien-
fase se debe tener el modelo de requerimien- tos, anlisis y diseo, implementacin, pruebas y
tos del sistema (UML), una arquitectura y un plan despliegue; y los segundos contienen la configu-
de desarrollo. racin y gestin de cambios, la gestin del pro-
yecto y el entorno.
Fase de construccin: Su objetivo es el diseo
del sistema, la programacin, las pruebas y c) La perspectiva prctica describe seis buenas prc-
la integracin de todas las partes del sistema ticas en Ingeniera de Software que son recomenda-
software. Al final de esta fase se debe tener bles en el desarrollo de sistemas software, las cuales
un software operativo con su respectiva docu- son: Desarrollo iterativo, gestin de requisitos, desa-
mentacin. rrollo basado en componentes, modelado visual
UML, verificacin continua de la calidad y control de
Fase de transicin: En esta fase el sistema software cambios de software (Leterlier, s. f.) Estas prcticas
se entrega a los usuarios finales para sus respec- se ejecutan durante todo el proyecto y de manera
transversal a las perspectivas dinmica y esttica.
tivas pruebas en un entorno real. Al terminar esta
fase se debe tener un software documentado y
funcionando correctamente. El ciclo de vida del RUP
La metodologa RUP se repite a lo largo de una serie
b) La perspectiva esttica define dentro del pro- de ciclos (figura 4) que constituyen la vida de un sis-
ceso de desarrollo de software el quin hace qu, tema desde su nacimiento hasta su muerte. Cada
cmo y cundo (Booch, Jacobsony Rumbaugh, ciclo concluye con una versin del producto para los
2006). El quin corresponden a los roles, el qu clientes (Traa, 2006),
y el cmo corresponde a las actividades y arte-
factos, y el cundo corresponde al flujo de tra- En la figura 4 se puede apreciar que el ciclo de vida
bajo. Para ello es necesario tener claro los siguien- de RUP est comprendido por varios ciclos. Las ver-
tes elementos: siones y ciclos le aaden funcionalidad al sistema
hasta el punto donde ya termine su ciclo de vida con
Roles: Definen el comportamiento y las respon- la muerte o cumplimiento total del objetivo para el
cual fue diseado el software. En la figura 5 se expli-
sabilidades de cada individuo o de un grupo.
can los elementos que conforman el proceso interno
Una persona puede desempear varios roles y
de un ciclo. Los cuales comprenden las fases y sus
un rol puede ser desempeado por varias per-
respectivas iteraciones, a su vez cada ciclo concluye
sonas. Los roles definidos en RUP son: Analistas,
con una versin del sistema software.
desarrolladores, gestores, apoyo, especialista
en pruebas y cualquier otro rol del cual se tu-
viera necesidad.

Actividades: Es una unidad de trabajo que una


persona que desempea un rol puede realizar.
Las actividades tienen objetivos concretos tales
como: Planear una iteracin, revisar el diseo, Figura 4: Ciclo de vida de Rup Fuente: Adaptado de RUP (Booch,
ejecutar pruebas de rendimiento, entre otras. Rumbaugh y Jacobson, 2000)
Inventum No. 10 Facultad de Ingeniera UNIMINUTO - Junio de 2011 - ISSN 1909 - 2520 67
portantes para procesos de software. Es adaptable,
flexible y escalable, e independiente de tecnologas,
lo cual significa que no se cierra a un slo modelo de
programacin sino ms bien queda abierto segn la
naturaleza del proyecto. Usa como referente el DSL
(Domain-Specific Language) para realizar el mode-
lado, as como RUP se apoya en UML para hacer el
Figura 5: Un ciclo Rup Fuente: Adaptado de RUP (Booch, Rum- modelado (Microsoft).
baugh y Jacobson, 2000)
Componentes
En sntesis, la metodologa RUP es un proceso de de-
MSF es un FrameWork que contiene tres componen-
sarrollo de software que trabaja de la mano con el
tes: Los principios fundamentales, los modelos y las
UML y es una de las metodologas estndar ms usa-
disciplinas. stos componentes pueden ser utilizados
das para el anlisis, desarrollo y documentacin de
individuamente o adoptados como un todo integra-
sistemas orientados a objetos, adems de su gran
do segn la naturaleza del proyecto (Microsoft, 2003),
respaldo por parte de IBM.
a continuacin se explican los tres componentes:
Por sus caractersticas se implementa con mayor fre-
Principios fundamentales
cuencia en proyecto de gran complejidad y magni-
Los principios de MSF son 8 valores y normas que son
tud, que dispongan de un equipo de trabajo con ex-
comunes en todo el FrameWork, los cuales contribu-
periencia en desarrollo de proyectos, as como con
yen a mejorar el trabajo en equipo y a centrarse en
un alto conocimiento en la metodologa, sin dejar de
mantener el objetivo del proyecto siempre en mar-
lado su aplicabilidad en proyectos de corto tiempo
cha (Abrahamsson, Salo, Ronkainen y Warsta, 2002),
y poca complejidad, pues la metodologa tiene la
estos principios son:
capacidad de poder adaptarse a los diferentes tipos
de proyecto software.
Fomentar la comunicacin abierta: El mantener un
buen flujo de informacin entre los integrantes del equi-
III. MICROSOFT SOLUTIONS po, pueden reducir las posibilidades de malentendidos
FRAMEWORK (MSF) y contribuir a la solucin colectiva de problemas.

Trabajar hacia una visin compartida: El equipo


MSF es una gua de desarrollo de software flexible de trabajo debe comprender y trabajar hacia las
que permite aplicar de manera individual e indepen- metas y objetivos del proyecto.
diente cada unos de sus componentes, es escalable
pues est diseada para poder expandirse segn Empoderar a los miembros del equipo: Los miem-
la magnitud del proyecto. La metodologa MSF est bros del equipo SCRUM deben tener funciones claras,
basada en un conjunto de principios, modelos, disci- de tal manera que puedan desenvolverse como un
plinas, conceptos, directrices y practicas aprobadas grupo creativo, eficaz y capaz de cumplir sus propios
por Microsoft, que asegura resultados con menor ries- objetivos, al igual que resolver sus dificultades.
go y de mayor calidad, centrndose en el proceso y
las personas (Gattaca S. A.) Establecer la rendicin de cuentas claras y la
responsabilidad compartida: Cada equipo tiene
Microsoft Solutions Framework se introdujo por primera funciones claras y son responsables de una parte de
vez en 1994 como un conjunto de las mejores prcti- la solucin, as como del xito global del proyecto,
cas en los desarrollo de Software de Microsoft y Micro- trabajando desde la individualidad en procura de
soft Consulting Service. Esta metodologa ha estado objetivos colectivos.
evolucionando y mejorando con la experiencia de
grupos de trabajo reales los cuales contribuyeron a Centrarse en ofrecer valor empresarial: El equipo
perfeccionar este Framework (Wilmot et al., 2004). De de trabajo debe procurar ofrecer soluciones reales
igual manera, MSF tambin retoma algunas de las ca- que satisfagan necesidades y beneficien al compra-
ractersticas propias de metodologas tradicionales. dor del producto, pues entregar un producto bien
elaborado y que cumpla los requerimientos para el
Caractersticas de MSF cual fue diseado es el objetivo a alcanzar.
ste Framework est basado en los modelos espiral
y cascada, lo cual indica que toma elementos de Mantenerse gil, en espera de un cambio: El cam-
los mtodos tradicionales que an son referentes im- bio constante debe ser aceptado, es decir, el quipo
68 Inventum No. 10 Facultad de Ingeniera UNIMINUTO - Junio de 2011 - ISSN 1909 - 2520
debe estar preparado para afrontar estas situaciones b) Proceso:
y ofrecer soluciones eficaces. MSF acepta la com- ste modelo se encarga de organizar los procesos
binacin de caos y orden lo cual deja entrever las necesarios para lograr llevar a trmino una solucin.
altas posibilidades de que los proyectos software se Esto se logra dividiendo las tareas del proyecto en
salgan de control. cinco fases, las cuales proporcionan herramientas
para mejorar el control sobre el proyecto, minimizar
Invertir en la calidad: El equipo debe mantener la el riesgo y aumentar la calidad del producto. Al igual
mentalidad centrada en la calidad, se debe invertir que el proceso RUP, MSF tambin tiene sus prcticas
en las personas, en los procesos y las herramientas, inherentes al desarrollo de software, tales como la
pues sta inversin puede retribuir en resultados de especificacin, el desarrollo, la validacin y la evo-
mayor calidad. lucin del software.

Aprender de todas las experiencias: Tener una De lo anterior se desprenden unos principios relacio-
mentalidad abierta para aprender del xito o fraca- nados con el proceso MSF, los cuales son: el manejo
so de proyectos propios y ajenos. de versiones, la gestin del riesgo, dividir el proyecto
en partes y realizar construcciones diarias.
Modelos
Los modelos describen esquemas a seguir para la Por otra parte, la metodologa MSF establece 5 fases
organizacin de los equipos y los procesos del pro- con sus respectivas tareas, las cuales se aprecian en
yecto (Microsoft, 2003), lo cual especifica un modelo la figura 7. En las caractersticas de MSF se mencio-
para el equipo de trabajo y uno para los procesos: n que la metodologa se poda aplicar de manera
flexible, es decir, que los componentes no eran de-
a) Equipo de trabajo: pendientes unas de otras. Es importante aclarar que
Este modelo se encarga de organizar las personas ese grado de flexibilidad no aplica para ste modelo
para que realicen el trabajo y se asegura que to- de proceso (Figura 7).
das las metas del proyecto se cumplan. Define los
principios, los roles y las actividades involucrando al
equipo en todas las decisiones fundamentales que
rodean el proyecto.

Principios: Todos los miembros del equipo son com-


paeros por lo tanto no hay jefes, se deben tener
las funciones y las responsabilidades claras. Procurar
evitar los defectos en los procesos relacionados con
el equipo y tener una mentalidad de calidad orien-
tada a la satisfaccin del cliente, as como tener
voluntad y capacidad de aprender.

Roles y actividades: Un rol define comportamien-


tos y actividades de cada individuo o grupo, cada
persona puede tomar ms de un rol y mltiples per- Figura 7: Modelo de proceso. Fuente: Adaptado de Microsoft,
2003.
sonas pueden tomar un rol, en este modelo se des-
criben seis roles con sus respectivas actividades, las
cuales se relacionan en la figura 6. La figura 7 muestra las fases y sus respectivos objetivos
a cumplir. Los cuales se explican a continuacin:

Fase visin: Se debe tener el objetivo y limitaciones


del proyecto, el anlisis de los problemas de nego-
cios, el mbito de la aplicacin, la evaluacin del
riesgo y panificacin del producto.

Fase planificacin: Se debe tener la ingeniera de


requerimientos, planificacin y gestin de riesgos.

Fase desarrollo: En esta fase se codifica y se reali-


Figura 6: Modelo de equipo de trabajo. Fuente: Adaptado de zan las respectivas pruebas, tambin se identifican y
Microsoft, 2003. mitigan los riesgos existentes.
Inventum No. 10 Facultad de Ingeniera UNIMINUTO - Junio de 2011 - ISSN 1909 - 2520 69
Fase estabilizacin: Se realizan pruebas beta, se Gestin de proyecto: Tiene como objetivo permitir
crea un plan de gestin de incidencias, se revisa la mayor escalabilidad en proyectos pequeos, gran-
documentacin final de la arquitectura y se elabora des y complejos, basado en la planificacin sobre
un plan de despliegue. las entregas cortas, la incorporacin de nuevas ca-
ractersticas sucesivamente, e identificar cambios
Fase implantacin: Se libera la solucin software, ajustando el cronograma.
se crea un registro de mejoras y sugerencias, se revi-
san las guas y manuales de usuario y se entrega el Gestin del riesgo: En la figura 9 se pueden obser-
proyecto final. varlos pasos de la disciplina la cual se encarga de
ayuda al equipo a tomar las decisiones correctas y
Gestin de requerimientos controlar las emergencias que puedan presentarse,
En todo proceso de desarrollo de software es funda- por medio de un entorno estructurado para la toma
mental el proceso de gestin de requerimientos. MSF de decisiones y acciones, valorando los riesgos que
incluye dentro del modelo de proceso un documen- puedan provocar.
to de visin, y documentos de especificacin funcio-
nal. De igual forma se incluye tambin un acuerdo
inicial sobre la funcionalidad con el cliente, se toman
los resultados para verificar que se cumplen los requi-
sitos y se hace seguimiento a cada elemento al final
de la ejecucin.

El ciclo de vida de MSF


El proceso del MSF se puede llevar a cabo de forma
iterativa, tal como se aprecia en la figura 8, de tal
forma que al liberar una solucin, se puede iniciar
nuevamente la metodologa para darle ms funcio-
nalidad al producto (Llorens, 2005).
Figura 9. Gestin del riesgo. Fuente: Adaptado de Microsoft,
2003.

En sintona con el resto de la metodologa, en la figu-


ra 9 se evidencia la importancia de la comunicacin
con el equipo. El declarar el riesgo a tiempo permite
analizar, buscar soluciones y aprender de los riesgos
ya superados.

Gestin de cambios: Esta disciplina tiene como ob-


jetivo lograr que el equipo sea proactivo en lugar
de reactivo (Microsoft, 2003), teniendo en cuenta
que los cambios deben considerase riesgos y por
lo tanto se deben registrar y hacer evidentes. En la
figura 10 se plantea las acciones y flujos a seguir
Figura 8: Ciclo de vida MSF. Fuente: Adaptado de Microsoft,
2003.
para lograr anteceder a los riesgos.

De forma similar al ciclo propuesto en RUP, la meto-


dologa MSF que se muestra en la figura 7, propo-
ne para su ciclo de vida, un desarrollo por fases, las
cuales culminan con una versin del producto, estas
versiones se pueden seguir trabajando de manera
iterativa hasta conseguir el resultado esperado, y es
en ese momento donde terminara el ciclo de vida.

Disciplinas
MSF presenta un conjunto de mtodos para la ges-
tin del proyecto, la gestin del riesgo y la gestin Figura 10: Gestin de cambios. Fuente: Adaptado de Microsoft,
de preparacin para el cambio (Del Maschi et al., 2003.
2008). Dentro de las cuales comprende:
70 Inventum No. 10 Facultad de Ingeniera UNIMINUTO - Junio de 2011 - ISSN 1909 - 2520
En conclusin, la metodologa propuesta por MSF tie- entrega y el sistema ha cumplido con el objetivo para
ne como propsito lograr entregas con un margen el cual fue diseado, de no ser as, se deber conti-
amplio de xito, basados en la calidad del produc- nuar con el ciclo especificado en la figura 11 hasta
to software, teniendo presente las necesidades del que la funcionalidad del sistema sea la deseada.
cliente y el principio de flexibilidad, as como el cum-
plimiento con los compromisos adquiridos, la gestin Diseo sencillo: Solo se efecta el diseo necesario
de los costos y la minimizacin de los riesgos inheren- para cumplir con los requerimientos actuales, es de-
tes en todo proyecto de desarrollo de software. cir, no se abordan requerimientos futuros.

IV. PROGRAMACIN Desarrollo previamente aprobado: Una de las ca-


ractersticas relevantes y propias de XP es que prime-
EXTREMA ro se escriben las pruebas y luego se da la codifica-
cin, esto con la finalidad de asegurar la satisfaccin
La programacin extrema o Extreme Programming, del requerimiento.
es una disciplina de desarrollo de software basada
en los mtodos giles, que evidencia principios ta- Limpieza del cdigo o refactorizacin: Consiste en
les como el desarrollo incremental, la participacin simplificar y optimizar el programa sin perder funcio-
activa del cliente, el inters en las personas y no en nalidad, es decir, alterar su estructura interna sin afec-
los procesos como elemento principal, y aceptar el tar su comportamiento externo (Abrahamsson, Salo,
cambio y la simplicidad (Beck et al., 2001). El traba- Ronkainen y Warsta, 2002).
jo fundamental se public por Kent Beck en 1999, y
tom el nombre de Programacin Extrema por las Programacin en parejas: Es otra de las caracte-
prcticas reconocidas en el desarrollo de software rsticas de sta metodologa, que propone que los
y por la participacin del cliente en niveles extremos desarrolladores trabajen en parejas en una terminal,
(Wells, 2009). ste mtodo, al igual que RUP y MSF, verificando cada uno el trabajo del otro y ayudndo-
tambin tiene principios los cuales son buenas prc- se para buscar las mejores soluciones. Se entiende
ticas a tener presente en el desarrollo del software. que de esta forma el trabajo ser ms eficiente y de
mayor calidad.
Los principios XP comprenden diez buenas prcticas
que involucran al equipo de trabajo, los procesos y el Propiedad colectiva: El conocimiento y la informa-
cliente; los cuales son: cin deben ser de todos, por lo tanto no se desarro-
llan islas de conocimiento, todos los programadores
Planificacin incremental: Se toman los requeri- poseen todo el cdigo y cualquiera puede sugerir y
mientos en Historias de Usuario, las cuales son nego- realizar mejoras.
ciadas progresivamente con el cliente.
Integracin continua: Al terminar una tarea, sta se in-
Entregas pequeas: Se desarrolla primero la ms tegra al sistema entero y se realizan pruebas de unidad
mnima parte til que le proporcione funcionalidad a todo el sistema, sta prctica permite que la aplica-
al sistema, y poco a poco se efectan incremen- cin sea ms funcional en cada iteracin y garantiza su
tos que aaden funcionalidad a la primera entrega, funcionamiento con los dems mdulos del sistema.
cada ciclo termina con una entrega del sistema, en
la figura 11, se muestra como es el proceso de entre- Ritmo sostenible: No es aceptable trabajar durante
ga en XP (Programacin Extrema, s. d.) grandes cantidades de horas ya que se considera
que puede reducir la calidad del cdigo y la pro-
ductividad del equipo a mediano plazo, se sugieren
40 horas semanales.

Cliente presente: Se debe tener un representante


(Cliente o usuario final) tiempo completo, ya que en
XP ste hace parte del equipo de desarrollo y es res-
ponsable de formular los requerimientos para el de-
sarrollo del sistema.
Figura 11: El ciclo de entrega de XP. Fuente: Adaptado de XP.
Valores en XP
Al igual que en el ciclo de vida de RUP y MSF, en XP el En todo desarrollo de un proyecto de software, los
ciclo de vida termina cuando ya no hay ms ciclos de cambios sern algo inevitables, los requerimientos
Inventum No. 10 Facultad de Ingeniera UNIMINUTO - Junio de 2011 - ISSN 1909 - 2520 71
cambiarn, las reglas del negocio, el equipo de tra- presente los principios y valores antes mencionados,
bajo y la tecnologa, entre otros elementos involucra- los cuales son un eje fundamental para el correcto
dos en el proyecto. Por esta razn XP propone valo- desarrollo de cada fase durante el ciclo. En la figura
res, que permitirn afrontar y sortear de una manera 12 se puede apreciar la relacin de principios, valo-
ms efectiva los cambios en el proyecto (Wellington, res y fases:
2005) los cuales se enfocan al equipo de trabajo de
la siguiente manera:

Comunicacin: Aunque hay circunstancias que


conducen a la ruptura de la comunicacin, se debe
procurar por comunicar cualquier cambio con el res-
to del equipo ya sean desarrolladores, cliente o jefe.

Sencillez: Iniciar desde lo parte ms simple que


pueda darle funcionalidad al sistema, es decir abor-
dar el problema con el mayor nivel de granularidad. Figura 12: El proceso X. Fuente: Adaptado de Pressman y Murrie-
ta, 2006

Retroalimentacin: La mejor manera de cono- Al igual que en las metodologas antes menciona-
cer el estado actual del sistema es hacindole das, en el proceso XP (figura 12), se observan una
pruebas funcionales al software, esto proporciona- serie de fases que al ser concluidas dan origen a una
r informacin real y confiable sobre el grado de versin del producto software, y cada versin es un
fiabilidad del sistema. ciclo, el cual hace parte del ciclo de vida del soft-
ware. Al no tener ms ciclos a ejecutar se entiende
Valenta: El equipo de trabajo debe estar presto que los sistemas han cumplido con su objetivo, en
para asumir retos, ser valiente ante los problemas y caso contrario se deben seguir desarrollando ciclos
afrontarlos, no tapar los errores, ya que tarde o tem- para agregar la funcionalidad deseada. Cada fase
prano saldrn a flote y todo el sistema colapsar no del ciclo comprende lo siguiente:
se puede avanzar sobre los errores. Se recomienda
tomar acciones correctivas a tiempo a fin de lograr Fase de planeacin: sta fase inicia con las histo-
el objetivo del proyecto. rias de usuario que describen las caractersticas y fun-
cionalidades del software. El cliente asigna un valor
Objetivos de XP o prioridad a la historia, los desarrolladores evalan
Aunque las metodologas RUP y MSF no lo muestran cada historia y le asignan un costo el cual se mide en
de una manera explcita, tambin para ellas la satis- semanas de desarrollo.
faccin del cliente y el trabajo en equipo es un objeti-
vo. La metodologa XP tiene dos objetivosprimordiales Fase de diseo: El proceso de diseo debe procu-
para el correcto desarrollo del proyecto (Jeffries, s. f.): rar diseos simples y sencillos para facilitar el desarro-
llo. Se recomienda elaborar un glosario de trminos y
La satisfaccin de cliente: Entendida como dar al la correcta especificacin de mtodos y clases para
cliente lo que necesita y cuando lo necesita, respon- facilitar posteriores modificaciones, ampliaciones o
diendo rpidamente a las necesidades de este. Uno reutilizacin del cdigo. Anteriormente este proceso
de los factores importantes en todo proyecto de soft- se apoyaba en el uso de tarjetas CRC (Colaborador-
ware es que el sistema software logre el objetivo para Responsabilidad-Clase) la cual identifica las clases
el cual fue diseado y que el equipo de trabajo logre orientadas a objetos que son relevantes para el in-
el objetivo para el cual fue contratado, de ah que cremento del software.
el incumplimiento de esto termine con un producto
incompleto y un cliente insatisfecho. Fase de codificacin: En sta fase los desarrolla-
dores deben disear las pruebas de unidad que ejer-
Potenciar al mximo el trabajo en grupo: Todos estn citarn cada historia de usuario. Despus de tener
involucrados y comprometidos con el desarrollo del soft- las pruebas, los desarrolladores trabajarn en parejas
ware, tanto los jefes como los desarrolladores y los clien- para concentrarse en lo que debe implementarse
tes, no hay agentes individuales o aislados al proyecto. para pasar la prueba de unidad.

El proceso de XP Fase de pruebas: Las pruebas de unidad deben im-


El proceso de XP al igual que RUP y MSF se presenta plementarse con un marco de trabajo que permita
en fases, en XP se ejecuta en cuatro fases teniendo automatizarlas, con la finalidad de realizar pruebas de
72 Inventum No. 10 Facultad de Ingeniera UNIMINUTO - Junio de 2011 - ISSN 1909 - 2520
integracin y validacin diarias, esto proporcionar al que afecten el desarrollo del proyecto. Su tarea es
equipo un indicador del progreso y revelarn a tiempo lograr que la computadora comprenda y haga todo
si existe alguna falla en el sistema. Las pruebas (Som- segn los requerimientos del usuario, el programador
merville, 2005) tienen las siguientes caractersticas: debe conocer cmo hacer el programa y trabajar
de la mano con el cliente.
- Desarrollo previamente aprobado: Significa que
primero se escriben las pruebas y luego el cdigo. Clientes: El cliente dirige y conoce las metas a al-
Las pruebas deben simular el envo de la entrada canzar en el proyecto. Debe conocer qu debe ha-
ha probar y deben verificar que el resultado cum- cer el programa, para que de sta forma gue y tra-
pla con las especificaciones de salida. baje de la mano con los programadores, por lo tanto
debe aprender a escribir las historias de usuario. El
- Desarrollo de pruebas incremental: Los requeri- cliente y los desarrolladores tienen gran responsabili-
mientos del usuario se expresan como historias, el dad en el proyecto.
equipo de desarrollo evala cada historia y la di-
vide en tareas. Cada una representa una carac- Tester (probadores): Su responsabilidad es correr las
terstica distinta del sistema y se pueden disear pruebas funcionales con regularidad y dar a conocer
pruebas de unidad para esa tarea. los resultados de esta, as como elaborar las pruebas
junto con el cliente.
- Participacin del usuario en el desarrollo de las
pruebas: El usuario ayuda a desarrollar las prue- Tracker (responsable del seguimiento): Debe cono-
bas de aceptacin, las cuales son pruebas que cer el alcance funcional del equipo, controla los tiem-
se implementan con los datos reales del cliente pos de desarrollo, controlar los hitos y entregas, puede
para verificar el cumplimiento real de sus nece- tomar decisiones estratgicas para el equipo y debe
sidades. asegurar el alcance y despliegue de la aplicacin.

- Uso de bancos de pruebas automatizados: Se En sntesis, actualmente XP es una de las metodo-


debe usar un sistema que enve a ejecucin las logas de mayor aceptacin en la industria del soft-
pruebas automatizadas y de esta forma probar ware, su enfoque basado en los mtodos giles, su
constantemente el sistema software. nfasis en la gestin del recurso humano el cul es
uno de los puntos ms crticos en todo proyecto, y
sus principios de previsibilidad y adaptabilidad hacen
Artefactos
de esta metodologa una buena opcin a seguir.
En todo proceso de desarrollo de software se gene-
ran modelos de informacin. En XP se generan varios
artefactos como las tarjetas de historias de usuario V. SCRUM
(Story Card), las tarjetas de tareas para la descarga
de documentos, el cdigo, las pruebas unitarias y SCRUM es un marco de trabajo basado en los mto-
de integracin y las pruebas de aceptacin. Los ar- dos giles, que tiene como objetivo el control conti-
tefactos son importantes para conocer cul fue el nuo sobre el estado actual del software, en el cual el
proceso de desarrollo del software y lograr entender cliente establece las prioridades y el equipo SCRUM
cmo est construido el sistema, as como la ruta a se auto-organiza para determinar la mejor forma de
seguir para agregar funcionalidad al sistema. entregar resultados (Abrahamsson, Salo, Ronkainen y
Warsta, 2002).
Roles
Los miembros de un equipo trabajan mejor cuando SCRUM fue desarrollado en 1986 por Hirotaka Takeuchi
hay roles establecidos, cada rol tiene consigo respon- e Ikujiro Nonaka quienes describieron una nueva
sabilidades que tienen como finalidad cumplir con aproximacin metodolgica que incrementa la rapi-
los objetivos del proyecto. Algunos proyecto necesi- dez y la flexibilidad en el desarrollo de nuevos produc-
tan de mltiples roles como tsteres o probadores, in- tos comerciales. El enfoque de sta metodologa es
genieros de calidad, analista de requerimientos, ad- como en el rugby, donde el proceso es similar a un
ministrador del proyecto, administrador del producto, equipo entero que acta como un slo hombre para
profesionales de marketing. El nmero de roles vara intentar llegar al otro lado del campo, pasando el ba-
de acuerdo con el proyecto. A continuacin se expli- ln de uno a otro. sta metodologa se inici en el
can algunos de los ms relevantes: campo de las industrias automovilsticas y de tecnolo-
ga, pero a principios de los aos 1990 Ken Schwaber
Programador: Es el corazn de XP, el programador la llev a la prctica en su compaa Advanced De-
con base en su experiencia puede tomar decisiones velopment Methods (Mountain Goat Software, s.f.) al
Inventum No. 10 Facultad de Ingeniera UNIMINUTO - Junio de 2011 - ISSN 1909 - 2520 73
igual que XP, en SCRUM se hace bastante nfasis en cualquier anomala y proceder con transparencia,
la gestin del recurso humano, esto se puede apre- pues cualquier falla o error que no se socialice pue-
ciar mejor en las caractersticas del mtodo SCRUM, de afectar el resto del proceso. Tambin se reco-
que se explican a continuacin. mienda hacer visible los avances durante el desa-
rrollo del proyecto
Caractersticas
SCRUM da prioridad a los individuos y las interaccio- Respeto entre las personas: Los miembros del equi-
nes sobre los procesos y las tareas, lo cual significa po, al igual que en un equipo deportivo deben con-
que gran parte del xito del proyecto radica en la fiar entre ellos y respetar sus conocimientos y capa-
forma cmo el equipo se organice para trabajar. Se cidades, pues las cualidades de cada uno son las
debe tener una cohesin fuerte de equipo ya que el fortalezas de todo el equipo.
triunfo de un hito no es de un slo miembro sino de
todo el equipo SCRUM, todos se colaboran entre s, y Coraje y responsabilidad: Se debe tener respon-
empujan a los integrantes que no estn a la par con sabilidad y auto-disciplina (no disciplina impues-
el equipo (Beck, K. et al., 2001) ta), cada miembro del equipo debe estar presto a
sortear dificultades y responder positivamente a los
El enfoque SCRUM propone el software funcional so- cambios que se puedan generar.
bre la excesiva documentacin, a diferencia de RUP
el cual es estricto en documentacin. Se presenta Roles
al cliente las soluciones operables y no solo reportes En todo proceso de desarrollo de software deben
de progresos, de sta forma el cliente puede decidir existir roles, los cuales definen comportamientos y
avanzar o parar, en otros enfoques solo se ven resul- actividades importantes para el proyecto. SCRUM
tados al final. divide su equipo de trabajo (Rising y Janoff, 2000) en
cinco grupos de personas:
De igual forma, SCRUM promueve la colaboracin
con el cliente en lugar de rgida negociacin de con- Propietario del producto: Es la persona que de-
tratos. Por lo cual, es importante tener capacidad de termina las prioridades del proyecto, debe conocer
respuesta para los cambios en lugar de seguir es- muy bien y saber que se quiere del producto, para
trictamente una planificacin, partiendo del principio de esta forma guiar al equipo SCRUM hacia la con-
que el proyecto software es cambiante. El propsi- secucin de los objetivos.
to es que el cliente vaya observando los resultados,
pueda decidir cambios en la marcha o incluso darle SCRUM Manager: Es el encargado de gestionar y
un giro completo al proyecto. facilitar la ejecucin del producto, debe asegurar el
seguimiento de la metodologa y el cumplimiento de
Valores las metas trazadas, as como de atender y solucionar
Al igual que en las tres metodologas abordadas an- los asuntos externos al proyecto.
teriormente, SCRUM promueve valores (Sutherland y
Schwaber, 2007) que ayudan a clarificar los procedi- Equipo SCRUM: Es el corazn de la metodologa
mientos de la metodologa y contribuye a garantizar el pues ellos construyen el producto, est conformado
cumplimiento y la evolucin de SCRUM; los cuales son: por los desarrolladores.

Empoderamiento y compromiso de las personas: Interesados: Tambin llamados StakeHolders son los
Se procura delegar y atribuir responsabilidades con que observan y asesoran el proceso, tambin pue-
la finalidad que el equipo se pueda auto-organizar den ser agentes externos interesados en financiar o
y tomar decisiones sobre el desarrollo del proyecto. promover el proyecto.
Un miembro del equipo no puede tomar decisiones
acertadas si no est involucrado en el proceso de Usuarios: Quiz uno de los menos tenidos en cuenta
desarrollo del software. pero finalmente son ellos los que realizaran las prue-
bas lgicas de la aplicacin y verificar si se cumplen
Foco en desarrollar lo comprometido: Los miem- sus expectativas. Los clientes pueden aportar ideas o
bros del equipo de trabajo deben centrarse en desa- necesidades no consideradas por el equipo SCRUM.
rrollar lo pactado con el cliente y lo comprometido
con el resto del equipo. Artefactos
Al igual que en RUP, MSF y XP, los artefactos son los
Transparencia y visibilidad del proyecto: Se debe diferentes modelos de informacin (Mountain Goat
mantener informado al equipo, procurar evidenciar Software, s.f.) generados durante el proceso de desa-
74 Inventum No. 10 Facultad de Ingeniera UNIMINUTO - Junio de 2011 - ISSN 1909 - 2520
rrollo del software, SCRUM produce los siguientes tres Revisin del SPRINT: Es una reunin informativa,
artefactos: aproximadamente de 4 horas, en la que el mode-
rador es el SCRUM Manager. En sta reunin se hace
Pila del producto: Es el corazn de SCRUM, es la la presentacin del incremento, el planteamiento de
relacin de requisitos del producto, en la cual no es sugerencias y anuncio del prximo Sprint.
necesario excesivo detalle pero s deben estar priori-
zados. sta lista o pila del producto est en constante Retrospectiva del SPRINT: Despus de cada Sprint,
evolucin y abierta a todos los roles, pero es el pro- se renen los miembros del equipo (Aproximada-
pietario del producto el responsable y quien decide mente 4 horas) y expresan sus opiniones del Sprint
sobre esta. recin superado, con la finalidad de mejorar los pro-
cesos. Es bsicamente una reunin de evaluacin y
Pila del SPRINT: Son los requisitos comprometidos mejoramiento.
por el equipo para el Sprint, se construyen con el nivel
de detalle suficiente para lograr su ejecucin por el El proceso SCRUM
equipo de trabajo. Debido a que la metodologa SCRUM es ms enfo-
cada a la organizacin del equipo de trabajo, as
Incremento: Es una parte del producto desarrollado como tambin lo es en gran parte XP, en SCRUM a
en un Sprint, y que es factible de ser usado, contiene diferencia de XP que tambin est basado en los
las pruebas, una codificacin limpia y documentada. mtodos giles, se divide el proyecto en periodos
de 4 semanas aproximadamente, cada periodo se
Reuniones denomina Sprint y cada equipo SCRUM recibe una
Es uno de los elementos fundamentales de la meto- lista de pedidos a ejecutar en un sprint determinado.
dologa SCRUM (Rising, y Janoff, 2000) y se realizan En la figura 13 se ve cmo los valores, artefactos y
peridicamente. A diferencia de las metodologas reuniones se conjugan en el proceso de desarrollo
expuestas anteriormente en este artculo, SCRUM de- SCRUM:
fine cmo deben ser las reuniones del equipo de tra-
bajo y los resultados que sta debe generar. A conti-
nuacin se explican cada una de ellas:

Planificacin del SPRINT: Es una jornada de trabajo


muy importante ya que su mala planificacin pue-
de arruinar todo el Sprint. En sta reunin el propieta-
rio del producto explica las prioridades y dudas del
equipo, estos estiman el esfuerzo de los requisitos
prioritarios incluyendo una lista de miembros y nivel
de dedicacin, y a partir de sta se elabora la pila
Figura 13: El proceso SCRUM. Fuente: Adaptado de The SCRUM
de Sprint. El SCRUM Manager define en una frase el Papers (Sutherland y Schwaber, 2007).
objetivo del Sprint.
El proceso SCRUM (Figura 13) se compone de 5 fa-
Reunin diaria: Comprende una reunin de mni- ses las cuales contienen las actividades a desarrollar
mo 15 minutos y mximo 30 minutos de duracin, durante un periodo, comprendidas de la siguiente
en el mismo lugar de reunin y a la misma hora. La manera:
reunin est dirigida por el SCRUM Manager y slo
puede intervenir el Equipo SCRUM. ste hace las si- Revisin de planes de Release: Corresponde (figura
guientes preguntas a cada miembro del equipo: 13) a la planificacin del Sprint. sta fase se ejecuta
una vez establecida la pila de producto y es llevada
Qu hiciste ayer? a cabo por el equipo a fin de evaluar las diferentes
Cul es el trabajo para hoy? factibilidades de los requerimientos y estimaciones,
Qu necesitas? basndose en la funcionalidad y las prioridades de
la pila de producto.
Una vez conocida la situacin actual del equipo
SCRUM se actualiza la pila del Sprint y el SCRUM Ma- Distribucin, revisin y ajustes de estndares de
nager debe tomar decisiones de inmediato, tam- producto: Corresponde en la figura 13 a la Pila de
bin tiene la responsabilidad de sealar los obst- Sprint. En sta fase los desarrolladores realizan los ajus-
culos que deben ser resueltos externamente para no tes de los estndares y requerimientos mnimos, dejan-
alargar ms el tiempo de la reunin. do todo listo para comenzar con la fase de Sprint.
Inventum No. 10 Facultad de Ingeniera UNIMINUTO - Junio de 2011 - ISSN 1909 - 2520 75
Sprint: sta Fase de aproximadamente 30 das es plinas, conceptos y prcticas contribuyen a prevenir
donde se efecta el desarrollo del software y se lle- las causas de fracaso en el desarrollo de proyectos
van a cabo las reuniones, consta de las siguientes de software.
subfases: elaborar, integrar, revisar y ajustar. Estas
subfases no son estrictas, pero claramente obede- Los mtodos tradicionales como RUP y MSF entre
cen a prcticas ya mencionadas en las metodolo- otros, son bastante sistemticos en su proceso, los
gas RUP, MSF y XP. cual implica altos niveles de dedicacin en la pla-
nificacin y documentacin para posteriormente
Revisin del Sprint: Corresponde (figura 13) al in- lograr el desarrollo deseado, an as, stos mtodos
cremento. En sta fase se revisa el Sprint y si es nece- han ido evolucionando a versiones de la metodo-
sario se aaden nuevos tems a la pila de producto. loga enfocada a procesos agiles, tales como RUP
ste proceso se repite hasta que el producto est listo Agil y MSF gil, ya que el mercado y la industria de
para la fase de cierre. desarrollo procura obtener resultados a poco tiem-
po y dispuestos al cambio constante.
Cierre: En sta fase se da lugar a la depuracin y
correcciones de errores (debugging), ste proce- Todos los mtodos tienen sus limitaciones, as como
dimiento se repite hasta alcanzar la calidad en el las metodologas giles son las ms adecuadas
producto. Posterior a las correcciones y pruebas se para proyectos pequeos y medianos, no son las
realiza el Marketing y promocin del producto y al ms adecuadas para sistemas de gran escala que
terminar sta fase el proyecto queda cerrado. requieran de interacciones complejas con otros sis-
temas, esto debido a que estos sistemas requieren
En el ciclo de vida SCRUM cada periodo de aproxi- de un nivel de precisin bastante alto, aunque no
madamente 4 semanas dara como resultado una todos los mtodos giles se basan en el desarrollo y
versin del producto. Al entregar esa versin, el entrega incremental, si comparten los principios del
equipo inicia de nuevo la planificacin del prximo manifiesto gil para el desarrollo de software.
sprint e inicia de nuevo con el proceso SCRUM (Fi-
gura 13). El ciclo de vida SCRUM termina cuando el No sera conveniente implementar una metodolo-
producto software haya cumplido el objetivo para ga gil para el desarrollo de un sistema crtico en el
el cual fue diseado. cual es necesario el anlisis detallado de todos los
requerimientos para comprender su complejidad e
En conclusin, la metodologa SCRUM, ofrece herra- implicaciones, esto debido a la complejidad y la
mientas que permiten gestionar el equipo de trabajo extrema precisin que pueda tener la captura de
hasta el punto de proponer tiempos para el proce- requerimientos, en los cules las metodologas XP y
so de desarrollo de software y para las reuniones del SCRUM ofrecen demasiada flexibilidad.
equipo, con la finalidad de asegurar el cumplimento
de los objetivos del proyecto. SCRUM no define tci- Dado que los mtodos giles hacen ms explcita
tamente las temas de bajo nivel en un proceso de la importancia en el manejo del equipo y personas,
desarrollo de software, tales como las relacionadas se pueden pensar cmo un complemento para las
con el cdigo que s lo hace XP, las tcnicas de mo- metodologas que estn ms inclinadas a los pro-
delamiento que s lo hace RUP, y las tecnologas entre cesos y la documentacin, tales como RUP y MSF.
otras, lo cual deja entrever que ms que una meto-
dologa sera una disciplina de trabajo para proyec- Con base en la revisin de literatura y los anlisis
tos software. realizados en este artculo, se plantea la siguiente
matriz (Tabla 1) que compara caractersticas de las
VI. Conclusiones cuatro metodologas, en la cual se observan las for-
talezas y debilidades de cada una.
RUP es una metodologa que usa algunas de las
mejores prcticas en desarrollo de software, se Caracterstica RUP MSF XP SCRUM
adapta perfectamente a proyectos de gran escala Heredan modelos X X - -
y complejidad, as como de grandes equipos de
Independiente de - X - X
trabajo, tambin cuenta con un gran nivel de acep- tecnologas
tacin entre desarrolladores.
Documentacin X X - -
estricta
Por su parte MSF proporciona herramientas para lle-
var a cabo el xito del proyecto, esto en cuanto a Estrictamente X - X -
sistemtico
personas y procesos. Sus principios, modelos, disci-
76 Inventum No. 10 Facultad de Ingeniera UNIMINUTO - Junio de 2011 - ISSN 1909 - 2520
Caracterstica RUP MSF XP SCRUM [8] International Business Machines (s.f.), Rational Uni-
fied Process. IBM [citado 01 Febrero 2011] Disponible
Ms enfocado en X X - -
los procesos
en ftp://public.dhe.ibm.com/software/rational/web/
datasheets/RUP_DS.pdf
Ms enfocado en - - X X
[9] Jeffries, R. (s. f.), Extreme Programming: An agi-
las personas
le software Development Resource, disponible en:
Resultados - - X X http://xprogramming.com/index.php , recuperado:
rpidos
20 de Febrero de 2011.
Cliente activo - - X X [10] Leterlier, P. (s. f.), Introduccin a RUP, Departa-
Manejo del X X X X mento de Sistemas informticos y Computacin
tiempo (DSIC), Universidad Politcnica de Valencia (UPV),
Refactorizacin - - X - disponible en: https://pid.dsic.upv.es/C1/Material/
del cdigo Documentos%20Disponibles/Introducci%C3%B3n%2
Iterativo X X X X 0a%20RUP.doc, recuperado: 01 de Febrero de 2011.
Respuesta a los - - X X
[11] Llorens, J. (2005), Gerencia de proyectos de tec-
cambios nologa de informacin,Caracas, Los libros de EL NA-
CIONAL.
Tabla 1: Matriz comparativa de las cuatro metodologas. Fuente: [12] Microsoft, Microsoft Solutions Framework (MSF):
El autor. Disciplinas y buenas prcticas para el desarrollo e
implantacin de proyectos, literatura gris, Microsoft,
Las diferencias entre enfoques (Tabla 1) obedece a
s.d., disponible en: http://www.microsoft.com/colom-
que stas metodologas pueden ser implementa-
bia/portafolio/msf.htm, recuperado: 09 de Febrero
das en diferentes contextos, con diferencias en los
de 2011.
requerimientos, en los niveles de riesgo que pueda
[13] Microsoft (2003), MSF Team Model Overview,
tener cada proyecto, en los tipos de clientes y en
white Paper, Microsoft, disponible en: http://technet.mi-
los niveles de calidad entre otros muchos aspectos,
crosoft.com/es-es/library/cc784945%28WS.10%29.
lo cual hace que cada enfoque metodolgico sea
aspx, recuperado: 11 de Febrero de 2011.
viable para los negocios con caractersticas similares
[14] Microsoft (2003), Microsoft Solutions Fra-
o para un determinado contexto de aplicacin.
mework, White Paper, Microsoft, disponible en:
http://www.microsoft.com/downloads/en/details.
VII. Referencias aspx?FamilyID=A71AC896-1D28-45A4-880C-
8B0CC8265C63, recuperado: 09 de Febrero de
[1] Abrahamsson, P.; Salo, O.; Ronkainen, J. & Warsta, J. 2011.
(2002), Agile software development methods: Review [15] Mountain Goat Software (s.f.), Introduction to
and analysis, Espoo 2002, VTT Publications 478, Oulu. SCRUM - An Agile Process, disponible en: http://www.
[2] Amo, F,; Martnez, L, & Segovia, F, (2005). Introduc- mountaingoatsoftware.com/topics/SCRUM, recupe-
cin a la ingeniera del software: Modelos de desa- rado:18 de Febrero de 2011.
rrollo de programas, 1 Edicin. Madrid (Espaa), [16] Oktaba, H. & Piattini, M. (comps.), Software Pro-
Delta Publicaciones. pp 335-349. cess Improvement for Small and Medium Enterprises:
[3] Beck, K. et al. (2001), Manifesto for Agile Software Techniques and Case Studies, Hershey, ed. IG Global,
Development, disponible en: http://agilemanifesto. pp. 7193.
org/, recuperado: 18 de Febrero de 2011. [17] Pressman, R. & Murrieta, J. (2006), Ingeniera del
[4] Booch, G.; Rumbaugh, J. & Jacobson, I. (2000), EI software un enfoque prctico. 6 Edicin. McGraw-
proceso unificado de desarrollo de software, Pear- Hill, pp. 67-73.
son Educacin, Madrid. [18] Programacin Extrema (s. d.), disponible en:
[5] Booch, G.; Jacobson, I. & Rumbaugh, J.(2006), http://www.programacionextrema.org/, recuperado:
El lenguaje Unificado de Modelado 2.0. 2 Edicin. 19 de Febrero 2011.
Addison Wesley Iberoamericana, Madrid. [19] Rational Software Corporation (1998), Ratio-
[6] Del Maschi, V. et al. (2007), Practical Experience in nal Unified Process Best Practices for Software
Customization of a Software Development Process for Development Teams,disponible en: http://www.
Small Companies Based on RUP Processes and MSF, ibm.com/developerworks/rational/library/content/
en Portland International Center for Management of 03July/1000/1251/1251_bestpractices_TP026B.pdf,
Engineering and Technology, pp. 24402457. citado 03 Febrero 2011]
[7] Gattaca S. A., Presentacin Metodologa MSF, s. [20] Rising, L, & Janoff, N. (2000),The SCRUM software
d.,disponible en: http://www.e-gattaca.com/eContent/ development process for Small Teams, en SOFTWARE,
home2.asp, recuperado:10 de Febrero de 2011. IEEE, Vol. 17, No. 4, July/August 2000, pp. 2632.
Inventum No. 10 Facultad de Ingeniera UNIMINUTO - Junio de 2011 - ISSN 1909 - 2520 77
[21] Silva, M.; Barrera, A.; Arroyave, j. & Pineda, J.
(2007), Un mtodo para la trazabilidad de requisitos
en el Proceso Unificado de Desarrollo, en Revista EIA,
nmero 8, pp. 6982.
[22] Sommerville, I. (2005), Ingeniera de Software, 7
Edicin, Madrid, Pearson Educacin S. A. pp 76-78.
[23] Sutherland, J. & Schwaber, K. (2007), The Scrum
Papers: Nuts, Bolts and Origins of an Agile Process,
Boston, Scrum Inc.
[24] Traa, Johan W. A. (2006), Rational unified pro-
cess vs. Microsoft solutions framework: a compara-
tive study, Rotterdan, Erasmus University Rotterdam,
The Netherlands.
[25] Wellington, C (2005), Managing a Project Course
Using Extreme Programming, en Frontiers in Education,
2005, FIE 05. Proceedings 35th Annual Conference.
[26] Wells, D. (2009), Extreme Programming: A gentle
introduction, disponible en: http://www.extremepro-
gramming.org/, recuperado:18 de Febrero 2011.

Oiver Adrs Prez R. Licenciado en Informtica Educativa, Especialista en Docencia para la Educacin
Superior, Estudiante del Magister en Ingeniera de Sistemas y Computacin, Profesor Investigador de la Fa-
cultad de Ingeniera de Unicatlica. oiverpr@gmail.com

78 Inventum No. 10 Facultad de Ingeniera UNIMINUTO - Junio de 2011 - ISSN 1909 - 2520

También podría gustarte