Concepto: Principales posibilidades de la arquitectura unificada de método (UMA)
La arquitectura unificada de método (Unified Method Architecture, UMA) es metamodelo de ingeniería de procesos que define los esquemas y la terminología para la representación de métodos que constan de procesos y contenido de métodos.
Descripción principal

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.