El Rol del Arquitecto de Software - By Jorge Portella ... · PDF file... no necesariamente...

22
El Rol del Arquitecto de Software Profesor: Raúl de Villa Cano Preparado por: Ivis Rosa Vásquez Sierra Pablo Andrés Carrillo Sorey Bibiana García Zapata Cohorte 10 Especialización en Desarrollo de Software Departamento de Informática y Sistemas UNIVERSIDAD EAFIT Medellín 2008

Transcript of El Rol del Arquitecto de Software - By Jorge Portella ... · PDF file... no necesariamente...

  • El Rol del Arquitecto de Software

    Profesor:

    Ral de Villa Cano

    Preparado por:

    Ivis Rosa Vsquez Sierra Pablo Andrs Carrillo

    Sorey Bibiana Garca Zapata

    Cohorte 10

    Especializacin en Desarrollo de Software Departamento de Informtica y Sistemas

    UNIVERSIDAD EAFIT Medelln

    2008

  • Universidad EAFIT Especializacin en Desarrollo de Software

    Arquitectura de Software Docente: Ral de Villa Cano.

    1 Tabla de Contenido

    1 Tabla de Contenido ............................................................................................................................... 2

    2 Introduccin .......................................................................................................................................... 3

    3 El Arquitecto de Software ..................................................................................................................... 4

    4 Mapa Conceptual .................................................................................................................................. 7

    5 Caractersticas de un Arquitecto de Software, por Peter Eeles de IBM ............................................... 8

    6 El Rol del Arquitecto de Software segn el Software Engineering Institute ......................................... 9

    7 El Rol del Arquitecto de Software segn Rational Unified Process - RUP........................................... 11

    8 El Rol del Arquitecto segn SUN SL-425 ............................................................................................. 13

    9 El Rol del Arquitecto Microsoft ........................................................................................................... 14

    10 El Papel del Arquitecto segn Bredemeyer Consulting .................................................................. 18

    11 Conclusiones ................................................................................................................................... 21

    12 Bibliografa ...................................................................................................................................... 22

  • Universidad EAFIT Especializacin en Desarrollo de Software

    Arquitectura de Software Docente: Ral de Villa Cano.

    2 Introduccin

    Hay quienes objetan vehementemente el uso de los trminos "arquitecto" y "arquitectura" en el

    dominio del software. Hoy en da, este trmino es utilizado para sistemas, productos, negocios y

    otros trminos informticos. As como no tiene sentido ver una casa como un puado de madera,

    clavos y ladrillos, tampoco tiene sentido ver el software como un puado de bits o incluso lneas de

    cdigo, tenemos que ver estructuras ms grandes, los cuartos, el flujo de las personas entre ellos,

    las columnas, el techo. Si podemos entender el sistema segn sus partes, podremos modelar

    sistemas cada vez ms grandes.

    De la misma manera que ocurre con la Arquitectura de Software, existen mltiples definiciones

    sobre el rol de los arquitectos de software. Se podra incluso citar una definicin por autor. En

    general esto puede ser causado porque se ubica a los arquitectos en el contexto de una

    organizacin en particular, con las propias necesidades y requerimientos de esa organizacin. La

    realidad parece indicar que es poco probable que se pueda dar una definicin de arquitecto

    transversal a cualquier organizacin, y definir un estereotipo de arquitecto que especifique cules

    son sus responsabilidades y habilidades necesarias dentro de un proyecto. Lo que s es posible es

    definir prototipos de arquitectos a muy grandes rasgos y aplicar cada uno de estos arquetipos en

    una situacin en particular, dependiendo del contexto de la empresa, del proyecto y del equipo de

    trabajo.

    El papel del arquitecto ha estado presente desde el inicio de la vida del hombre en la tierra, desde

    la prehistoria existan los Arquitectos, aunque no hubieran sido llamados de esa manera, y es que

    para hablar de un Arquitecto tenemos que necesariamente hacer referencia a su significado

    etimolgico. La palabra Arquitecto nos llega de los griegos, quienes bautizaron tal papel con la

    palabra (architcton) que define al director de una construccin. Esta palabra proviene

    de la unin de dos races muy fuertes (archs), que significa gua y (tcton) que

    significa constructor. Pero al espaol lleg gracias a los romanos que llamaron Architectus, a los

    grandes guas de las impresionantes y avanzadas obras civiles del imperio mas grande del mundo

    antiguo.

    Cual es pues el papel del Arquitecto de Software que ha heredado el honor de tan noble

    asociacin?. Este trabajo presenta un conjunto de definiciones provenientes de las fuentes mas

    representativas en el mbito del software y algunas de ellas recomendadas como punto de

    referencia especficamente para el tema de arquitectura de software.

  • Universidad EAFIT Especializacin en Desarrollo de Software

    Arquitectura de Software Docente: Ral de Villa Cano.

    3 El Arquitecto de Software

    Los arquitectos disean estructuras que encajen con las necesidades humanas. Las estructuras pueden ser ensambladas con palos y piedras o software de computadora y hardware, pero el rol del arquitecto contina siendo el mismo. Los arquitectos estn la mayora del tiempo escuchando los clientes, entendiendo a profundidad sus necesidades y recursos, investigando y documentando ordenadamente, creando una visin practica de una estructura y creando un mapa de la misma. As como se construye una estructura, el arquitecto interviene en favor del cliente, asegurando que el resultado sea fiel al plan y guiando la visin del resultado entre la tempestad de los cambios en el diseo, las crisis y las ambigedades.

    Abogar por el cliente es la piedra angular del rol del arquitecto. Para lograr el rol de un verdadero abogado, el arquitecto necesita un extenso repertorio de elementos de diseo en un aspecto de eleccin libre de cualquier atadura. Un arquitecto deja de ser un verdadero apoyo al cliente si se encuentra atado a un conjunto de tecnologas, herramientas o metodologas, restringiendo as las soluciones disponibles al cliente. Los estilos arquitectnicos individuales y las preferencias emergen y son impuestas, como siempre han sido, por el cliente, pero estas deben corresponder a los refinamientos y discernimiento de una mente entrenada, no las elecciones forzadas por los lmites de la educacin o la experiencia. Quien ha sido constructor toda su vida, no importa que talentoso sea, no necesariamente tiene el perfil de un arquitecto. Al que tiene un cincel en la mano, todo parece convertrsele en roca.

    Las palabras significan cosas. Un arquitecto es un Arquitecto, no un ingeniero, no un programador, no un cientfico, no un webmaster o un director de proyecto. La palabra Arquitecto es distinta en el negocio de la construccin. En la construccin de software, muchos se apropian de la importancia del ttulo, pero fallan en representar bien el rol. El arquitecto construye no desarrolla. Los edificios no son desarrollados. Desarrollar es hacer crecer, evolucionar y descubrir. Los arquitectos ven en perspectiva la construccin, no guan el desarrollo. Tericamente, el desarrollo es infinito y esa es un leccin que ya deberamos haber aprendido.

    Presentar la profesin del Arquitecto de software implica definir una actividad, pero sin limitarla. Los programadores, ingenieros, diseadores y en general todos los profesionales de la construccin tendrn roles muy diversos y sus esfuerzos efectos mayores. De igual forma que los arquitectos/constructores en el negocio de la construccin, los arquitectos de software pueden interpretar un papel doble, cada uno con tareas claras y expectativas concretas. Esta claridad permite investigaciones, libros, herramientas y metodologas que puedan ser enfocadas a un proceso arquitectnico especfico. Los clientes entendern cada vez ms los roles y la secuencia en la que aparecen durante la construccin de software, llegarn incluso a tener los planos del sistema.

  • Universidad EAFIT Especializacin en Desarrollo de Software

    Arquitectura de Software Docente: Ral de Villa Cano.

    Las siguientes fases definen el papel del arquitecto en el proceso de construccin de software, conceptualmente siguiendo las fases de la construccin y los servicios arquitectnicos descritos por el Documento del Instituto Americano de Arquitectura B163 (AIA por sus siglas en ingls). Estas fases aplican a todos los proyectos de construccin de software, incluyendo aquellos que usan mtodos iterativos o incrementales. Muchos profesionales de software han sacado una analoga de la construccin de edificios para describir su proceso, ya que ella es una analoga verdadera entendible por los clientes. Esta analoga primaria encierra la respuesta a las crisis en la construccin de software y le dar forma a su futuro.

    Prediseo

    En esta fase el Arquitecto escucha y entiende el alcance del proyecto, los puntos claves del diseo segn el cliente, los requisitos y las expectativas. El arquitecto tambin estudia el contexto del proyecto -la empresa entera de la que hace parte el proyecto-. Los recursos del cliente son determinados (los financieros y los intelectuales), y los problemas y necesidades que el cliente desea resolver. El arquitecto identifica las posibles soluciones disponibles usando tecnologa y cambios organizacionales, administrativos o de producto. Con la interaccin del cliente y el arquitecto, comienza a tomar forma una direccin administrativa refinando su entendimiento hasta que una visin compartida emerge. Luego un presupuesto y cronograma general s