El metamodelo de arquitectura unificada de método (Unified Method Architecture, UMA) se ha desarrollado
para unificar distintos métodos y lenguajes de ingeniería de procesos como la extensión SPEM de UML para la
ingeniería de procesos de software, los lenguajes utilizados para RUP v2003, Unified Process, método IBM Global
Services, así como para IBM Rational Summit Ascendant. Por ello, proporciona conceptos y posibilidades procedentes de
todos estos modelos fuente y los unifica de forma coherente, aunque permite que cada uno se exprese según sus propias
características. Este concepto proporciona una visión general de las posibilidades de UMA.
Separación del contenido del método y del proceso
UMA proporciona una clara separación de las definiciones del contenido del método de su aplicación en los procesos.
Esto se consigue definiendo por separado
-
el contenido del método principal reutilizable, en forma de descripciones de contenido general como roles, tarea,
productos de trabajo y guía.
-
aplicaciones específicas en contexto del contenido del método según el tipo de proyecto en forma de
descripciones de proceso que hacen referencia al contenido del método
El contenido del método proporciona explicaciones paso a paso de cómo se alcanzan objetivos de desarrollo muy
específicos, independientemente de la ubicación de estos pasos dentro del ciclo vital de desarrollo. Los procesos toman
estos elementos de contenido del método y los organizan en una secuencia que se puede personalizar con tipos de
proyectos específicos. Por ejemplo, un proyecto de desarrollo de software que desarrolle una aplicación desde el
principio lleva a cabo pasos de desarrollo similares a un proyecto que amplía un sistema de software existente. Sin
embargo, los dos proyectos llevarán a cabo pasos similares en distintos momentos con diferente nivel de énfasis y
posibles variaciones individuales.
Reutilización del contenido
UMA permite que cada proceso haga referencia al contenido del método común desde una agrupación de contenido del método
común. A causa de estas referencias, los cambios en el contenido del método se reflejarán automáticamente en todos los
procesos que lo utilicen. Sin embargo, UMA todavía permite sobrescribir ciertos contenidos relacionados con el método
en un proceso así como definir relaciones individuales específicas del proceso para cada elemento de proceso (como
añadir un producto de trabajo de entrada adicional a una tarea, renombrar un rol o eliminar pasos de una tarea que
deban realizarse).
Familias del proceso
El objetivo de UMA no es sólo dar soporte a la representación de un proceso de desarrollo específico o el mantenimiento
de varios procesos no relacionados, sino proporcionar un conjunto de herramientas a los ingenieros de proceso para que
puedan gestionar de forma coherente y eficaz familias enteras de procesos relacionados. UMA realiza esta operación
definiendo los conceptos de patrones de posibilidad y procesos de entrega así como las relaciones de
reutilización especificas entre estos tipos de procesos. Estos conceptos permiten a los ingenieros de procesos
mantener familias coherentes de procesos de entrega que son específicos de un tipo de proyecto y son variaciones del
mismo contenido del método y patrones de posibilidad de base. El resultado son distintas variantes de procesos
específicos construidos mediante la reutilización dinámica del mismo contenido del método y de los mismos patrones,
pero aplicada con distintos niveles de detalle y de escala; por ejemplo, las variantes de proceso para proyectos de
desarrollo a gran escala frente a los de menor escala.
Varios ciclos de vida
Una arquitectura general de método debe dar soporte a diversas variedades e incluso combinaciones de modelos de ciclo
vital para las definiciones de procesos. Estas variedades son: cascada, iterativa, incremental, evolutiva, etc. El
metamodelo UMA se ha diseñado para adaptarse a varios enfoques. Proporciona un variado conjunto de conceptos y
atributos de personalización para especificar la semántica temporal para los elementos de proceso como fases,
iteraciones, dependencias, trabajo continuo o condicionado por sucesos, etc.
Ampliación flexible y mecanismos de plug-in
Los plug-ins de método de UMA proporcionan una forma exclusiva de personalizar el contenido del método y los procesos
sin modificar directamente el contenido original. Por el contrario, simplemente describen las diferencias (adiciones
denominadas contribuciones y sustituciones) relativas al original. Este concepto de plug-in permite a los usuarios
actualizar fácilmente a versiones posteriores del contenido del método sin perder sus personalizaciones.
'Vistas' de varios procesos
UMA define varias vistas de los procesos que mantiene de forma coherente. Estas vistas permiten a los ingenieros de
procesos enfocar la autoría del proceso basándose en sus preferencias personales. Un ingeniero de procesos puede optar
por definir sus procesos centrándose en cualquiera de los aspectos siguientes:
-
Desglose de trabajo: vista centrada en el trabajo que define las tareas asociadas a una actividad particular de
alto nivel
-
Utilización del producto de trabajo: vista basada en resultados que define el estado de ciertos entregables y
artefactos en distintos puntos del proceso
-
Asignación de equipos: vista basada en la responsabilidad que define los roles necesarios y sus responsabilidades
sobre el producto de trabajo
UMA proporciona coherencia entre todas estas vistas, porque todas se basan en una estructura de objetos integrada. Los
cambios en una vista se reflejarán inmediatamente en las otras vistas.
Patrones de proceso reutilizables
Los patrones de posibilidad de UMA son bloques de construcción reutilizables para crear nuevos procesos de desarrollo.
La selección y aplicación de un patrón de posibilidad puede hacerse de una de estas dos formas flexibles:
-
Un patrón puede aplicarse en una sofisticada operación de copia y modificación, lo que permite al ingeniero de
procesos personalizar individualmente el contenido del patrón de acuerdo con sus necesidades durante la aplicación
de patrones.
-
Un patrón puede aplicarse mediante la vinculación dinámica. Esta nueva forma exclusiva de reutilizar el
conocimiento de procesos permite que las actividades recurrentes se puedan descomponer en patrones que pueden
aplicarse una y otra vez en un proceso. Cuando el patrón se revisa o se actualiza, todos los cambios se reflejarán
de forma automática en todos los procesos que sean aplicables a ese patrón.
|