METODOLOGIAS DE DESARROLLO DE SOFWARE
“EL ÉXITO DE UNA METODOLOGÍA ESTÁ EN SABER CUÁNDO, CÓMO Y POR
TEMA: (RUP) RATIONAL UNIFIELD PROCESS – PROCESO RACIONAL
UNIFICADO
1) INTRODUCCIÓN
RUP es un proceso de desarrollo de software que usa un lenguaje unificado de
modelado (UML), este proceso racional unificado se compone de las siguientes
fases: inicio, elaboración, construcción y transición.
Fue creado por el RATIONAL SOFWARE CORPORATION la cual es una división de
IBM. El (RUP) se considera como un mentor de línea que proporciona directrices,
plantillas y ejemplos para todos los aspectos y etapas de desarrollo del programa. El
(RUP) es una herramienta integral de ingeniería de software que combina el
procedimiento de desarrollo con componentes que hacen parte del desarrollo.
El UML se creó por RATIONAL SOFTWARE, en la actualidad es mantenido por el
grupo de gestión de organización de estándares de objetos (OMG)
Lo que se busca dentro de una organización con la implementación del (RUP) es
encadenar todas las actividades que afectan la transformación de materia prima a
producto o la necesidad a el bien o servicio para suplirla.
Este proceso se compone de dos estructuras o dimensiones las cuales son
horizontal y vertical, la primera representa el tiempo y muestra los aspectos del ciclo
de vida del proceso que se desarrolla. La segunda muestra los flujos de trabajo.
El (RUP) se sustenta de las siguientes prácticas de desarrollo de software:
- Desarrollo de software de forma iterativa: con esto se busca corregir errores,
aprender a lo largo del proceso. Especializar el proceso, realizar cambios
tácticos, (reutilizar, desarrollar y madurar el código).
- Manejo de requisitos: se busca mejorar la calidad del software, controlar,
reducir costos, mejorar la comunicación del equipo.
- Utiliza arquitecturas basadas en componentes: estos componentes se usan
como paquetes que se prueban individualmente y se integran al proceso, se
pueden reutilizar en otros procesos.
- Software modelo visualmente: se realizan con el fin de comprender y dar
forma a un problema y su solución.
- Verificar la calidad del software continuamente: con el pensamiento que la
calidad de una organización depende de todos los miembros que la
componen se a dividido la calidad en el producto y proceso.
- Control de cambios en el software: al ser un desarrollo iterativo a menudo
muchos productos son modificados al presentarse esta situación se debe
estar pendientes de los cambios y garantizar de que todo este en sincronía.
Este sistema se aplica y acomoda a grandes y pequeños proyectos. Que tienen
como objetivo adoptar la mejores practicas aprobadas.
El proceso (RUP) proporciona un enfoque disiplinado con el fin de asignar tareas y
responsabilidades dentro de la organización. El obejtivo principal es que se produzca
un software de calidad que satisfaga la necesidad de los usuarios finales dentro de
las condiciones establecidas de tiempo y calidad. Se hace enfacis en el desarrollo y
mantenimiento de los modelos que componen este proceso. tambien se debe decir
que el (RUP) es configurable lo que le permite encajar con equipos de desarrollo
pequeños y organizaciones de desarrollo de gran tamaño.
Se habla de tres perspectivas que hacen parte del (RUP), la primera es la
prespectiva dinámica la cual se muestra con el constante cambio, la segunda es la
perspectiva estatica y se compone de cosas que no cambian pero son base para
realizar los demás cambios y la ultima es la perspectiva de la practica, son practicas
bien conocidas por su eficacio y utilidad dentro del trabajo de los procesos.
El proceso (RUP) es útil siempre y cuando el personal tenga la disposición y
educación para utilizarlo. De esta manera se dice que “El éxito de una metodología
está en saber cuándo, cómo y por qué usarla”
CLARIFICACIÓN.
Software, se refiere al conjunto de programas, instrucciones y reglas informáticas.1
(UML), Lenguaje de Modelado Unificado.2
(RUP), Es un proceso de ingeniería de software, que hace una propuesta orientada
por disciplinas para lograr las tareas y responsabilidades de una organización que
desarrolla software.
Su meta principal es asegurar la producción de software de alta calidad que
cumpla con las necesidades de los usuarios, con una planeación y presupuesto
predecible.3
Proceso, Conjunto de actividades mutuamente relacionadas o que interactúan, las
cuales transforman elementos de entrada en resultados.4
(XP), metodología extreme programing 5
(SCRUM), marcos de desarrollo ágiles 6
(KABAN), sistema de producción altamente efectivo y eficiente7
2) RAZONES
Entendiendo la metodología como el soporte conceptual que rige la manera en que
aplicamos los procedimientos de investigación. Hablamos de la metodologia (RUP)
como un procedimiento que nos permite controlar , mejorar e implementar la calidad
en los procesos que se involucran dentro de una organización. En pocas palabras es
un software que junto con informcaion como base de datos nos permite controlar y
mejorar los procesos con el objetivo de realizar un producto en las condiciones
ideales para el cliente.
1"software", http://www.gcfaprendelibre.org/tecnologia/curso/informatica_basica.
2"UML",http://www.ibm.com/developerworks/rational/library/content/RationalEdge/jan01/WhatIstheRationalUnifiedPr
ocessJan01.pdf.
3"RUP", https://softwarerecopilation.wordpress.com/modelo-rup/.
4"proceso", http://iso9001calidad.com/definicion-de-terminos-586.html.
5“(XP) http://www.usmp.edu.pe/publicaciones/boletin/fia/info49/articulos/RUP%20vs.%20XP.pdf
6“ (SCRUM)” , https://es.wikipedia.org/wiki/Scrum
7 “KABAN” , http://comunidad.iebschool.com/iebs/general/metodologia-kanban/
Este tipo de procedimientos que se basan en software han permitido agilizar y
mejorar la calidad a nivel mundial. Buscando asi ofrecer productos de primera a
bajos costos. Pero debemos tener en cuenta que para que una metodología como
(RUP) sea efectiva se debe de realizar un análisis en la organización que se quiere
implementar, pues este tipo de procedimientos no serán efectivos si solo se ejecutan
por ciertas personas dentro de la organización.
En la actualidad las organizaciones tienden a regirsen por lineaminetos que rigen a
nivel mundial con el fin de mostrarle a el mundo que se ellas tienen la capacidad de
satisfacer la demnda de un mercado ofreciendo calidad y siendo competitivas. Para
poder implementar estos lineaminetos en una organización se hace necesario que
todas las personas que componen la organización se incluyan dentro de estos
planes de mejoramiento y que sean preparadas para poder asumir un roll positivo
dentro de esos procesos de certificación.
Con las metodologías (RUP) ocurre algo similar pues cada persona que compone la
organización debe cumplir su papel además debe aportar a la mejora continua de
dichos procedimientos con el fin de mejorar.
Pero como saber cuando se debe implementar una metodología como esta. Pues no
es lo mismo tener una organización dedicada a la venta de peces que tener una
empresa dedicada a la venta de automóviles. Pues en la primera se requieren de
procesos mas especializados para ofrecer un producto de calidad y a bajo costo. En
la segunda aunque tambien se debe cuidar el producto no representara una
afectación a la vida del comprador si el producto no se conserva en ciertas
condiciones. Es por eso que dentro las organizaciones se deben tener personas
especializadas para saber que necesidad tenemos y como debemos suplirla.
Dependiendo de la necesidad de la organización podemos utilizar la metodología
(RUP) o metodologías como la (XP) extreme programing. Si se hace un paralelo de
estas dos metodologías podremos saber cuando como y porque usar el (RUP).
Entonces guiándonos en la información que se puede obtener de internet
procedemos a comparar estas dos metodologías.
Se entiende que la metodología (RUP) es una forma diciplinada de asignar tareas y
responsabilidades dentro de una organización en pocas palabras cada persona por
medio de esta metodología sabe que hacer , como hacerlo y cuando hacerlo,
requiere un grupo grande de programadores para trabajar con esta metodologia. La
metodología (XP) busca simplificar el desarrollo del software con el fin de reducir el
costo del proyecto, requiere un grupo pequeño de programadores. En cuanto el
costo VS las etapas de vida del sitema en el (RUP) este se incrementara cada ves
que se pasa a la siguiente etapa de vida del sistema. Mientras el (XP) tendrá
tendencia a estabilizar el costo.
La metodología (XP) puede usar programadores ordinarios, se rediseña todo el
tiempo , intenta dejar el código en el estado mas simple. Aunque el desarrollo de
software es riesgoso y difícil de controlar.
Una de las principales ventajas de (RUP) es que usa como base las mejores practica
que se han hecho y probado en la vida real. El (XP) se basa en practicas inestables
que se usaron y se evita que desaparezcan.
La metodología (RUP) se divide en cuatro fases (inicio, elaboración, construcción y
transición), estas cuatro fases incluyen (asignación de tiempo, hitos principales,
iteraciones por fases y planes de proyecto). mientras que la metodología (XP) se
basa en 4 variables (costo, tiempo, calidad y alcance)estas variables tiene cuatro
actividades (codificar, testear, atender y diseñar).
El (RUP) define 9 disciplinas (modelado de negocio, análisis de requisitos, análisis
de diseño, implementación, test, distribución, gestión de configuración y cambios,
gestión del proyecto, gestión del entorno) cada fase puede descomponenrse en
iteraciones con el fin de ofrecer un resultado bien sea interno o externo, el proceso
define una serie de role entre los miembros del proyecto tambien todos los miembros
comparten lo que es la base de conocimiento, proceso, vista de cómo desarrollar
sortware y el lenguaje de modelamiento. (XP) define doce practicas (jugar el juego
de planificación, hacer pequeños releases, hacer historias y usar metáforas, diseñar
simple, probrar-testear, rearmar-refactorizar, programar por pares, propiedad
colectiva, integrar continuamente, semanas de 40 horas, cliente On-Site, usar
estándares de codificación). Con esto (XP) intenta reducir la complejidad pro medio
de un trabajo orientado directamente al objetivo, se basa en relaciones
interpersonales y la velicdad de reacción. Aunque (XP) tiene debilidad cuando se
utiliza en dominios de aplicaiones complejas o situaciones difíciles en la
organización, la programación se hace en parejas pero el código pertenece al equipo
completo de manera que cada programador puede cambiar parte del código en
cualquier momento.
Otras metodologías como el (SCRUM) funcionan de manera colaborativa haciendo
uso de las buenas practica, son metodologías parecías a (XP). El (SCRUM) es una
metodología agil y flexible que sirve para el desarrollo de software. El objetivo de
(SCRUM) es maximizar el retorno de la inversión para la organización. Esta
metodología permite que el cliente observe crecer su proyecto cada ves que se itera
permitiéndole realinear el software con el fin de dirigirlo alos objetivos de la empresa.
Esta metodología promueve la innovación, motivación y compromiso del las
personas que hacen parte del proyecto. El (SCRUM) tiene como beneficios el
cumplimiento de expectativas, flexibilidad a cambios, reducción del time to Market,
mayor productividad, maximiza el retorno de la inversión (ROI), predicciones de
tiempos y reducciones de riesgo. Otra metodología es (KABAN) este es un sistema
adoptado por las compañías japonesas como toyota, esta metodología se
conceptualiza en tres frases la cuales son: (manufactura justo a tiempo, fuerza de
trabajo flexible y pensamiento creativo). Tiene como principios la eliminación de
desperdicios, la mejora continua, participación plena de personal, flexibilidad de la
mano de obra y (oraganizcion y visibilidad). Básicamente el (KABAN) sirve para
poder empezar cualquier operación estándar en cualquier momento, dar
instrucciones basados en las condiciones actuales del area de trabajo, prevenir que
se agregue trabajo innecesario a aquellas oredenes empezadas tambien prevenir el
ecxeso de papeleo innecesario.
El (KABAN) tiene como funciones principales
- El control de producción
- La mejora de procesos
El (KABAN) se compone de 4 fases
- Entrenar a todo el personal en los principios de KABAN, y los beneficios de
usar KABAN.
- Implementar KABAN en aquellos componentes con mas problemas para
facilitar su manufactura y para resaltar los problemas escondidos. El
entrenamiento con el personal continua en la línea de producción.
- Implementar KABAN en el resto de los componentes, esto no debe ser el
problema ya que para esto, los operadores ya han visto las ventajas del
KABAN.
- Revisión del sistema KABAN, los puntos reorden y los niveles de reorden.
Fases obtenidas de:
http://www.uaeh.edu.mx/docencia/Tesis/icbi/licenciatura/documentos/Sistema%2
0KANBAN.pdf
Como podemo ver hay mas de una metodología para que su empresa sea
productiva y tenga rentabilidad. Las metodologías como son
(XP),(SCRUM),(KABAN). Ofrecen otras oportunidades de mejora a su empresa sin
la necesidad de realizar una gran inversión de recursos económicos como pasa con
la metodolgia (RUP).
Como se evidencia el (RUP) esta diseñado para aquellas organizaciones que tenga
definidas sus funciones, actividades, departamentos y procesos. Que cada persona
que este dentro de la organización sepa cual es su función. Además de eso que
tengan las garantías económicas para poder acceder a esta metodología. La
organización debe saber contar con personas que sepan cual es la función del
Un ejemplo puede ser una empresa que fabrica zapatos y tiene la opción de venta
por catalogo virtual, adicional a esto tiene puntos de venta. Los diferentes procesos
que se aplican en esta organización son:
- Convertir la materia prima en producto.
- Venta del producto.
- Area gerencial.
- Area de mantenimieto.
- Area de distribución y entrega del producto.
- Area de atención y comunicación con el cliente.
Básica mente hablaremos de estos procesos.
El area de mantenimiento debe trabajar de la mano con el area de producción, pero
a su ves debe estar conetada con el area administrativa de la organización, el area
de atención y comunicación con el cliente debe estar conectada con el area de
distribución y entrega, tambien con el area de producción. De manera que la
organización debe tener una comunicación con todos los departamentos que la
componenen.
Si un cliente quiere compra unos zapatos pero no posee el tiempo para movilizarse a
uno de los puntos de venta, el cliente ve el catalogo virtual, selecciona el modelo,
color y talla tambien la catidad de pares que quiere comprar.
Después de realizada la transacción, el sistema debe generar una orden, esta orden
mostrara si hay esta referencia de inventario en los puntos de venta o si están
ubicados en la bodega. De no ser asi se debe realizar esta orden. El siguiente paso
consiste en reunir el pedido del cliente unficar las diferentes referencias tallas y color
pedidas por el cliente. Después de esto se deben enviar al cliente.
Como se evidencia en el diario vivir de esta organización se pueden presentar
problemas en cada departamento y cada proceso. la aplicaion de metodologías
como (RUP) permiten que se organicen de manera que mejore desde el clima
organizacional hasta la productividad. La implementación de la metodología (RUP)
en esta organización comenzaría con dos aspectos básicos los cuales son toda la
unificación de archivos, manuales, planes etc en una sola base de datos y la
implementación de software, primero que estandaricen cada proceso dentro de la
empresa, segundo tener un software que pueda enviar y recibir información de los
otros software de la organización, con el fin de poder colocar y recibir la información
y experiencias que se generan en cada departamento. Esta metodología
implementada genera indicadores tanto de calidad como de venta con el fin de saber
cuales son referencias, colores y tallas que mas se venden. Tambien conocer la
experiencia de los cliente con la organización. Es una forma de que las personas
que perteneen a la organización sean utiliez en el proceso de mejora continua y
Como podemos observar actualmente se ofrecen diferentes metodologías de
desarrollo de software, todas ajustadas a la necesidad del cliente pero el cliente
debe tener en cuenta que las metodologías son marcos de trabajo que se usan para
estructurar, planificar y controlar el proceso de desarrollo en sistemas de información
Las metodologías agiles nos permiten mejorar la eficiencia de la producción y la
calidad de los bienes o servicios. Estas metodologías tienen la capacidad de
respuestas al cambio en los productos . es decir que evolucionan con los acambios
que adoptan la necesidad o necesidades del cliente. Además de tener una
flexibilidad lo que le permite tener mayor adaptación.
Estas metodologías ofrecen una iteración constante con el cliente, una calidad que
mejora dia a dia, permite redefinir el horizonte del proyecto.
Y lo mas importante las metodologías agiles se diseñan con el fin de coregir la
incertidumbre que se puede presentar en los proyectos.
OBJECIONES
la metodología (RUP) es una metodología que requiere diciplina concentración y
compromiso de todos los deparatmentos que componen la organización. Tambien se
requiere una inversión de capital considerable respecto a las demás metodologías.
Lo que es importante analizar, pues si no se cuenta con la disponibilidad por parte
de las personas que componen el proyecto se puede caer en la banca rota.
Una de las principales desventajas de estas metodologías es que requiere personal
entrenado y especializado en cada area de la organización. Lo que supone un
incremento en los gastos de recursos para pago de personal. Pues los
desarrolladores deben conocer detallada mente el proceso que quieren controlar. Se
debe aprender a escuchar a todos los niveles de la empresa con el fin de que las
soluciones y mejoramiento puedan surgir desde el nivel de operarios hasta el nivel
de gerentes.
En países como colombia la tarea de implementar este tipo de metodologías se hace
difícil, pues la mayorioa de políticas empresariales consiste en que el mando y la
toma de deciciones recae en el area gerencial. Y los operarios son visto como fuerza
bruta mas no como aportantes de ideas, pues tienen la creencia que la educación
certificada es la única herramienta para dar soluciones.
5) CONCLUSIÓN
Las metodologías (RUP), (XP), (SCRUM), (KABAN) se implementan en las
organizaciones con el fin de poder controlar y mejorar los procesos. Haciendo
participes a cada una de las personas que la componen. Permiten reaccionar
rápidamente a la demanda del mercado y adaptarse a la competencia que surge.
Estas metodologías se han convertido en herramientas que son usadas en un buen
numero de empresas a nivel mundial. Lo que demuestra que la aplicación de estas
metodologías permiten a la empresa interactuar de manera directa con sus
proveedores y clientes, lo que indica que si una empresa quiere ser competitiva debe
incluir este tipo de metodologías.
Aunques como se mostro anteriormente no todas las metodologías sirven para todo
tipo de organización ni pueden usarse para lo mismo, la aplicación de la metodologia
debe hacerse dependiendo del proyecto que se quiera desarrollar pues no se puede
usar una metodología como (RUP) en proyectos que son cortos y que carecen de
presupuesto. O intentar implementar una metodología como (KABAN) en una
organización donde se aplica la microgerencia pues las personas que están bajo un
mando siempre estarían cambiando sus objetivos.
6) INFOGRAFIA
http://www.usmp.edu.pe/publicaciones/boletin/fia/info49/articulos/RUP%
20vs.%20XP.pdf
2.http://www.ibm.com/developerworks/rational/library/content/RationalEdge/jan01/What
IstheRationalUnifiedProcessJan01.pdf
3. https://es.wikipedia.org/wiki/Scrum
4. ://comunidad.iebschool.com/iebs/general/metodologia-kanban/
escrito por: ELKIN BARAJAS
FERNANDO OTALORA
JAIRO MESA,
JEISSON MAURICIO SIERRA.