Upload
giovanni-guadalupe
View
228
Download
0
Embed Size (px)
Citation preview
7/31/2019 3568086 El Rol Del Arquitecto
1/25
El Rol del Arquitecto de Software
Profesor:
Ral de Villa Cano
Preparado por:
Ivis Rosa Vsquez SierraPablo Andrs Carrillo
Sorey Bibiana Garca Zapata
Cohorte 10
Especializacin en Desarrollo de SoftwareDepartamento de Informtica y Sistemas
UNIVERSIDAD EAFITMedelln
2008
7/31/2019 3568086 El Rol Del Arquitecto
2/25
Universidad EAFITEspecializacin en Desarrollo de Software
1 Tabla de Contenido
1 Tabla de Contenido ..................................................................................................2
2 Introduccin .............................................................................................................3
3 El Arquitecto de Software ........................................................................................5
4 Mapa Conceptual.....................................................................................................9
5 Caractersticas de un Arquitecto de Software, por Peter Eeles de IBM ..................10
6 El Rol del Arquitecto de Software segn el Software Engineering Institute ..........11
7 El Rol del Arquitecto de Software segn Rational Unified Process - RUP ................13
8 El Rol del Arquitecto segn SUN SL-425 ................................................................159 El Rol del Arquitecto Microsoft ...............................................................................16
10 El Papel del Arquitecto segn Bredemeyer Consulting ........................................21
11 Conclusiones ........................................................................................................ 24
12 Bibliografa .........................................................................................................25
Arquitectura de SoftwareDocente: Ral de Villa Cano.
7/31/2019 3568086 El Rol Del Arquitecto
3/25
Universidad EAFITEspecializacin en Desarrollo de Software
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 enuna 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
Arquitectura de SoftwareDocente: Ral de Villa Cano.
7/31/2019 3568086 El Rol Del Arquitecto
4/25
Universidad EAFITEspecializacin en Desarrollo de Software
algunas de ellas recomendadas como punto de referencia especficamente para
el tema de arquitectura de software.
Arquitectura de SoftwareDocente: Ral de Villa Cano.
7/31/2019 3568086 El Rol Del Arquitecto
5/25
Universidad EAFITEspecializacin en Desarrollo de Software
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 decomputadora 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 ydocumentando ordenadamente, creando una visin practica de una estructura ycreando un mapa de la misma. As como se construye una estructura, elarquitecto 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 eldiseo, las crisis y las ambigedades.
Abogar por el cliente es la piedra angular del rol del arquitecto. Para lograr el rolde un verdadero abogado, el arquitecto necesita un extenso repertorio deelementos de diseo en un aspecto de eleccin libre de cualquier atadura. Unarquitecto deja de ser un verdadero apoyo al cliente si se encuentra atado a unconjunto de tecnologas, herramientas o metodologas, restringiendo as lassoluciones disponibles al cliente. Los estilos arquitectnicos individuales y laspreferencias emergen y son impuestas, como siempre han sido, por el cliente,pero estas deben corresponder a los refinamientos y discernimiento de unamente entrenada, no las elecciones forzadas por los lmites de la educacin o la
experiencia. Quien ha sido constructor toda su vida, no importa que talentososea, no necesariamente tiene el perfil de un arquitecto. Al que tiene un cincel enla 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 deproyecto. La palabra Arquitecto es distinta en el negocio de la construccin. Enla construccin de software, muchos se apropian de la importancia del ttulo,pero fallan en representar bien el rol. El arquitecto construye no desarrolla. Losedificios no son desarrollados. Desarrollar es hacer crecer, evolucionar ydescubrir. Los arquitectos ven en perspectiva la construccin, no guan eldesarrollo. Tericamente, el desarrollo es infinito y esa es un leccin que yadeberamos haber aprendido.
Presentar la profesin del Arquitecto de software implica definir una actividad,pero sin limitarla. Los programadores, ingenieros, diseadores y en generaltodos los profesionales de la construccin tendrn roles muy diversos y susesfuerzos efectos mayores. De igual forma que los arquitectos/constructores enel negocio de la construccin, los arquitectos de software pueden interpretar unpapel doble, cada uno con tareas claras y expectativas concretas. Esta claridadpermite investigaciones, libros, herramientas y metodologas que puedan ser
Arquitectura de SoftwareDocente: Ral de Villa Cano.
7/31/2019 3568086 El Rol Del Arquitecto
6/25
Universidad EAFITEspecializacin en Desarrollo de Software
enfocadas a un proceso arquitectnico especfico. Los clientes entendern cadavez ms los roles y la secuencia en la que aparecen durante la construccin desoftware, llegarn incluso a tener los planos del sistema.
Las siguientes fases definen el papel del arquitecto en el proceso deconstruccin de software, conceptualmente siguiendo las fases de laconstruccin y los servicios arquitectnicos descritos por el Documento delInstituto Americano de Arquitectura B163 (AIA por sus siglas en ingls). Estasfases aplican a todos los proyectos de construccin de software, incluyendoaquellos que usan mtodos iterativos o incrementales. Muchos profesionales desoftware han sacado una analoga de la construccin de edificios para describirsu proceso, ya que ella es una analoga verdadera entendible por los clientes.Esta analoga primaria encierra la respuesta a las crisis en la construccin desoftware y le dar forma a su futuro.
Prediseo
En esta fase el Arquitecto escucha y entiende el alcance del proyecto, lospuntos claves del diseo segn el cliente, los requisitos y las expectativas. Elarquitecto tambin estudia el contexto del proyecto -la empresa entera de laque hace parte el proyecto-. Los recursos del cliente son determinados (losfinancieros y los intelectuales), y los problemas y necesidades que el clientedesea resolver. El arquitecto identifica las posibles soluciones disponiblesusando tecnologa y cambios organizacionales, administrativos o de producto.Con la interaccin del cliente y el arquitecto, comienza a tomar forma unadireccin administrativa refinando su entendimiento hasta que una visincompartida emerge. Luego un presupuesto y cronograma general sondefinidos.
Anlisis del Dominio
El arquitecto se sumerge profundamente en el contexto y documenta eldominio para el cual el sistema ser construido, y aprende el detalle de cadauno de los requisitos del cliente. Los comportamientos deseados del sistemason definidos. El arquitecto determina el entorno tecnolgico del cliente yalcance de las interacciones que requiere realizar. El glosario y los conceptosclaves del dominio son adecuadamente definidos.
Diseo Esquemtico
El arquitecto prepara diseos de tipo arquitectnico que muestran las
caractersticas del dominio y la estructura tecnolgica. Se definen los puntosclaves de la interfaz grfica (la apariencia y sensacin del sistema). En estepunto se construyen prototipos si son necesarios. Se estiman los riesgos de lamigracin.
Desarrollo del Diseo
El arquitecto contina con la profundizacin el detalle del tipo de solucin agenerar y refina cada vez ms los artefactos. Todos los documentos, glosarios
Arquitectura de SoftwareDocente: Ral de Villa Cano.
7/31/2019 3568086 El Rol Del Arquitecto
7/25
Universidad EAFITEspecializacin en Desarrollo de Software
y diseos generados son finalizados en esta etapa, esto implica la muyimportante validacin del cliente.
Documentacin del Proyecto
El arquitecto se concentra en los requisitos que se construirn el sistema. Se
documenta el tipo de proceso de construccin a desarrollar, los roles de losmiembros del equipo y las secuencias de trabajo a realizar. Se escribe la guade construccin y la gua de pruebas. El arquitecto especifica lasherramientas y las metodologas si es necesario. Todos estos y otros detallesque se necesiten por aquellos que van a construir el sistema, son definidosen esta parte.
Seleccin y Contratacin (staffing)
El arquitecto acompaa la identificacin y seleccin de los constructores odesarrolladores concretos del sistema. Para proyectos que sonsubcontratados, se solicitan ofertas a los contratistas y potenciales
participantes, el arquitecto toma parte activa en la eleccin de los oferentes.Los detalles de los costos del proyecto, las secuencias de trabajo y la firmade los contratos, tambin son asistidos por el arquitecto.
Construccin
La supervisin del arquitecto durante la construccin del producto aseguraque la visin del cliente sea entendida y ejecutada correctamente. Elarquitecto revisa los diseos detallados de la construccin, analizaproblemas, evala nuevos requisitos y plantea modificaciones cuando sonnecesarias. El arquitecto disea los cambios aceptados, calcula el impactoglobal en diseo y costo, y define la secuencia de cambios que tienen que sergenerados, para luego participar en las actividades de pruebas y revisiones
de usuario final para asegurarse que cumplan con la expectativas del cliente.
PostConstruccin
El arquitecto acompaa al cliente con la puesta en produccin y la migracinal nuevo sistema. El arquitecto puede, si as lo desea, vincularse con lacapacitacin de los operadores y usuarios del nuevo sistema. Posterior aesto, el arquitecto asiste al cliente en temas relacionados con garantas yaplicacin de procedimientos de mantenimiento. Y cuando todo ha finalizadoel arquitecto y el cliente se renen para recordar las dificultades y lostriunfos; hacen una gran fiesta en un restaurante Mexicano, cantan con elmariachi para todos los desarrolladores, empleados, clientes y directivos
vinculados al proyecto, para as rerse en frente de todos aquellos queconstantemente dijeron que no poda hacerse y ahora permanecen mudosentre los invitados sorbiendo sus margaritas1.
1 Worldwide Institute of Software ArchitectsArquitectura de SoftwareDocente: Ral de Villa Cano.
7/31/2019 3568086 El Rol Del Arquitecto
8/25
Universidad EAFITEspecializacin en Desarrollo de Software
Arquitectura de SoftwareDocente: Ral de Villa Cano.
7/31/2019 3568086 El Rol Del Arquitecto
9/25
4 Mapa Conceptual
7/31/2019 3568086 El Rol Del Arquitecto
10/25
5 Caractersticas de un Arquitecto de Software, por Peter
Eeles de IBM
El Arquitecto es una persona, equipo u organizacin responsable por laarquitectura del sistema (IEEE 1471) .
Es un lder tcnico. El arquitecto tiene competencias tcnicas y deliderazgo, debe tener la autoridad para tomar decisiones tcnicas, ayudaa armar el equipo y a organizar el trabajo, adems constantementecomunica el valor de lo que se est haciendo.
El rol puede ser llenado por un equipo con un lder claro. No siempre unapersona tiene todas las competencias. Un Equipo es un pequeo grupode gente con competencias complementarias y comprometidos con elpropsito, y con enfoques comunes por los que son mutuamente
responsables.
El arquitecto entiende el proceso de desarrollo de software. El arquitectodebera tener conocimiento del proceso de desarrollo, ya que estegarantiza que todos los miembros del equipo trabajen de maneracoordinada. Un buen proceso define las funciones claramente. Dado queel arquitecto participa a diario con muchos de los miembros del equipo, esimportante para el arquitecto entienda sus funciones y responsabilidades.A diario los desarrolladores apoyan su trabajo en el arquitectopreguntando cmo hacer tal cosa, por lo tanto, existe una claracoincidencia entre el papel del arquitecto y el papel de gestor delproyecto.
Entiende el dominio del negocio. Un dominio es un rea de conocimientoo actividad caracterizada por un conjunto de conceptos y terminologaentendida por los profesionales del rea y permite imaginar requisitosprobables y anticipar cambios.
Tiene conocimiento tecnolgico, pero no necesariamente experticiaprofunda. Dado que la tecnologa cambia con cierta frecuencia, esesencial que el arquitecto se mantenga actualizado con los cambiostecnolgicos.
Tiene competencias de diseo.
Tiene suficiente competencia de desarrollo como para comunicarse con elequipo.
Es un buen comunicador.
Toma decisiones.
Entiende la poltica de la empresa.
7/31/2019 3568086 El Rol Del Arquitecto
11/25
Universidad EAFITEspecializacin en Desarrollo de Software
Es un negociador, debe explicar a stakeholders del proyecto lasconsecuencias de sus opciones o alternativas de arquitectura.
6 El Rol del Arquitecto de Software segn el Software
Engineering Institute
Cuales son las responsabilidades, competencias y conocimientos de unArquitecto de Software?.
Para responder a esta pregunta, desde hace unos cuantos aos el SEI (SoftwareEngineering Institute) ha estado recopilando comentarios de las personas sobrelas responsabilidades de un arquitecto de software. Este es un compendio, en el
que se resaltan los aspectos ms comnmente citados (todas las respuestasindividuales y sus autores pueden ser consultadas en el sitio web del SEI) y quea continuacin enumeramos:
Elaborar la arquitectura correcta para solucionar el problema onecesidades del cliente.
Definir y documentar la solucin elaborada. Asegurarse que todos losinvolucrados la estn utilizando y la estn utilizando bien.
Asegurarse que se aplica en etapas de manera coordinada de tal formaque toda la organizacin pueda apropiarse de ella antes de que sea
completada.
Asegurarse de que la arquitectura de software sea acorde con el sistemadeseado.
Actuar como el embajador de la propuesta arquitectnica.
Hacer que la gerencia la entienda hasta el nivel necesario.
Asegurarse de que el modelamiento sea correctamente realizado.
Conocer cuales cualidades sistmicas, como el rendimiento, debenalcanzarse y en que medida.
Responder sobre las inquietudes relacionadas con la seleccin deherramientas y ambientes de desarrollo.
Identificar e interactuar con los interesados en el proyecto paraasegurarse que sus necesidades son satisfechas.
Arquitectura de SoftwareDocente: Ral de Villa Cano.
http://www.sei.cmu.edu/http://www.sei.cmu.edu/http://www.sei.cmu.edu/http://www.sei.cmu.edu/7/31/2019 3568086 El Rol Del Arquitecto
12/25
Universidad EAFITEspecializacin en Desarrollo de Software
Asegurarse que la arquitectura no es solamente la correcta para laoperacin del sistema, sino que adems es la correcta para su soporte yevolucin.
Resolver conflictos y ayudar a generar acuerdos.
Solucionar problemas de tipo tcnico.
Mantener la moral, tanto en el interior del grupo de arquitectura como alexterior. Esto ltimo es realizado proponiendo un diseo compacto cuandose requiera y entregando presentaciones y materiales que le permitan atodas las personas en la organizacin saber que se encuentran en elcamino correcto.
Entender y planear las rutas de evolucin del sistema, disear un plan quegue la adopcin de nueva tecnologa.
Gerenciar las estrategias de identificacin y mitigacin de los riesgos
asociados con la arquitectura.
Arquitectura de SoftwareDocente: Ral de Villa Cano.
7/31/2019 3568086 El Rol Del Arquitecto
13/25
Universidad EAFITEspecializacin en Desarrollo de Software
7 El Rol del Arquitecto de Software segn Rational
Unified Process - RUP
El arquitecto de software tiene la responsabilidad general de conducir lasprincipales decisiones tcnicas, expresadas como la arquitectura de software.Por lo general, esto incluye la identificacin y documentacin de la arquitecturade los aspectos importantes del sistema, incluidos los requisitos, diseo,implementacin y despliegue, es decir, las vistas del sistema.
El arquitecto se encarga tambin de proporcionar la justificacin de estasdecisiones, buscar el equilibrio entre los stakeHolders participantes, haciendodisminuir los riesgos tcnicos, y garantizando que las decisiones seancomunicadas, validadas y adoptadas efectivamente.
El Arquitecto de Software debe poseer la madurez, visin y la experiencia quepermite comprender los problemas de manera rpida y tener un juicio crticocuando existe informacin incompleta, por ejemplo. Ms concretamente, elarquitecto de software, o miembros del equipo de arquitectura, deben combinarestas capacidades:
Experiencia en el dominio del problema, a travs de una profundacomprensin de los requisitos, y el dominio de la ingeniera de software.Si hay un equipo, estas cualidades se pueden propagar a travs de losmiembros del equipo, pero al menos un arquitecto de software debetener la visin global del proyecto.
Liderazgo con el fin de gestionar el esfuerzo tcnico a travs de losdiversos equipos, y tomar las decisiones acordes aun bajo presin. Paraser eficaz, el arquitecto de software y el jefe de proyecto debe trabajar enestrecha colaboracin. El arquitecto de software debe tener la autoridadpara tomar decisiones tcnicas.
Comunicacin para ganar confianza, para persuadir, motivar, y guiar. Elarquitecto de software no puede conducir por decreto, slo con elconsentimiento del resto del equipo del proyecto. El arquitecto de
Arquitectura de SoftwareDocente: Ral de Villa Cano.
7/31/2019 3568086 El Rol Del Arquitecto
14/25
Universidad EAFITEspecializacin en Desarrollo de Software
software debe ganarse el respeto del equipo del proyecto, del director delproyecto, del cliente, y la comunidad de usuarios, as como el equipo degestin.
Orientacin por objetivos y pro-actividadcon un implacable enfoqueen los resultados. El arquitecto de software es la fuerza impulsora detrs
del proyecto, no un soador o visionario. La carrera de un exitosoarquitecto de software es una larga serie de optimas decisionesadoptadas en la incertidumbre y bajo presin. Slo los que puedecentrarse en hacer lo que hay que hacer tendrn xito en este entorno delproyecto.
Desde el punto de vista de expertos, el arquitecto de software tambin debeabarcar el Papel de Diseador, sin embargo, a diferencia del diseador, elarquitecto de software:
Tiende a ser un generalista en lugar de un especialista, a sabiendas demuchas tecnologas de alto nivel en lugar del nivel de detalle.
Hace ms amplias las decisiones tcnicas en el dominio de la solucin, ypor lo tanto, debe tener amplio conocimiento y experiencia, as como lacomunicacin y habilidades de liderazgo, son fundamentales.
El Arquitecto de software es un rol en un proyecto de desarrollo de software, elcual se realizan varias actividades y se tienen responsabilidades como semuestra en el siguiente grfico.
Arquitectura de SoftwareDocente: Ral de Villa Cano.
7/31/2019 3568086 El Rol Del Arquitecto
15/25
Universidad EAFITEspecializacin en Desarrollo de Software
8 El Rol del Arquitecto segn SUN SL-425
El arquitecto de software, segn SUN Microsystems Architecting and DesigningJ2EE Applications SL-425, debe cumplir con las siguientes caractersticas yroles.
Visualiza el comportamiento del sistema. Crea los planos para el sistema. Define el modo en que los elementos del sistema trabajan en conjunto. Distingue entre los requisitos funcionales y no funcionales del sistema.
Se encarga de la integracin de los requisitos no funcionales en elsistema.
El arquitecto comunica el diseo del sistema a otros miembros del equipo.
El arquitecto es un miembro de un equipo de desarrollo.
Arquitectura de SoftwareDocente: Ral de Villa Cano.
7/31/2019 3568086 El Rol Del Arquitecto
16/25
Universidad EAFITEspecializacin en Desarrollo de Software
Una de las definiciones de la arquitectura de software considera que laarquitectura es un procesocreativo, como tal puede tener aspectos positivos y negativos. Los Arquitectos
deben tratar de equilibrar la creatividad con la ciencia en forma de modelos,marcos, y patrones.
Para construir una arquitectura, el arquitecto utiliza lo siguiente:
Fundamentos de Arquitectura. Experiencia: Las mejores prcticas, Marcos, patrones y (Expresiones
Idiomticas)Idioms.
Un arquitecto crea una arquitectura con los siguientes objetivos en mente.
Modularidad. La proteccin y la exposicin.
Componentes Extensibles. Funciones y responsabilidades.
Contratos. Comportamiento Adaptable.
9 El Rol del Arquitecto Microsoft
Microsoft clasifica los arquitectos de la siguiente forma:
Enterprise Architect/Chief Architect: El arquitecto Empresarial es elresponsable de la ejecucin de la visin del CIO y la estrategia de TI.Incluye la definicin de programas estratgicos, la seleccin deplataformas tecnolgicas adecuadas, y proporcionar orientacin para lasimplementaciones. El arquitecto Empresarial ayuda al CIO a asegurar quelas inversiones en TI estn alineados a la estrategia de negocio, y aproporcionar ventaja competitiva para la organizacin. La personatambin es responsable para definir las normas y directrices, y los
Arquitectura de SoftwareDocente: Ral de Villa Cano.
7/31/2019 3568086 El Rol Del Arquitecto
17/25
Universidad EAFITEspecializacin en Desarrollo de Software
lineamientos de gestin para adaptar la aplicacin a las normas definidasy directrices. En algunas organizaciones, esta tarea se fusiona con la delCIO.
Solution Architect: El arquitecto de Soluciones es el responsable de laejecucin de un programa estratgico de TI. Esto incluye la definicin de
la solucin arquitectnica para el programa, la seleccin de plataformastecnolgicas acordes a la estrategia de la empresa, comunicacin con elequipo de trabajo, y la toma de decisiones sobre cuestiones tcnicasdurante la ejecucin del proyecto. Generalmente tiene que mediar entrelas empresas y equipos de tecnologa y otros grupos. En algunasorganizaciones, este papel se define simplemente como "arquitecto". Elpuesto de alto nivel tiene el ttulo de "Arquitecto Lder.
Technical Architect: El arquitecto tcnico es por lo general unespecialista en una tecnologa particular. Esta persona tieneconocimiento experto de la tecnologa y las funciones de la misma, loscomponentes que la integran, y comprende los puntos fuertes y laslimitaciones de la tecnologa. Esta persona es responsable de determinarla aplicabilidad de la tecnologa, para definir la mejor arquitectura posibleutilizando una tecnologa en particular, y tambin para guiar al equipo enla aplicacin de la solucin. En general, del arquitecto tcnico se esperaconocer las distintas herramientas de proveedores en el mbito de latecnologa, las ltimas tendencias en el mercado, de arquitectura ydiversas alternativas para aplicar la solucin.
La siguientes grfica muestra la relacin entre estos tres roles con la tecnologay la estrategia de la organizacin.
Arquitectura de SoftwareDocente: Ral de Villa Cano.
7/31/2019 3568086 El Rol Del Arquitecto
18/25
Universidad EAFITEspecializacin en Desarrollo de Software
Adems existen los,
Infrastructure architects. El arquitecto de Infraestructura esresponsable de las decisiones del rea de infraestructura, de mantener elentorno de TI y los usuarios finales, y de comunicarse constantementecon los ingenieros que mantienen reas especficas de la infraestructura.Se encargan de crear una arquitectura que cumple con los acuerdos de
niveles de servicio de las necesidades de los empresarios y apoya lasaplicaciones y soluciones que se requieren para operar en el da a da delas empresas.
Microsoft en su programa de Arquitecto Microsoft considera algunascaractersticas comunes a todos los arquitectos independientes del tipo dearquitecto. Algunas de estas caractersticas son:
Poseer fuerte visin para los negocios: Consiste en entender los costosde capital operacional y considerar cada uno de estos mientras se crea lasolucin. Leer estados financieros, tener conversaciones con funcionariosfinancieros y tener una comunicacin acertada con los dueos de negocios
para justificar los proyectos y calcular el rendimiento de un proyecto.
Pensamiento visionario: Durante la participacin en un proyecto, elarquitecto debe considerar y proyectar la tecnologa en el futuro, visionandolos cambios que se producen en los negocios de los clientes, y la mejormanera de aprovechar las ventajas de la solucin tecnolgica actual en elfuturo.
Arquitectura de SoftwareDocente: Ral de Villa Cano.
7/31/2019 3568086 El Rol Del Arquitecto
19/25
Universidad EAFITEspecializacin en Desarrollo de Software
Investigar nuevas tecnologas: El arquitecto debe estar en continuainvestigacin de nuevas tendencias en tecnologa, arquitectura de TI y lasaplicaciones empresariales.
Comprender Frameworks arquitectnicos y las mejores prcticas: Losarquitectos entienden cules son los Frameworks de arquitectura yempresariales y su valor en un proyecto. Los arquitectos seleccionan y usanmetodologas en los proyectos, entienden el funcionamiento de Frameworks ycmo la solucin ser desarrollada, y el comportamiento antes y despus deldespliegue. Entienden el ciclo de vida de un proyecto y de una solucin.
Seguir y divergir a la vez: Cuando se trabaja en un entorno particular o enun proyecto especifico, los arquitectos deben tener la capacidad depersonalizar o modificar Frameworks y/o las metodologas utilizadas paralograr una solucin a un problema o requisito de negocio.
Poder para desarrollar rpidamente profundo conocimiento en una
tecnologa: Ganando profundidad en mltiples tecnologas anteriores, elarquitecto puede asociar o transferir la capacidad de aprender otros mtodospara investigar y para ganar rpidamente experiencia en nuevas tecnologas.
Pueden trabajar con ambigua o incompleta informacin: LosArquitectos deben colaborar en el proceso de indagacin de la informacinpara llegar a una solucin, pero pueden empezar a trabajar con informacinlimitada y conforme el proyecto progresa, tomar decisiones de compensacino equilibrio con el fin de mantener una solucin que cumpla con los objetivos,y continuar satisfaciendo las exigencias de negocio que al principio fueronidentificadas. Sin embargo el arquitecto debe saber claramente si con lainformacin limitada puede empezar a trabajar sin poner en riesgo el
proyecto mas adelante por cambios drsticos o si el proyecto debesuspenderse antes de recopilar informacin mnima para empezar las tareas,es importante el trabajo conjunto de todo el equipo de proyecto en esteaspecto.
Microsoft posee un programa de certificacin de Arquitectos (Microsoft CertifiedArchitect Program), el cual sirve para identificar a los mayores expertos enArquitectura TI del sector. Se trata de arquitectos que pueden utilizar mltiplestecnologas para resolver problemas empresariales y ofrecer cifras y parmetrosa los negocios para ayudarles a determinar el xito o el fracaso de los proyectosque dirigen.
A continuacin presentamos tambin las Competencias de un arquitecto segnMicrosoft .
Arquitectura de SoftwareDocente: Ral de Villa Cano.
7/31/2019 3568086 El Rol Del Arquitecto
20/25
Universidad EAFITEspecializacin en Desarrollo de Software
En esta pirmide, la experiencia y cualidades de liderazgo constituyen lospilares fundamentales del rol del arquitecto. Tambin se necesita perspicaciatcnica, buenas habilidades de comunicacin, entender el dominio del problemaantes de disear una solucin y la capacidad de gestin.
El arquitecto de software debe tener una mentalidad estratgica, es decir, lahabilidad de ver las cosas a 50.000 pies de altura, a un nivel estratgico,abstraerse de la complejidad operativa. Se trata de adoptar una visin msamplia.
Muchos recursos educativos y las certificaciones estn disponibles paraalcanzarlas. Adems los arquitectos con experiencia, son otra fuente importante
de recursos, ya que la informacin por s sola es insuficiente para el desarrollode muchas habilidades necesarias. Los aspirantes a los arquitectos debenconsiderar muchos factores a la hora de hacer carrera, desde los tipos deproyectos para el acceso a los mentores o expertos. La arquitectura es exigentepero gratificante profesin, sino que tiene determinacin y una buenaplanificacin para desarrollar plenamente sus habilidades y madurar en elpapel.
Arquitectura de SoftwareDocente: Ral de Villa Cano.
7/31/2019 3568086 El Rol Del Arquitecto
21/25
Universidad EAFITEspecializacin en Desarrollo de Software
10El Papel del Arquitecto segn Bredemeyer Consulting
Pude definirse de manera simplona que un Arquitecto es aquel que hace
Arquitecturas y sus responsabilidades se restringen a hacer bien su trabajo. Esto
pude incluir articular la visin arquitectnica con las necesidades del cliente,
conceptualizar y experimentar con diferentes estrategias arquitectnicas; crear
modelos, componentes y documentos de especificacin de interfaces.
Sin embargo, cualquier arquitecto experimentado sabe que el papel no solo
encierra estas tareas de tipo tcnico, sino que existen otras de un carcter ms
diplomtico y estratgico por un lado y por otro lado tareas de consultora yasesora. Un sentido coherente del negocio y una adecuada estrategia
tecnolgica son necesarias para vislumbrar la arquitectura que solucionar los
problemas del cliente, dados los objetivos y restricciones al arquitecto en la
organizacin. Las actividades en esta rea incluyen la escucha activa a los
interesados del proyecto para entender de manera profunda sus intereses y las
metas a satisfacer, implica tambin crear mapas tecnolgicos y estrategias de
diferenciacin, a la par con la realizacin de afirmaciones sobre tendencias
tecnolgicas y sus consecuencias en la estrategia tcnica del proyecto y la
arquitectura planteada.
El arquitecto (o equipo de arquitectura) necesita tener empata con una
variedad de grupos de interesados en el proyecto, incluyendo la gerencia a
diferentes niveles, analistas de negocio o de ventas y sobre todo los
desarrolladores. El arquitecto necesita balancear su participacin con la
necesidad de tomar en cuenta las mltiples opiniones de su equipo de trabajo.
Mientras ms amplio horizonte tenga la arquitectura, ms ajustada ser a la
ptima. El arquitecto tiene que pasar por encima de muchas "Polticas
Organizacional" para lograr convencer a muchos interesados en el proyecto,
para comunicar extensivamente y trabajar con diversas redes de personas que
influyen en el xito de la arquitectura.
Pero lograr "vender" la arquitectura no es suficiente. Todos los que estn
vinculados con su implementacin necesitan entenderla. Los documentos tipo
"ladrillo" son famosos por ser excelentes "recogedores de polvo". La
participacin temprana de los desarrolladores ms experimentados trae buenas
ideas en el proceso de definicin de la arquitectura y tambin crea un amplio
entendimiento de los deseos de los desarrolladores y el costo de su
implementacin.Arquitectura de SoftwareDocente: Ral de Villa Cano.
7/31/2019 3568086 El Rol Del Arquitecto
22/25
Universidad EAFITEspecializacin en Desarrollo de Software
Adicionalmente para proyectos grandes, puede ser bastante til crear tutoriales
que expliquen cuales fueron las decisiones que llevaron a proponer la
arquitectura objetivo, ya que durante los diversos ciclos de construccin es
necesario realizar ajustes.
El arquitecto tambin es un mentor y un entrenador, trabajando con los
desarrolladores para motivarlos cuando los retos aparecen, sobretodo cuando
tienen un amplio impacto o son crticos para el xito del sistema. Ms all, el
arquitecto no slo debe liderar su equipo y la comunidad de desarrolladores sino
que debe liderar y motivar la organizacin completa en la direccin tcnica
adecuada.
Quien es adecuado entonces para el papel de Arquitecto?, pues, muy
frecuentemente el convertirse en "Arquitecto" es una promocin ofrecida a los
desarrolladores muy hbiles en un esfuerzo por retenerlos. Desafortunadamenteno todos los tcnicos superdotados tienen el talento y las competencias que los
hacen buenos arquitectos. An as, el ttulo genera expectativas, en el
"arquitecto" y en el resto de la organizacin, de las responsabilidades asociadas
con el cargo. Esto puede generar un montn de conflictos para una persona
fuertemente orientada a la parte tcnica, que repentinamente se ve enfrentada
con polticas empresariales y exigencias de una comunicacin efectiva y fluida.
Los mejores arquitectos entonces, son expertos en tecnologa que infunden
respeto en la comunidad tcnica, tambin son buenos estrategas, excelente
diplomticos, consultores, asesores y lderes.
Para desarrollar en 1995 un taller en Hewlett-Packard sobre arquitectura,Bredemeyer Consulting estudi muchos proyectos arquitectnicos, revis
literatura al respecto e incluso estudi el proceso la Arquitectura de edificios. Tal
sera el inicio de una larga relacin con cientos de arquitectos de diferentes
campos de la industria que le han permitido a esta empresa consultora un
entendimiento profundo de la arquitectura y del proceso Arquitectnico como
tal.
Basados en este entendimiento, y mirando las tendencias actuales de la
arquitectura, se ha podido establecer un Marco de Trabajo se han identificado
varias reas de actividad criticas o dominios de competencia, que aparecen
definidamente en el papel de arquitecto. Estos son Tecnologa, Estrategia
Organizacional, Poltica Empresarial, Asesora y Liderazgo. Cada uno de ellos
tiene sus propios elementos de conocimiento, actividades y caractersticas
personales que hacen de un arquitecto ser exitoso en cada uno de dichos
aspectos. Estos elementos pueden ser agrupados segn apunten a las
competencias del Saber, del Saber Hacer y del Saber Ser. El siguiente cuadro
muestra como se relacionan entre si estos elementos.
Arquitectura de SoftwareDocente: Ral de Villa Cano.
7/31/2019 3568086 El Rol Del Arquitecto
23/25
Universidad EAFITEspecializacin en Desarrollo de Software
Arquitectura de SoftwareDocente: Ral de Villa Cano.
7/31/2019 3568086 El Rol Del Arquitecto
24/25
Universidad EAFITEspecializacin en Desarrollo de Software
11Conclusiones
El trmino Arquitecto de Software se ha convertido en el ttulo de moda en todaempresa de sistemas o con un rea propia de sistemas, aunque es comn quemuchas de las tareas relevantes de un proyecto puedan ser perfectamenteresueltos con desarrolladores experimentados, sin tener la necesidad decontratar un arquitecto. Muy frecuentemente se tiende a confundir estos dosperfiles, que son abismalmente diferentes. Tambin es importante notar ladiferencia entre los gures tecnolgicos y los verdaderos arquitectos. Estascuestiones aumentan la confusin existente sobre qu es un arquitecto y culesse supone tendran que ser sus responsabilidades.
El rol del arquitecto es un rol crtico en los proyectos, se focaliza en la calidad de
servicio y lidera el proceso de definicin y la implementacin de la arquitectura.El arquitecto reutiliza implementaciones de arquitecturas exitosas, frameworksy patrones de diseo y no es un diseador en un proyecto. Un Arquitecto es unfacilitador, no toma decisiones unilaterales, irracionales, evita riesgos en losproyectos y agrega valor.
A diferencia de un programador, el Arquitecto de Software debe dominar lamayor cantidad de tecnologas de software y prcticas de diseo, para as podertomar decisiones adecuadas para garantizar el mejor desempeo, reuso,robustez, portabilidad, flexibilidad, escalabilidad y mantenibilidad de lasaplicaciones. Estas decisiones sobre la estructura y dinmica de la aplicacinson plasmadas en una notacin formal estandarizada como lo es UML.
Como base, el rol de los arquitectos suele comprender las tareas de: definicinde las vistas de la arquitectura de una aplicacin, dar soporte tcnico-tecnolgico a desarrolladores, clientes y expertos en negocios, conceptualizar yexperimentar con distintos enfoques arquitectnicos, crear documentos demodelos y componentes y especificaciones de interfaces, validar la arquitecturacontra requerimientos, suposiciones y adems tener una dosis de estrategia ypoltica, o sea, ser, en parte, un consultor.
Arquitectura de SoftwareDocente: Ral de Villa Cano.
7/31/2019 3568086 El Rol Del Arquitecto
25/25
Universidad EAFITEspecializacin en Desarrollo de Software
12Bibliografa
WORLDWIDE INSTITUTE OF SOFTWARE ARCHITECTS. Role of the Software Architect[en lnea] [citado en 15 de Junio de2008]
CARNEGIE MELLON UNIVERSITY. What Are the Duties, Skills, and Knowledge of aSoftware Architect? [en lnea] [citado en 16 de Junio de2008]
MICROSOFT CORPORATION. What Architect Job Roles Are Recognized By theMicrosoft Certified Architect Program? [en lnea]
[citado
en 11 de Julio de 2007]
IBM SOFTWARE GROUP. Characteristics of a Software Architect [en lnea]
[citado en 15
Marzo 2006]
BREDEMEYER. Architect Competency Framework [en lnea]
[citado en 16 de Junio de 2008]
Architecting and Designing J2EE Applications (SL-425), Training Courses, Sun
Education Services pdf.
The Role of an Architect, the Architecture Journal by Amit Unde, Edicion #15. Page
7-9.
Role: Software Architect, Documentation Rational Unified Process Version 7.0,
Copyright (C) IBM Corporation 1987, 2005.
Arquitectura de Software
http://www.bredemeyer.com/pdf_files/ArchitectCompetencyFramework.PDFhttp://www.bredemeyer.com/pdf_files/ArchitectCompetencyFramework.PDF