"RUP ES UNA METODOLOGÍA INCOMPRENDIDA, NO SE ENTIENDE, NO SE USA"
En la actualidad el desarrollo
web es planteado de manera en el cual no es posible usar una metodología web o
RUP volviéndola incomprendida y poco usada, esto se interpone en el desarrollo
eficiente y más practico continuando con una forma de desarrollo demasiado
rudimentaria. Tradicionalmente encontramos que
la persona que ofrece los servicios de desarrollo web, se reúne con un usuario
que presenta una serie de requerimientos y hablan de lo que necesita el mismo,
hasta llegar a un acuerdo entre los dos. Posteriormente se realizan y envían
las pruebas gráficas de cómo se solicitó que quedara la página web, esto realizado sin poner al tanto a los
diseñadores o programadores quienes no han interactuado con el usuario
solicitante. Después que el usuario está satisfecho y autoriza el diseño de la
página web, se asignan determinados tiempos para el desarrollo de la misma en
los cuales tanto diseñadores como programadores se someten.
Al no realizar ningún tipo de
documentación o algún diagrama, los diseñadores tienen que dejar un poco a su
imaginación las maquetas de desarrollo, dando la información a los programadores
basadas en las explicaciones de los requerimientos de la persona que se reunió
con el usuario inicialmente. No existen requerimientos establecidos por tanto
se puede generar un teléfono roto donde la comunicación va a ser muy alternativa
y el usuario tiende a estar insatisfecho y pueda realizar cambios
constantemente.
Es muy poco frecuente que un
programador utilice la metodología RUP, pues esta presenta siempre cierto
impacto en cuanto a su implementación debido a que puede afectar los tiempos de
entrega establecidos en cada proyecto, por tanto se debe ir estableciendo de a
poco evaluando a nivel individual el tiempo de desarrollo. La persona encargada
de la realización de cada proyecto debe ser el líder de desarrollo y no una
persona externa quien con dificultad estimara tiempos de entrega y puede que no
de la metodología adecuada para la ejecución del mismo. Esta persona encargada debe
tener conocimientos sobre desarrollo de software y leguajes de programación
pues las consecuencias de desconocer esto implica la poca calidad del software
entregado debido a que no se puede implementar ningún tipo de metodología.
Ahora bien para poder implementar
la metodología RUP es importante conocer en que consiste la misma.
"METODOLOGÍA RUP"
La metodología RUP o Metodología
de Proceso Unificado Racional se define como un proceso de ingeniería de software
dirigido al desarrollo de software, en donde se crea un producto por medio de
un proceso diseñado. La metodología de Proceso
Unificado Racional, es un modelo de software el cual permite el desarrollo del
mismo a gran escala, mediante un proceso de
recolección de pruebas y requerimientos y una continua retroalimentación,
con lo cual se da una garantía de cumplimiento de los estándares de calidad. Se enfrenta al inconveniente de generar mayor
complejidad en cuanto a la administración del mismo, aunque los beneficios que
obtendrá recompensan este esfuerzo.
Esta metodología presenta un
proceso de desarrollo con un marco metodológico el cual incluye las
estrategias, objetivos, actividades y artefactos, es decir toda la
documentación requerida durante el desarrollo. Esto se asocia con todos los
recursos humanos hábiles, competentes y capaces para asumir responsabilidades
definidas y roles específicos. RUP muestra dos dimensiones: una
es donde se representa el tiempo de desarrollo del proyecto y donde encontramos
los ciclos de vida de cada aspecto del proceso. Y la otra dirige hacia las
disciplinas de los procesos, es decir la lógica de las actividades de la
ingeniería de software. Estas dimensiones son las dos caras del Proceso
Racional Unificado (RUP) que usándolas
en conjunto logran una metodología de gran ayuda para el desarrollo de
proyectos dentro de una organización. Muchas de las ventajas de la
utilización de la metodología RUP empleada para el desarrollo de software son:
- La obtención de un desarrollo reiterativo de software.
- Manejo directo de requerimientos y componentes para el diseño y arquitectura de software.
- Realización de soporte y análisis de requerimientos de cambio al software.
- Aumento en la calidad del software.
Este proceso proporciona muchas
disciplinas que dan una organización para la asignación de tareas y
responsabilidades, en todas las entidades u organizaciones en especial a las
dedicadas al desarrollo de software. Como objetivo principal tienen el desarrollo
de software de alta calidad, con la garantía necesaria de satisfacción del
usuario dentro de un límite de tiempo establecido y un presupuesto conveniente
para las dos partes. Quienes implementan RUP se transforman en un equipo de desarrollo
dentro del cual se incluye al usuario y todos los socios, de esta manera se
asegura que el proceso este continuamente actualizado y en constante mejora,
dando a los desarrolladores mayores experiencias, practicas productivas. La
mejora de la productividad del equipo genera una base de conocimientos con
plantillas y mejores herramientas para el desarrollo de nuevas actividades.
El proceso unificado garantiza
que todo un equipo pueda acceder a la misma base de conocimientos creando y
manteniendo los modelos que se han establecido dentro de la organización y
dejando que esta sea a la vez flexible a nuevas sugerencias de cambios en
cuanto a sus requisitos, diseños, pruebas, gestión de proyectos, gestión de
configuraciones, entre otros. RUP no se
centra en el almacenamiento de gran cantidad de documentos físicos (papel), si
no en el desarrollo y mantenimiento de modelos y presentación del sistema de
software que se está desarrollando. Es muy importante mencionar como
el Proceso Racional Unificado sirve como orientación para la adecuada
utilización del Lenguaje Unificado de Modelado o UML.
"RUP vs UML"
Más que un enfrentamiento el
Proceso Racional Unificado es una guía para saber cómo se utiliza el Lenguaje
Unificado de Modelado. El UML se define como un lenguaje estándar que nos
dirige a definir los requisitos, arquitecturas y diseños. RUP presenta una serie de herramientas que
mecanizan el proceso de ingeniería, esto sirve en el momento de crear y
mantener modelamientos en cuanto al desarrollo de software. El proceso de ingeniería
es decir la programación, modelamiento, pruebas, entre otras, son de gran apoyo
en la gestión de cambios que acompaña los cambios que pueda presentar la RUP. Es bueno aclarar que no solo el
Proceso Racional Unificado es el adecuado para el desarrollo de software. Este
proceso por lo general encaja en equipos de trabajo de desarrollo de software pequeño
y también en grandes organizaciones de desarrollo.
"ARQUITECTURA DE PROCESO SIMPLE"
RUP se basa en una arquitectura
de proceso simple, sin embargo tiene la capacidad de adaptarse a diferentes
situaciones. Este Proceso Unificado
proporciona soporte para satisfacer las necesidades de la organización que lo
aplique. Las mejores prácticas de la
modernidad se basan en RUP, pues en el desarrollo de software manifiesta una
amplia gama de proyectos y organizaciones.
"RUP A TRAVÉS DEL TIEMPO"
El Proceso Racional Unificado
surge como sucesor del Proceso Racional Objetivo lanzado en 1996 en su última
versión. El RUP surge con material más
completo en las áreas de ingeniería de datos, proyectos de administración y
gestión, trayendo también mayor integración de gran cantidad de herramientas de
software. RUP es el resultado de la combinación del “Enfoque Racional” y el “Proceso
Objetivo” en 1995. Desde su surgimiento, el RUP ha
recibido de la estructura del Proceso Racional Objetivo diferentes conceptos de
casos de uso, desde su fondo racional el proceso a adquirió la formulación de
ser iterativo en cuanto a su desarrollo y arquitectura. RUP se considera la primera metodología
en asociarse con UML o Lenguaje Unificado de Modelado quien en esos momentos
estaba surgiendo. El Proceso Racional Objetivo surge en 1987 como resultado de
la experiencia de Ivar Jacobson en su paso por Ericsson. Con este proceso
Jacobson crea su propia empresa centrado en conceptos de casos de uso y una
metodología de diseño orientada a objetos.
RUP fue ganando reconocimiento
rápidamente dentro de las industrias desarrolladoras de software y fue yendo
transportada e integrada en muchas empresas de todo el mundo.
"RUP Y SUS PERSPECTIVAS"
El Proceso Racional Unificado
presenta tres perspectivas:
- Perspectiva dinámica: Encontramos las fases RUP en el tiempo, las cuales son dinámicas es decir que poder ir cambiando permanentemente.
- Perspectiva estática: Encontramos las fases RUP en el tiempo, las cuales son estáticas es decir las cosas que están establecidas previamente y que no cambian pero que influyen en el cambio dinámico del proceso.
- Perspectiva práctica: Son las buenas prácticas que se realizan durante el proceso, que se dan a través de la experiencia.
"RUP Y SUS DIMESIONES"
Existe una asociación entre las
perspectivas y las dimensiones que a lo largo de este documento se han ido
mencionando, en donde podemos definirlas como dos ejes:
- Un eje horizontal en cual representamos el tiempo y las perspectivas dinámicas del RUP. Esto se expresa en términos de ciclos, fases, iteraciones, entre otros.
- Un eje vertical en cual se muestran las perspectivas estáticas del RUP. Esto se expresa en términos de actividades, artefactos, entre otros.
RUP es una metodología incomprendida, no se entiende, no se usa, aun cuando esta práctica metodología se considera una Ingeniería de Procesos de Software. La conciencia que han ido tomando poco a poco las organizaciones de lo importante que es documentar y estructurar un proceso de desarrollo de software ha generado un gran cambio de éxito en surgimiento de sus nuevos proyectos.
Si realizamos una asociación con
el desarrollo del CMM (Modelo de Capacidad y Madurez), que fue desarrollado por
la SEI (Instituto de Ingeniería de Software), observamos cómo se ha convertido
en una guía para muchas organizaciones cuando se esmeran en cumplir sus
objetivos en niveles superiores. Se identifican organizaciones que han ido
compartiendo sus conocimientos con los desarrolladores de software, lo que ha
vuelto el colectivo conocimiento no relacionado con los métodos de diseño o los
libros de texto publicados, lo que lo convierte en un conocimiento poco
reutilizable, demasiado obsoleto y sin actualizaciones permanentes. Existen otras organizaciones que no presentan
un proceso en cuanto a desarrollo de software, lo cual presenta muchas
limitaciones pues al no tener un punto de partida no se sabe por qué camino se
va a realizar el desarrollo desmejorando en cantidades la calidad del producto
del software.
La metodología RUP, puede ayudar
a todo este tipo de organizaciones dando a su disposición una serie de procesos
de ingeniería de software maduros, rigorosos y flexibles, por eso es muy
importante para las empresas comprenderla, entenderla y así finalmente
utilizarla. Cuando conocemos la metodología RUP estamos enterados de que:
- RUP es una lista de procesos de organización.
- RUP no es un libro escrito y estandarizado, es un método de desarrollo, que se modifica, actualiza y publica. El software inicia desde la construcción de todo su proceso de desarrollo, es decir que la metodología RUP contribuye al diseño, desarrollo, entrega y mantenimiento como cualquier herramienta de software.
- Todos los productos de software desarrollados mediante la metodología RUP, están diseñados y documentados con el Lenguaje Unificado de Modelado o UML, quien se considera como una columna vertebral que mantiene muy coherente todo el proceso.
- Cuando el software ya está terminado, se entrega en línea utilizando la tecnología Web, no se entrega ningún tipo de libro o carpeta, lo que permite estar más en contacto con los desarrolladores del mismo.
- Se garantiza que las actualizaciones de software serán dadas regularmente dos veces al año, lo que no permite que este sea un proceso obsoleto y se beneficien los usuarios teniendo un producto de mayor calidad, esto ayuda a que todo el equipo maneje una misma versión del proceso.
- Gracias a que los procesos de la metodología RUP son modulares, estos se pueden ajustar o configurar para que se adapten a las necesidades de cada empresa u organización desarrolladoras de software, algo que es demasiado complicado cuando se planta en un libro escrito.
- RUP es adaptable con muchas herramientas desarrolladoras de software, con lo cual los desarrolladores tienen mayor facilidad de innovar los procesos y dar mejoría a las herramientas que están desarrollando.
"RUP, LA METODOLOGÍA DE LOS PROCESOS"
El Proceso Racional Unificado,
como se ha venido mencionando, es una metodología que presenta un marco de
procesos que se adaptan y ajustan a las necesidades de la organización. Es tan
general y amplio como para ser adoptado por cualquier empresa u organizaciones
desarrolladoras de software sin importar si son pequeñas, medianas o grandes, o
si no presentan alguna estructura de proceso fuerte u organizado. La
organización que adopte esta metodología puede modificar y ajustar RUP con el
fin de adaptar el proceso a sus necesidades, características o limitaciones,
siguiendo con la historia, cultura y dominio que ha conservado la organización. Cuando un proceso es seguido
ciegamente, el trabajo tiende a ser inútil e innecesario, dando productos con
muy poco valor y con tendencia a ser olvidados. Es mejor realizar un proceso
que aunque no sea tan llamativo, cumpla de una forma precisa la misión y los
objetivos propuestos y ayudar a los desarrolladores de software para producir
un producto con alta calidad. La
adaptación de mejores prácticas dentro de la organización y todos sus
procedimientos deben complementar estos procesos.
Dado a que el proceso no es
estático, cada uno de sus elementos puede modificarse, personalizándose,
incluyendo o suprimiendo, las diferentes actividades o flujos de trabajo. La
metodología RUP es tan abierta que presenta funciones, actividades y ejemplos
necesarios para realizar las modificaciones convenientes y los ajustes para ser
adaptada en la organización.
Existe otra herramienta asociada
a las actividades de desarrollo de Software como el Proceso Racional Workbench
las cuales también utilizan un Lenguaje Unificado de Modelado o UML y es una
herramienta de RUP que apoya las actividades de diseño y creación de procesos,
ayuda a las variantes de cada proyecto desarrollado por las empresas o por el
mismo RUP, en conclusión esta herramienta se enfatiza en el progreso de los casos
de desarrollo. Desde el año 2000, se incrementaron muchas más variantes para
los casos de desarrollo en la metodología RUP implementada en las diferentes
organizaciones desarrolladoras de Software.
"DESARROLLO DE SOFTWARE ITERATIVO"
Es común observar como la mayoría
de equipos de trabajo desarrolladores de software, utilizan procesos de cascada
es decir secuencias estrictas en las fases de análisis de los requerimientos,
en el diseño, la implementación y todas las posteriores pruebas de
funcionamiento. Este es un enfoque poco eficiente pues lo que hace es retrasar
durante periodos prolongados a los miembros del equipo desarrollador y
aplazando las pruebas hasta el ciclo final de todo el proyecto, cuando se pudo
haber presentado problemas durante el camino del desarrollo. Todos los problemas
presentados ya resultan muy difíciles de resolver y sobre todo costosos,
representarse como amenaza en la calidad del producto. Es algo que tendría solución
luego de la implementación de RUP, pues esta ofrece un enfoque iterativo que
permite:
* Tomar en cuenta siempre al usuario.
Se toma en cuenta las exigencias que esté presente ya sea para cambios o para nuevas apreciativas. Los requisitos son cambiantes a medida que se realiza el desarrollo, esta es una de las principales causas de los problemas de software, dando prolongaciones a las entregas finales, generando un usuario insatisfecho y un desarrollador desmotivado. La integración de nuevas exigencias con la metodología RUP se deben realizar de a poco por el camino del desarrollo, así estas serán mucho más pequeñas e implicaran menor número de elementos.
* Tomar en cuenta siempre al usuario.
Se toma en cuenta las exigencias que esté presente ya sea para cambios o para nuevas apreciativas. Los requisitos son cambiantes a medida que se realiza el desarrollo, esta es una de las principales causas de los problemas de software, dando prolongaciones a las entregas finales, generando un usuario insatisfecho y un desarrollador desmotivado. La integración de nuevas exigencias con la metodología RUP se deben realizar de a poco por el camino del desarrollo, así estas serán mucho más pequeñas e implicaran menor número de elementos.
* Identificación de
riesgos durante la integración.
Generalmente los riesgos deben ser tratados y detectados durante la integración, con la metodología RUP se pueden mitigar los riesgos desde antes. Cuando se van desenrollando las iteraciones poco a poco, estamos poniendo en prueba cada uno de los componentes del proceso, se evalúan muchas cosas del proyecto como las herramientas a utilizar, el profesionalismo de las personas, entre otros. Se da la oportunidad de mostrar los riesgos reales que se presentan en el desarrollo o también prevenir riesgos futuros que serán más fáciles y menos costosos de superar.
Generalmente los riesgos deben ser tratados y detectados durante la integración, con la metodología RUP se pueden mitigar los riesgos desde antes. Cuando se van desenrollando las iteraciones poco a poco, estamos poniendo en prueba cada uno de los componentes del proceso, se evalúan muchas cosas del proyecto como las herramientas a utilizar, el profesionalismo de las personas, entre otros. Se da la oportunidad de mostrar los riesgos reales que se presentan en el desarrollo o también prevenir riesgos futuros que serán más fáciles y menos costosos de superar.
* Gestión de cambios para el
producto.
La metodología RUP
garantiza una gestión en los cambios del producto desarrollado, así la organización
se transforma en más competitiva. Esto nos permite entregar primeros planos del
producto funcional al usuario, mientras se mueve en el mercado a la par de sus
competidores.
· * La reutilización del producto o alguna de sus
partes.
Durante la planificación
del proyecto, se pueden identificar partes que presenten en común con proyectos
ya desarrollados. En las primeras iteraciones en la fase de diseño, podemos
asociar por parte de los arquitectos oportunidades de reutilización, y después iniciar
desarrollando código en común para el desarrollo de este nuevo software.
* Corregir errores
durante el desarrollo.
La arquitectura se
vuelve más completa, cuando durante su desarrollo en las diferentes
iteraciones, se pueden corregir los errores. A medida que se va avanzando en el
desarrollo, se van detectando fallas, que si son tratadas en su transcurso
tienen mayor facilidad en la solución que si se acumulan al finalizar el
software, en la fase de prueba.
En estas pruebas iterativas los técnicos
en programación inician a escribir, luego se generan diseños y así sucesivamente
se va llevando a cabo el desarrollo. Cuando el desarrollo no es iterativo, no
existe un proceso concreto, por el contrario cada persona aportaría su proceso
desde el usuario hasta el programador. Cada
persona del equipo de desarrollo de software puede ir mejorando los procesos a
lo largo del camino. La última iteración que realiza RUP no solo se encarga de
evaluar el estado del proyecto pretendiendo que se entregue un producto o
programa, sino que también da un análisis de los cambios que debe realizar la organización
o empresa para evitar errores en próximos proyectos.
Muchos equipos desarrolladores
temen a la implementación de metodologías iterativas, pues las entienden como
una propuesta sin fin y en donde pueden presentar una serie de vulnerabilidades
en sus procesos. El comprender y utilizar “RUP”
demuestra cómo controlar esas iteraciones en cuanto a la cantidad y duración que
son planeadas con anterioridad, también controlar las tareas y
responsabilidades que tiene cada integrante del equipo desarrollador. En esa planeación
se captura el desarrollo de todo el proceso, con esto se puede tener una mejor organización,
un producto de alta calidad y finalmente un usuario satisfecho.
Elaborado por:
NARDY PAOLA JAIME RINCÓN
COD. 066102014
No hay comentarios:
Publicar un comentario