24.11.2012 Views

Metrópolis y Gobierno de SOA - Willy .Net

Metrópolis y Gobierno de SOA - Willy .Net

Metrópolis y Gobierno de SOA - Willy .Net

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Relación <strong>de</strong> la estrategia <strong>de</strong><br />

producto con la arquitectura<br />

Importancia. ¿Cuán alta es la prioridad <strong>de</strong> las expectativas <strong>de</strong><br />

valor que se ven afectadas por el <strong>de</strong>safío? Si estas expectativas<br />

<strong>de</strong> valor son específicas <strong>de</strong> algunos contextos, ¿cuál es la prioridad<br />

relativa <strong>de</strong> estos contextos?<br />

Magnitud. ¿Cuán gran<strong>de</strong> es el impacto en las expectativas <strong>de</strong><br />

valor causado por factores restrictivos?<br />

Consecuencia. ¿Cuántas opciones realistas parece haber?<br />

¿Estas opciones tienen diferencias importantes en dificultad o<br />

efectividad?<br />

Aislamiento. ¿Cuán aislado está el impacto <strong>de</strong> las opciones más<br />

realistas? Cuanto más divulgado esté el impacto, más peso tendrá<br />

el factor.<br />

Una vez priorizados los <strong>de</strong>safíos <strong>de</strong> arquitectura, se formulan<br />

los enfoques para los <strong>de</strong> mayor prioridad. Mientras que las técnicas<br />

como estilos y patrones <strong>de</strong> arquitectura [3] [8] pue<strong>de</strong>n ayudar,<br />

esta es un área don<strong>de</strong> la vasta experiencia en temas <strong>de</strong> problema-solución<br />

es invaluable. Los enfoques eficaces a <strong>de</strong>safíos<br />

importantes son resultado <strong>de</strong> un trabajo habilidoso, profundo, <strong>de</strong><br />

esfuerzo y meticuloso. Esto es verdad, in<strong>de</strong>pendientemente <strong>de</strong> si<br />

el problema tiene que ver con cirugía, gerencia ejecutiva o arquitectura<br />

<strong>de</strong> software.<br />

Al tratar cada <strong>de</strong>safío, su enfoque <strong>de</strong>limitará las soluciones<br />

para otros <strong>de</strong>safíos, y a veces creará nuevos. Si las priorida<strong>de</strong>s<br />

<strong>de</strong> <strong>de</strong>safío <strong>de</strong> arquitectura son correctas, la mayoría <strong>de</strong> las limitaciones<br />

posteriores serán a<strong>de</strong>cuadas. Sin embargo, en algunos<br />

casos el enfoque a un <strong>de</strong>safío <strong>de</strong> alta prioridad impactará negativamente<br />

en varios <strong>de</strong>safíos <strong>de</strong> prioridad levemente menor. La<br />

prioridad combinada <strong>de</strong> <strong>de</strong>safíos impactados compensará al <strong>de</strong>safío<br />

<strong>de</strong> mayor prioridad. En este caso, es aconsejable respaldar y<br />

formular un enfoque diferente al <strong>de</strong>safío original.<br />

Levar anclas<br />

Finalmente, una vez formulados los enfoques al conjunto <strong>de</strong><br />

<strong>de</strong>safíos <strong>de</strong> alta prioridad, se podrá expresar la estrategia <strong>de</strong><br />

arquitectura. El arquitecto analiza el conjunto <strong>de</strong> enfoques y consi<strong>de</strong>ra<br />

el conjunto <strong>de</strong> principios <strong>de</strong> guía en las siguientes áreas:<br />

Organización. ¿Cómo se organiza el sistema en subsistemas y<br />

componentes? ¿Cuál es la composición y responsabilida<strong>de</strong>s <strong>de</strong><br />

cada uno? ¿Cómo se pue<strong>de</strong> configurar el sistema en una red?<br />

¿Qué tipos <strong>de</strong> usuarios y sistemas externos existen? ¿Dón<strong>de</strong> se<br />

ubican y cómo se conectan?<br />

Operación. ¿Cómo interactúan los componentes? ¿En qué casos<br />

es sincrónica la comunicación? ¿En qué casos es asincrónica?<br />

¿Cómo se coordinan las acciones <strong>de</strong> los componentes? ¿Cuándo<br />

es aceptable configurar un componente o realizarle un diagnóstico?<br />

¿Cómo se <strong>de</strong>tectan errores, cómo se diagnostican y corrigen?<br />

Variabilidad. ¿Cuáles funciones importantes <strong>de</strong>l sistema se permiten<br />

para variar <strong>de</strong> un entorno <strong>de</strong> configuración a otro? ¿Qué<br />

opciones se soportan para cada función, y cuándo se pue<strong>de</strong><br />

optar (por ejemplo, compilar, enlace, instalación, puesta en marcha,<br />

o tiempo <strong>de</strong> funcionamiento)? ¿Qué <strong>de</strong>pen<strong>de</strong>ncias existen<br />

entre puntos <strong>de</strong> variación?<br />

Evolución. ¿Cómo está diseñado el sistema para soportar el<br />

cambio mientras mantiene su estabilidad? ¿Qué tipos específicos<br />

<strong>de</strong> cambio importante se han anticipado, y cuales son las maneras<br />

preferibles <strong>de</strong> tratarlos?<br />

En resumen, la estrategia <strong>de</strong> arquitectura es el timón y la quilla<br />

<strong>de</strong>l barco, brindando dirección y estabilidad. Se espera que sea<br />

una <strong>de</strong>claración breve y <strong>de</strong> alto nivel <strong>de</strong> la dirección que todos<br />

los interesados <strong>de</strong>berán enten<strong>de</strong>r, y <strong>de</strong>berá ser relativamente<br />

estable durante la vida útil <strong>de</strong>l sistema.<br />

La Figura 3 muestra cómo los Mo<strong>de</strong>los <strong>de</strong> Valor y Estrategia <strong>de</strong><br />

38<br />

Arquitectura se relacionan con los métodos <strong>de</strong> cascada y espiral.<br />

Los Mo<strong>de</strong>los <strong>de</strong> Valor y Estrategia <strong>de</strong> Arquitectura operan al primer<br />

punto y a un mayor nivel que estos métodos. Cuando se<br />

estudian los mo<strong>de</strong>los <strong>de</strong> valor y se formula la estrategia <strong>de</strong> arquitectura,<br />

brindan una gran base para especificar requerimientos y<br />

<strong>de</strong>finir una arquitectura más <strong>de</strong>tallada. El mo<strong>de</strong>lo <strong>de</strong> valor conduce<br />

los requerimientos, e influye en la <strong>de</strong>finición <strong>de</strong> la arquitectura<br />

al brindar información para realizar intercambios. La estrategia<br />

<strong>de</strong> arquitectura brinda una más <strong>de</strong>tallada <strong>de</strong>finición <strong>de</strong> la arquitectura,<br />

y un conjunto <strong>de</strong> requerimientos <strong>de</strong>rivados necesarios<br />

para superar los obstáculos conocidos.<br />

Una analogía a<strong>de</strong>cuada es ver a la estrategia <strong>de</strong> arquitectura<br />

como planificación estratégica, y los mo<strong>de</strong>los <strong>de</strong> valor como análisis<br />

<strong>de</strong> mercado. En esta perspectiva, los requerimientos son<br />

objetivos y políticas corporativas. La <strong>de</strong>finición <strong>de</strong> arquitectura es<br />

la organización comercial y el plan operativo, y los casos <strong>de</strong> uso<br />

son equivalentes a procesos comerciales.<br />

Pocas empresas establecen objetivos corporativos, estructura<br />

organizativa, planes operativos, y procesos comerciales sin primero<br />

tener una i<strong>de</strong>a clara <strong>de</strong> su misión, mercados, competidores,<br />

recursos y estrategia. Incluso menos empresas efectivas hacen<br />

esto.<br />

La Figura 4 muestra cómo los Mo<strong>de</strong>los <strong>de</strong> Valor y Estrategia<br />

<strong>de</strong> Arquitectura se relacionan con métodos ágiles.<br />

PROGRAMACIÓN EXTREMA y SCRUM hacen concesiones<br />

para una <strong>de</strong>finición <strong>de</strong> arquitectura. SCRUM lo hace en forma<br />

expresa, esperando que se <strong>de</strong>fina la arquitectura en la primera<br />

repetición <strong>de</strong> 4-5 semanas.<br />

PROGRAMACIÓN EXTREMA lo hace en forma implícita. Uno<br />

<strong>de</strong> los 12 principios clave <strong>de</strong> PROGRAMACIÓN EXTREMA se<br />

llama System Metaphor (Metáfora <strong>de</strong> Sistema).<br />

Este principio no se usa tan frecuentemente ni se entien<strong>de</strong><br />

tan bien como sus parientes famosos: Small Releases, Pair<br />

Programming, Test Driven Development. En los comienzos <strong>de</strong><br />

PROGRAMACIÓN EXTREMA, el equipo que trabajaba en el<br />

Chrysler Payroll System gran<strong>de</strong> y complejo necesitaba una<br />

buena forma <strong>de</strong> <strong>de</strong>scribir la gestión <strong>de</strong> flujo <strong>de</strong> trabajo a las<br />

personas a cargo <strong>de</strong>l <strong>de</strong>sarrollo Chrysler.<br />

Figura 6. Integración <strong>de</strong> Arquitectura sobre Creación <strong>de</strong> Valor<br />

con Métodos Ágiles.<br />

• Journal 5 • www.microsoft.com /architecture

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!