SciELO - Scientific Electronic Library Online

 
vol.82 número193Behavior of coated forming tools with TiAlN coatings grown by Triode Magnetron SputteringDevelopment of a digital TV receivers test suite índice de autoresíndice de assuntospesquisa de artigos
Home Pagelista alfabética de periódicos  

Serviços Personalizados

Artigo

Indicadores

Links relacionados

  • Em processo de indexaçãoCitado por Google
  • Não possue artigos similaresSimilares em SciELO
  • Em processo de indexaçãoSimilares em Google

Compartilhar


DYNA

versão impressa ISSN 0012-7353

Dyna rev.fac.nac.minas vol.82 no.193 Medellín set./out. 2015

http://dx.doi.org/10.15446/dyna.v82n193.46752 

DOI: http://dx.doi.org/10.15446/dyna.v82n193.46752

Solution architecture approach, mechanism to reduce the gap between enterprise architecture and implementation of technological solutions

Enfoque de arquitectura de solución, mecanismo para reducir la brecha entre la arquitectura empresarial y la implementación de soluciones tecnológicas

 

Martín Darío Arango-Serna a, Jesús Enrique Londoño-Salazar b & John Willian Branch-Bedoya c

 

a Facultad de Minas, Universidad Nacional de Colombia, Medellín, Colombia. mdarango@unal.edu.co
b Facultad de Ingeniería, Fundación Universitaria Católica del Norte, Medellín, Colombia. jelondono@ucn.edu.co
c Facultad de Minas, Universidad Nacional de Colombia, Medellín, Colombia. jwbranch@unal.edu.co

 

Received: October 23th, 2014. Received in revised form: July 8th, 2015. Accepted: July 21th, 2015.

 

This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.


Abstract
This paper states an approach for the operationalization of a solution architecture model, as an integral part of the development process and the applications maintenance. The proposed approach has been put into practice in a Company from the financial sector. The process of construction and implementation process of technological solution in an Enterprise takes multiple practices and management models, and it brings into play different roles and actors during its execution, from the business and technological perspective. Recently, the concept of solution architecture, has emerged as a better practice (little explored and documented) and it is being used in the execution of initiatives related with the development of technology solutions cycle, also it interacts collaboratively with other better management practices as software and enterprise architecture.

Keywords: Solution architecture, Enterprise architecture, Software architecture, Technology solution.

Resumen
Este artículo propone un enfoque para la implementación de un modelo de Arquitectura de Solución, como parte integral en el proceso de desarrollo y mantenimiento de aplicaciones informáticas. El enfoque propuesto se llevó a la práctica en una empresa del sector financiero en Colombia. El proceso de construcción e implementación de soluciones tecnológicas en una empresa incorpora múltiples prácticas y modelos de gestión, al igual que compromete a diferentes actores y roles en su ejecución, tanto desde la perspectiva de negocio como tecnológica. Recientemente, el concepto de Arquitectura de Solución, ha emergido como una mejor práctica (poco explorada y documentada), la cual se viene utilizando en la ejecución de iniciativas asociadas dentro del ciclo de desarrollo de soluciones tecnológicas, y que interactúa de forma colaborativa con otros mejores prácticas de gestión como son la Arquitectura de Software y la Arquitectura Empresarial.

Palabras clave: Arquitectura de Solución; Arquitectura Empresarial; Arquitectura de Software; Solución Tecnológica.


 

1. Introducción

El proceso de desarrollo y mantenimiento de aplicaciones (de tipo informático, basadas en software), y en general el desarrollo de proyectos de Tecnologías de la Información (TI), siempre han sido considerados como uno de los ejes principales dentro de la estrategia tecnológica y como soporte vital de los procesos operativos de las empresas. Diferentes estudios realizados por empresas como Gartner, McKinsey, IDC, Stadish Group, entre otras, los cuales se abordan más adelante; han demostrado que un porcentaje significativo de los proyectos de tecnología y específicamente los relacionados con el desarrollo de software, fracasan o cumplen de forma parcial con el alcance, recursos y funcionalidad con que fueron planteados inicialmente. Las entidades antes mencionadas coindicen en las estadísticas que año tras año publican sobre el nivel de éxito que se obtiene en la ejecución de proyectos de software, los cuales surgen como resultado de estudios y encuestas que se realiza a múltiples compañías alrededor de todo el mundo. A nivel de ejemplo se muestran los resultados de un estudio de 2011 realizado por Gartner [1], donde se indica que, de un total de 845 proyectos observados el 42,5% no entregaron todos los beneficios esperados, el 44% se entregaron por encima del presupuesto, y el 42% no fueron entregados a tiempo. Por su parte, para el mismo año, McKinsey y la universidad de Oxford [2], publican los resultados de un estudio diferente donde, sobre un total de 4500 proyectos de TI evaluados, en lo que respecta a los asociados con diseño de software, 66% han excedido el presupuesto, 33% han excedido los tiempos de entrega y 17% entregan menos valor y funcionalidad de los establecidos inicialmente. Los ejemplos expuestos anteriormente reflejan que la industria del software, en sus diferentes esferas, en el contexto mundial y de forma concreta en las empresas, presenta grandes oportunidades de mejora en la ejecución de los proyectos que implican construcción de software y aplicaciones; y en general, cualquier proyecto de tipo tecnológico.

Para mitigar los efectos adversos que a todo nivel se presentan en la ejecución de proyectos asociados con el proceso de desarrollo y mantenimiento de aplicaciones, las empresas invierten gran cantidad de recursos y nuevas metodologías. Algunas de las mejores prácticas que se utilizan como apoyo metodológico en la gestión de esta clase de proyectos, son las siguientes: (i) gestión de proyectos de software (CMMI, PRINCE2, PMBOK), (ii) gobierno de tecnologías de información -en adelante TI (COBIT, ISO/IEC 38500), (iii) operaciones en el área de TI (ITIL, MOF), (iv) desarrollo de software (RUP, SCRUM, XP, etc;) y (v) Arquitectura Empresarial (TOGAF, FEAF). Todas estas herramientas son habitualmente utilizadas como recursos de apoyo a la gestión de TI.

El proceso de desarrollo y mantenimiento de aplicaciones en una empresa, no sólo se centra en aspectos de tipo tecnológico, sino que también implica los aspectos y necesidades de negocio que pretende cubrirse con la ejecución de los proyectos. Para alcanzar un nivel de concepción que integre ambos enfoques (tecnología y negocio), las empresas se apoyan en el concepto de "Arquitectura", como una forma de tener una visión más profunda que trasciende el enfoque técnico que prevalece en la actividad del diseño de software. A medida que el concepto de arquitectura evoluciona y es adoptado a nivel de las áreas de TI y de negocio, han ido surgiendo y posicionándose diferentes enfoques, según la especialidad y campo de acción. En el contexto del tema que se aborda en este trabajo, la reducción de brechas entre la Arquitectura Empresarial y la implementación de soluciones tecnológicas, se hace referencia a los siguientes enfoques: Arquitectura Empresarial (AE), Arquitectura de Software y Arquitectura de Solución (AS); los cuales, en su conjunto, cubren los diferentes aspectos y fases en el proceso de implementación de soluciones de negocio que se soportan en TI. En la sección 3 del artículo, se describe cada uno de los enfoques mencionados.

En el desarrollo de este artículo, se plantea un enfoque para la operacionalización de un modelo de Arquitectura de Solución en una empresa, como un mecanismo que ayuda a reducir la brecha (gap) que se presenta en el proceso de desarrollo y mantenimiento de aplicaciones, en el cual intervienen diferentes roles y áreas de la organización, donde los enfoques de Arquitectura Empresarial y Arquitectura de Software también juegan un papel importante.

Los resultados que se espera alcanzar con la implementación de este tipo de estrategias, buscan incidir de forma directa en mejorar varios de los indicadores dentro del proceso de desarrollo y mantenimiento de aplicaciones, entre los que se resaltan: reducción del time-to-market (entrega oportuna al negocio de las soluciones y aplicaciones que se implementan, al contar con un diseño arquitectónico e integral de la solución), reducción del número de defectos (cumplir con los requisitos de funcionalidad y calidad de la solución desde las fases de diseño), reducción del back-log en requerimientos del negocio (atención de un mayor número de requerimientos en menos tiempo) y el aumento de la productividad de los equipos de trabajo (reflejado en un aumento de la capacidad disponible con los mismos recursos). Se requiere entonces de la implementación de nuevas estrategias y metodologías que permitan la optimización en la ejecución de los proyectos tecnológicos, espacio en el cual la Arquitectura de Solución toma un papel relevante y donde puede hacer aportes significativos.

Además, de lo anteriormente expuesto en el numeral 2, se hace referencia a diferentes enfoques de Arquitectura de Solución y que han desarrollado diferentes autores. En el numeral 3, se hace una descripción de los diferentes enfoques de arquitectura, el papel que desempeñan dentro del proceso de desarrollo de aplicaciones y la forma en que se relacionan; haciendo énfasis en la Arquitectura de Solución. En el numeral 4, se hace el despliegue del enfoque de Arquitectura de Solución en las diferentes fases donde tiene participación en el proceso de desarrollo de aplicaciones. El numeral 5, presenta una contextualización sobre la aplicación del enfoque que se propone, y el numeral 6, reúne los resultados obtenidos. Por último, en el numeral 7, se exponen las conclusiones más relevantes.

 

2. Enfoques de Arquitectura de Solución -AS-

La bibliografía analizada con relación al concepto de AS, la cual es relativamente poca, permite esclarecer diferentes concepciones con respecto a este paradigma de arquitectura, lo cual, dado la poca difusión y conocimiento que presenta en los contextos académico, tecnológico y empresarial, se convierte en una fuente de información que nutre y fortalecen la formulación de algunas de las propuestas que se plantean en el desarrollo de este este artículo.

Algunos estudios existentes en los que se aborda el enfoque de Arquitectura de Solución, son los siguientes:

Por su parte el concepto de AE es desarrollado en detalle por Arango-Serna, Branch-Bedoya y Londoño-Salazar [16], con relación al análisis que se hace sobre este enfoque de arquitectura, visto como una herramienta que facilita gestionar la complejidad operativa en las organizaciones y aportar en la consolidación y operacionalización de la estrategia de negocio.

 

3. Enfoques de Arquitectura Empresarial y de TI

La teoría y sobre todo la práctica de la Arquitectura Empresarial y la arquitectura de TI, se ha venido desarrollando vertiginosamente en los últimos años. En este sentido, diferentes organizaciones a nivel mundial promueven la creación de estándares para la normalización de la práctica de estas disciplinas, entre las que se destacan: The Open Group, en la versión más reciente de Togaf (the open Group architecture framework, versión 9.1) [5], y la ISO/IEC/IEEE 42010:2011 [11], con la publicación más reciente del estándar Systems and software engineering -Architecture description. Ambos instrumentos desarrollan los temas asociados con el proceso de estandarización que debe darse entre los modelos y concepción de negocio, con la arquitectura y estrategia de TI; y los efectos que esta relación proyecta para el normal funcionamiento de las empresas. Por su parte, diversas empresas de la industria de TI (IBM, ORACLE, GARTNER, etc.), han creado y posicionado sus propios marcos de arquitectura, pero tomando como base las especificaciones que emiten las organizaciones de estandarización mencionadas anteriormente [19,20].

En la Fig. 1, en lo que respecta a los aspectos de Arquitectura Empresarial (negocio y TI), se esquematizan a través de las capas 2, 3 y 4 de la misma figura; mientras que la Arquitectura de Solución se ve representada a través de la capa 5; la cual se apoya en las especificaciones que se definen a nivel de la AE, y que, sumado a una necesidad o requerimiento específico que plantee el negocio, se encarga de los diseños de tipo arquitectónico de la solución.

En la misma figura, el enfoque de arquitectura de software está representado en la capa 6, la cual toma como insumo la información que se genera en los dominios que le anteceden en la (AE y AS), para enfocarse en el diseño detallado y construcción de los componentes de la Arquitectura de la Solución. El aspecto asociado con el "entorno" (capa 1 de la figura), hace alusión a las diferentes variables externas que influyen en un requerimiento de negocio, y que ejerce alguna clase de efecto sobre todos los enfoques de arquitectura involucrados.

La Arquitectura Empresarial se concibe como una mejor práctica capaz de conducir el desarrollo de la empresa desde la perspectiva de alineación entre la estrategia y objetivos de TI, con los aspectos de planificación y de operación de negocio [12,13], alcanzando a tener un conocimiento y cubrimiento completo de la empresa respecto al estado actual (As-Is) y al estado futuro que se planea alcanzar (To-Be) [14, 15]. La AE, se centra en apoyar, entre otros, los siguientes aspectos: (i) acompañar el desarrollo y ejecución de la estrategia de negocio en su proceso continuo de transformación, (ii) fortalecer de forma progresiva los procesos y las capacidades de negocio, (iii) operacionalizar en la práctica los cambios que presenta la empresa, y que afectan toda la estructura operativa, (iv) apoyar la orientación del norte tecnológico alineado con las estrategias de negocio y (v) explorar capacidades de innovación a partir de los recursos y capacidades existentes [16].

Por su parte, la "Arquitectura de Software" es uno de los aspectos técnicos que, desde sus orígenes, presenta avances significativos en todo lo relacionado con la ingeniería de software y el impacto que genera en la gestión de los Sistemas de Información (SI). Desde sus inicios, la Arquitectura de Software se concibe como una abstracción de alto nivel para los sistemas de software, expresado en término de componentes y conectores (Shaw; Perry y Lobo, citado en [8]). Posteriormente, a medida que evoluciona la industria del software, el enfoque arquitectura va presentando cambios y comienza a visualizare como un conjunto de decisiones de diseño (sin dejar de lado los aspectos de tipo técnico) que, incorporan el contexto y la razón de la necesidad objeto de una solución [8,11]. En la actualidad en esencia se tiene la misma concepción del concepto Arquitectura de Software, pero se incorporan novedades con respecto a las técnicas utilizadas, los modelos de gestión y tendencias tecnológicas que afectan de forma directa el proceso de diseño y construcción de aplicaciones.

La IEEE presenta la definición de Arquitectura de Software que alcanza mayor aceptación en el contexto tecnológico, la cual fue publicada por primera vez bajo el estándar ANSI/IEEE 1471-2000, pero que ha ido evolucionando hasta la última versión publicada: ISO/IEC/IEEE 42010:2011. La Arquitectura de Software es la organización fundamental de un sistema, encarnada en sus componentes, las relaciones entre ellos y el ambiente, y los principios que orientan su diseño y evolución [11].

Los enfoques de arquitectura que han sido descritos hasta el momento, se centran en aspectos relacionados con los temas de alineación de TI con el negocio (del dominio de la AE), y las técnicas y mejores prácticas para el proceso de diseño y construcción de aplicaciones (del dominio de la Arquitectura de Software). Durante varios años, ambos enfoques han sabido convivir, además de la complementariedad que presentan dentro del desarrollo de proyectos informáticos; pero a medida que la AE ha ido ganando terreno en términos de un mayor acercamiento al negocio, comienzan a aparecer vacíos en el proceso de desarrollo y se amplía la brecha respecto al enfoque de la Arquitectura de Software, más específicamente en el rol que juegan ambos enfoques en el proceso de desarrollo y mantenimiento de aplicaciones.

La creciente necesidad que presentan las empresas de poder contar con soluciones tecnológicas que se ajusten efectivamente a sus necesidades, que tengan una mejor calidad sostenida en el tiempo y que puedan llevarse a producción en períodos de tiempo más cortos, entre otros aspectos, plantea nuevos retos en el proceso de desarrollo de aplicaciones.

La Arquitectura de Solución surge como un mecanismo para ayudar a generar mayor eficiencia y generación de valor en el proceso de diseño e implementación de soluciones tecnológicas que están de cara al negocio, bajo un enfoque integral y desde una perspectiva de principio a fin. La AS posibilita un mayor acercamiento a las áreas de negocio, al comprender las necesidades que presentan y ayudarles a traducirlas en requerimientos concretos que sirvan de insumo en el proceso de estructuración, diseño e implementación de una solución tecnológica y de los procesos operativos asociados; garantizando que, desde la fase de concepción y diseño de la solución se tenga cobertura en los diferentes aspectos involucrados y se alcance una visión de "solución".

Para Togaf [18], la Arquitectura de Solución corresponde a la descripción de una operación o actividad específica de negocio, y cómo ésta es soportada por la conjunción entre los sistemas y tecnologías de información. La Arquitectura de Solución tiene la responsabilidad del diseño arquitectónico y la documentación de un sistema, subsistema o componente en el entorno de una solución informática. Por su parte, para Gartner [17], la Arquitectura de Solución, concierne a una descripción arquitectónica de una solución específica, la cual combina la orientación de los diferentes puntos de vista de Arquitectura Empresarial (negocio, información, aplicaciones y tecnología), así como las especificaciones inherentes a la gestión operativa y los componentes relacionados con una solución.

En la Fig. 2, se presenta una sinopsis sobre los énfasis y descripción de los elementos que describen cada enfoque de arquitectura, donde la Arquitectura de Solución cumple el rol del diseño arquitectónico de un proyecto o requerimiento, el cual se convierte en el punto de intersección entre las especificaciones que define la Arquitectura Empresarial, y la función de diseño detallado y construcción que concierne a la Arquitectura de Software.

Al profundizar en la concepción que debe darse a un requerimiento o necesidad de negocio que se soporta en una implementación tecnológica, se ve que ésta siempre debe darse bajo un contexto con visión de "Solución". La concepción que se alcanza a tener desde esta perspectiva, garantiza que la iniciativa que se emprenda, tenga un alcance global de la necesidad, que se consideren todas las partes y componentes que la constituyen, se garantice la integridad conceptual y se alcance una interpretación y descripción del entorno que la afecta.

La Arquitectura de Solución alcanza una comprensión clara de los requerimientos de negocio, con capacidad de ser traducidos en un diseño de arquitectura con una visión integral de la necesidad (visión de solución), y no solamente desde un enfoque y alcance específico de cada aplicación o componente. Las áreas de negocio exigen que se le entreguen soluciones completas que cumplan con los requerimientos y necesidades que se hayan definido, pasando a un segundo plano el nivel de complejidad y la cantidad de aplicaciones, componentes y aspectos técnicos que haya demandado su construcción.

Las principales funciones que le competen al rol de Arquitectura de Solución son las siguientes:

  • Acompañar a los usuarios en focalizar las ideas y necesidades de negocio en términos de TI y los procesos.
  • Cualificaciones de los requisitos de negocio, tanto funcionales como no funcionales.
  • Identificar los esfuerzos y el alcance que implica la implementación de la solución, de forma conjunta con los usuarios.
  • Generar sinergias en la ejecución de diferentes proyectos que sean afines.
  • Realizar el diseño arquitectónico de la solución (como función principal del rol).
  • Velar porque el diseño de la solución cubra las capacidades de negocio y cumpla con los lineamientos, estándares y patrones de arquitectura.
  • Realizar validaciones en diferentes fases del proceso de construcción de la solución.
  • Acompañar a otros equipos de trabajo durante la ejecución de todo el proyecto.
  • Recomendar y aplicar mejores prácticas y metodologías para el proceso de desarrollo de la solución.
  • Garantizar la actualización del diseño arquitectónico de la solución a medida que esta evoluciona o presenta algún cambio.
  • Validar la adherencia de la arquitectura en las soluciones que se implementan, cuya finalidad es garantizar que los diseños detallados de la solución cumplen con la arquitectura propuesta, y así prevenir desviaciones entre lo definido, lo diseñado y ejecutado.

En la Fig. 3, se muestra el nivel de complementariedad que existe entre los diferentes enfoques de arquitectura. Se observa cómo la Arquitectura de Solución entra a cubrir parte de los gaps que se presentan en los otros dos enfoques (el signo '+', indica que la característica se cubre en un alto nivel, mientras que el signo '-' significa que la característica no se cubre, o se logra en proporción baja).

 

4. Enfoque de la Arquitectura de Solución

La concepción que debe darse a un requerimiento o proyecto empresarial que se soporta en una implementación tecnológica, siempre debe ser con visión de "Solución". Bajo esta clase de enfoque, la iniciativa que se emprenda tendrá un alcance global que garantice la integridad conceptual y la capacidad de interpretar y describir todo el entorno que afecta y cubre cada necesidad asociada con un proyecto específico. La AS alcanza una comprensión clara de los requerimientos de negocio, con capacidad de ser traducidos en un diseño de arquitectura con una visión transversal, y no simplemente desde el enfoque y alcance específico en el contexto de una aplicación o componente (cuya concepción y aplicabilidad corresponde al dominio de la Arquitectura de Software).

En la Fig. 4 se presenta un ejemplo asociado al sector financiero que esquematiza la forma como se interrelacionan los conceptos de "solución- aplicación-componente" donde, el concepto de solución alcanza un cubrimiento global de un requerimiento, e incluso de un proceso completo de negocio el cual involucra múltiples aplicaciones y componentes. De forma complementaria, bajo esta orientación se cubren las relaciones de uso que se dan entre los diferentes componentes que intervienen para el normal funcionamiento de la solución, tanto a nivel interno, como con otros sistemas y componentes externos.

A partir de la misma figura, se infiere la complejidad que puede llegar a alcanzar la concepción de toda una solución de negocio o parte de ella. Es a la luz de este contexto que toma relevancia del rol una Arquitectura de Solución, capaz de describir y articular los diferentes escenarios, aspectos de negocio, manejo de la información y las relaciones de uso e integración de los diferentes componentes involucrados. De igual forma, toma importancia el profundo conocimiento que se debe tener del funcionamiento del negocio y de los procesos específicos que se ven afectados por la solución; sin ese nivel de dominio, es casi imposible poder traducir a términos tecnológicos y operativos las necesidades concretas que se alcanzan a dilucidar desde el análisis de los requerimientos.

Al asociar el rol que desempeña la Arquitectura de Software en esta clase de enfoques, esta se centra principalmente en comprender, de manera detallada, la estructura y el funcionamiento de cada aplicativo y/o componente, con el objeto de efectuar los diseños requeridos y el proceso de construcción de los componentes de software que cumplan con las especificaciones planteadas. Incluso, es una labor donde intervienen diferentes arquitectos y casas de software, dependiendo de la complejidad y la especialidad en cuanto al dominio y conocimiento del tema.

El proceso de desarrollo y mantenimiento de aplicaciones involucra diferentes áreas, las cuales cumplen roles que van desde la definición de una necesidad de negocio y la interpretación y conversión de ésta en requerimientos de tipo arquitectónico y tecnológico, pasando por las siguientes fases: diseño de alto nivel (arquitectura), diseño detallado (construcción de la solución), implantación en ambientes controlados (pruebas), implantación en el ambiente de producción, hasta llegar, finalmente, a la liberación y entrega de la solución al usuario demandante de la misma.

 

5. Propuesta de implementación de un enfoque de Arquitectura de Solución

En la Fig. 5 se presentan las diferentes fases del ciclo de desarrollo de una solución, resaltando la cobertura que tiene cada enfoque de arquitectura. La AS entra a cubrir las fases donde se conceptualiza y se realiza el diseño de la solución, como pasos previos para llegar al diseño detallado y al proceso de construcción.

En la fase de estructurar la necesidad, la AS se centra en los siguientes aspectos:

  • Acompañar y asesorar en el proceso de estructuración de la idea o requerimiento.
  • Apoyar a las áreas usuarias y líderes de iniciativas en concretar y acotar la necesidad.
  • Realizar un acercamiento inicial al cubrimiento de capacidades de negocio.
  • Identificar soluciones existentes que puedan dar soporte o cubrir la necesidad.
  • Realimentar y hacer aportes en la especificación de requisitos, la cual es responsabilidad de las áreas usuarias.
  • Hacer aportes de tipo tecnológico en la elaboración del caso de negocio del requerimiento.

En las Figs 5 y 6 se hace un despliegue de los pasos que corresponden a las dos primeras fases en que tiene participación directa el rol de AS.

Por su parte en la Fig. 7, se presenta la participación de la AS, en la fase de gestionar la demanda. La contribución principal se ve reflejada en el análisis que se hace sobre algunas de las variables que ayudan a definir la complejidad que puede presentar el desarrollo de una iniciativa o proyecto.

En la Fig. 8, se presenta el flujograma del proceso "diseñar la solución". De igual forma, se hace una descripción detallada de cada una de las actividades en que participa la Arquitectura de Solución:

Acompañar la actividad de especificación de los requisitos.

Hacer un análisis de toda la documentación que como insumo, ingresa a la fase de diseño (modelo conceptual, definición del proceso, requisitos, casos de uso, restricciones del proyecto, etc).

  • Hacer un análisis de toda la documentación que como insumo, ingresa a la fase de diseño (modelo conceptual, definición del proceso, requisitos, casos de uso, restricciones del proyecto, etc).
  • Construir una primera versión (de alto nivel) del diseño de arquitectura, a través de una vista de componentes y relación de uso entre los mismos.
  • Realimentar con los diferentes equipos el diseño inicial de arquitectura y validar que si corresponda con el alcance definido.
  • Completar el diseño de arquitectura en sus diferentes vistas: componentes y servicios, información, aplicaciones, interfaces, infraestructura, seguridad, etc. Como resultado se genera toda la documentación que contiene el diseño de arquitectura.
  • Utilizar y aplicar dentro del proceso de diseño, las definiciones, los estándares, patrones y demás artefactos que se encuentran homologados por la Arquitectura Empresarial y/o el gobierno de TI.
  • Realimentar a las áreas involucradas sobre el diseño final de arquitectura. Atender dudas, recibir realimentación y hacer los ajustes que sean requeridos.
  • Hacer entrega oficial del diseño de arquitectura a los líderes del proyecto y demás áreas involucradas.
  • En fases posteriores, donde la AS ya no tiene participación directa, la intervención es la siguiente: (i) validar la adherencia de la arquitectura, (ii) acompañar de forma focalizada algunos pasos de la fase de pruebas y (iii) verificar, en la fase de liberación, el funcionamiento de la solución, respecto al diseño de arquitectura.

 

6. Aplicación del enfoque propuesto

El enfoque de Arquitectura de Solución propuesto en este artículo, ha sido puesto en práctica dentro de la restructuración del macro-proceso de desarrollo y mantenimiento de aplicaciones de una empresa del sector financiero en Colombia. Antes de la implementación de este modelo, desde la perspectiva de arquitectura, en el proceso participaban los roles de Arquitectura Empresarial y Arquitectura de Software (materializada en todo el ciclo y cadena de desarrollo). El diseño arquitectónico de una solución o proyecto se distribuía entre ambas áreas de arquitectura con base en algunos criterios preestablecidos. La forma en que funcionaba el proceso presentaba bastantes posibilidades de mejora en los siguientes indicadores: mejoras del time-to-market, reducción del número de defectos en el proceso, reducción del back-log, obtener mejoras en la productividad de los equipos de trabajo y mejorar la percepción del nivel de satisfacción de las áreas usuarias, entre otros aspectos. Las diferentes estrategias y acciones que se incorporaron para mejorar el proceso, llevaron a la operacionalización del rol de Arquitectura de Solución, bajo un enfoque como el explicado en el numeral 4 de este artículo.

Un cambio de esta connotación en una empresa que maneja un alto grado de complejidad en las áreas de tecnología y operaciones, conlleva a que se implemente toda una serie de estrategias relacionadas con actividades de transformación cultural, se realicen cambios en algunas de las estructuras y se conformen equipos de trabajo con diferentes skills, diversas especialidades y grado de experiencia. De igual forma, el proceso implicó hacer una definición de roles y funciones, estructurar aspectos de tipo metodológico, realizar pruebas piloto y planes de capacitación (de conocimiento del negocio, de tipo técnico-tecnológico y aspectos metodológicos), entre otros aspectos.

En la actualidad, el enfoque de Arquitectura de Solución adoptado se encuentra operando satisfactoriamente, además que presenta mejora en casi todos los indicadores del proceso de desarrollo y mantenimiento de aplicaciones. Como todo proceso de cambio, también se presentan acciones de mejora, las cuales se van realizando de forma progresiva, entre las que se resaltan: (i) garantizar la adherencia de la arquitectura en todo el ciclo de implementación, (ii) refinar y detallar los esquemas de integración de los componentes que se definen dentro de una solución, (iii), reforzar el levantamiento de información en las diferentes vistas que corresponde a la infraestructura tecnológica y (v) garantizar la mantenibilidad de los diseños de arquitectura.

 

7. Resultados alcanzados con la aplicación del enfoque propuesto

Algunos de los resultados obtenidos durante el transcurso de un año, después de la aplicación del enfoque propuesto, son los siguientes:

A nivel de aspectos metodológicos:

  • Estructuración del modelo operativo. Definir foco estratégico, portafolio de servicios, ajustes de los diferentes roles y funciones, gestionar la capacidad, indicadores de gestión, esquemas de relacionamiento con otros roles y áreas, etc.
  • Estructuración del proceso vertical del rol. Definición el proceso de diseño de arquitectura, consolidar la metodología y documentación del diseño de Arquitectura de Solución, adoptar mejores prácticas, implementar un proceso de diseño iterativo, estandarizar herramientas y definir entregables y actividades de validación del diseño.
  • Manejo de equipos. Definir y ejecutar planes de formación (transformacional, de negocio, metodológico y técnico), apoyar con expertos temas por línea de especialidad (afianzando la Fig. de pares), proceso de acompañamiento y seguimiento bajo la figura de ciclos cortos.
  • Estrategia comunicacional. Implementar un modelo de asesorías a las diferentes áreas, acompañar a las diferentes áreas en las fases iniciales de la estructuración de la necesidad, presentar avances del diseño por hitos (ganancias tempranas), entrega oficial del diseño (a través de documentos y la figura de workshops).

Las siguientes son algunas de las mejoras alcanzadas en algunos indicadores del proceso, las cuales han sido obtenidas a partir de las mediciones realizadas en la aplicación del modelo durante un lapso de dos años en una entidad prestadora de servicios financieros, los cuales están soportados la medición de tiempos de diseño y ejecución de los proyectos, encuestas de percepción y satisfacción de quienes intervienen en la cadena de producción, mediciones de la capacidad y time-to-market en la entrega de las soluciones, etc.:

  • Oportunidad de respuesta en la entrega de requerimientos. Se obtienen mejoras cercanas al 100% respecto a modelo anteriores.
  • Reducción en la atención de incidentes (defectos en el proceso). Se obtiene una reducción cercana al 64%.
  • Mejora en la eficiencia y productividad. Se alcanzan ahorros cercanos al 30% en los diseños de soluciones propias.
  • Porcentaje de ocupación de la capacidad del rol de Arquitectura de Solución. 92% en promedio.
  • Indice de percepción de generación de valor del área de Arquitectura de Solución. 90% en promedio.

Por último, esta experiencia fue presentada con un mayor nivel de detalle en el 1er. concurso Nacional de Arquitecturas de TI (septiembre de 2013) [10], organizado por la Universidad de los Andes de Colombia y la organización IASA capítulo Colombia (An Association for ALL IT Architects), en el cual se obtuvo el 1er. puesto en la categoría 'Arquitectura de Solución'.

 

8. Conclusiones

El enfoque de Arquitectura de Solución propuesto en este artículo, ha demostrado ser efectivo y generador de valor en el proceso de desarrollo y mantenimiento de aplicaciones (sustentado en los resultados obtenidos en el caso aplicado, respecto a los beneficios y objetivos esperados), lo cual coincide con las tesis y conceptos que exponen varios de los autores revisados.

El rol de Arquitectura de Solución es un concepto relativamente nuevo y con poco nivel de implementación empresarial en el ámbito colombiano, induciendo a que el enfoque de diseño arquitectónico se siga gestionando de forma tradicional desde las áreas de desarrollo de software, lo cual produce que se amplié la brecha de productividad en términos de la eficiencia y calidad. El mismo fenómeno se presenta en cuanto al bajo nivel de integralidad y cohesión entre el diseño de una solución, respecto al enfoque de Arquitectura Empresarial y el efecto negativo en cuanto a la alineación de TI con el negocio. Es importante que las empresas conozcan y adopten enfoques de Arquitectura de Solución y Arquitectura Empresarial, como mecanismo que les permita mejorar los indicadores de costo-eficiencia.

La creación de nuevos roles dentro de un proceso de desarrollo de software, debe ser claramente definida y tener la certeza del aporte que hace en cuanto a la generación de valor. De igual forma definir y describir con claridad el proceso (roles, funciones, actividades, indicadores, aspectos metodológicos, etc), garantiza en un alto porcentaje el éxito y cumplimiento de los objetivos que se establecen.

Surgen nuevas ideas que abren espacio a investigaciones futuras: (i) validar la aplicación del enfoque y metodología de Arquitectura de Solución respecto a los indicadores de calidad y agilidad en el ciclo completo del proceso de desarrollo de software, (ii) refinar el proceso metodológico de la Arquitectura de Solución, para que se adecúe a metodologías de diseño ágiles que permitan optimizar los tiempos de ejecución que conlleva el diseño arquitectónico de una solución y (iii) plantear el desarrollo de métodos formales que definan los esquemas de relacionamiento de la Arquitectura de Solución, con otros roles como son: la gestión de proyectos, la gestión del riesgo y el análisis de variables de costo-eficiencia entre otras.

 

Agradecimientos

El presente artículo se deriva como parte de los resultados del proyecto de investigación "Modelo funcional de integración de la Arquitectura Empresarial de N entidades alrededor de un grupo empresarial. Un enfoque de orientación a servicios y modelado de redes de capacidades", línea de investigación: Modelización Empresarial, financiado por el Grupo de I+D+I Logística Industrial - Organizacional "GICO" de la Universidad Nacional de Colombia - Sede Medellín, Facultad de Minas.

 

Referencias

[1] Gartner., How to increase your IT project success rate [Online], pp. 1-11, 2011, [date of reference November 25th of 2013], Available at: www.namcook.com/Articles/GartnerArticle.doc        [ Links ]

[2] McKinsey's., Delivering large-scale IT projects on time, on budget, and on value [Online], october de 2012, [date of reference December 12th of 2013], Available at: http://www.mckinsey.com/insights/business_technology/delivering_large-scale_it_projects_on_time_on_budget_and_on_value        [ Links ]

[3] Critchley, J., A rough guide to solution architecture [Online], pp. 1-6, 2007, [date of reference November 30th of 2013], Available at: http://www.solutionarchitecture.org/Workshop/Professional-development/a-rough-guide-to-solution-architecture.html        [ Links ]

[4] Slot, R., Dedene, G. and Maes, R., Business value of solution architecture, advances in enterprise engineering II. Lecture Notes in Business Information Processing, 28, pp. 84-108, 2009. DOI: 10.1007/978-3-642-01859-6_6        [ Links ]

[5] The Open Group., The Open Group Architectural Framework (TOGAF) Version 9.1, chapters 15.4.1 y 52.6.3. [online], 2011, [date of reference October of 2013], Available at: http://www.opengroup.org/togaf/.         [ Links ]

[6] Aggarwal, A., Banking expertise: The key value add of the solution architect, FIS Technology Consulting, pp. 1-7, 2011.         [ Links ]

[7] Zimmermann, O., Miksovic, C. and Küster, J.M., Reference architecture, metamodel, and modeling principles for architectural knowledge management in information technology services, Journal of Systems and Software, Elsivier, 85, pp. 2014-2033, 2012.         [ Links ]

[8] Poort, E.R., Vliet, H.V. RCDA: Architecting as a risk- and cost management discipline, Journal of Systems and Software, Elsivier, 85, pp. 1995-2013, 2012. DOI: 10.1016/j.jss.2012.03.071        [ Links ]

[9] Blanton, C. and Burton, B., Best and worst enterprise and application architecture practices you can improve, Gartner, pp. 1-27, 2013.         [ Links ]

[10] Londoño, J.E., Operacionalización de un modelo de arquitectura de solución como eje articulador entre la arquitectura empresarial y la implementación de soluciones tecnológicas, manuscrito inédito, Primer Concurso Nacional de Arquitecturas de TI. IV Foro Internacional en Arquitectura Empresarial. ITARC-2013, [online], pp. 1-35, 2013, Available at: http://iasacolombia.weebly.com/concurso-nacional-de-arquitecturas-de-ti.html        [ Links ]

[11] ISO/IEC/IEEE., Systems and software engineering - Architecture description, ISO/IEC/IEEE FDIS 42010, pp. 1-46, 2011.         [ Links ]

[12] Lankhorst, M., Enterprise architecture at work: Modelling, communication and analysis, 3ª ed., Berlin Heidelberg, Springer-Verlag, 2013, 356 P.         [ Links ],

[13] Schekkerman, J., Enterprise architecture good practices guide - How to manage the enterprise architecture practice, Bloomington, Trafford Publishing, 2008, 388 P.         [ Links ]

[14] Ross, J.W., Weill P.P. and Robertson, D.C., Enterprise architecture as strategy: Creating a foundation for business execution, Massachusetts, Harvard Business School Press, 2006, 256 P.         [ Links ]

[15] Bernard, S., An introduction to enterprise architecture, 2ª Ed., Bloomington, Paperback, 2005, 351 P.         [ Links ]

[16] Londoño, J.E., Arango. S. and Branch, J., Arquitectura empresarial como instrumento para gestionar la complejidad en las organizaciones. Revista DYNA, 81 (185), pp. 219-226, 2014. DOI: 10.15446/dyna.v81n185.41928        [ Links ]

[17] Gartner., IT glossary gartner research, [Online]. [date of reference December of 2013], Available at: http://www.gartner.com/it-glossary/solution-architecture.         [ Links ]

[18] The Open Group., The Open Group Architectural Framework (TOGAF) Version 9.1, chapter 3.65 [Online], 2011, [Date of reference October of 2013], Available at: http://www.opengroup.org/togaf/        [ Links ]

[19] Arango S,M., Londoño, J.E., y Zapata C,J., Arquitectura empresarial - una visión general, Revista Ingenierías Universidad de Medellín, 9 (16), pp. 101-111, 2010.         [ Links ]

[20] Arango S,M., Londoño, J.E. y Zapata C,J., Arquitectura orientada a servicios en el contexto de la arquitectura empresarial, Revista Avances en Sistema e Informática, 7 (2), pp. 1657-1663, 2010.         [ Links ]

 

M.D. Arango-Serna, es graduado como Ing. Industrial en 1991, Esp. en Finanzas, Formulación y Evaluación de Proyectos en 1993 por la Universidad de Antioquia, Colombia, Esp. en Docencia Universitaria en 2007 por la Universidad Politécnica de Valencia, España, MSc. en Ingeniería de Sistemas en 1997 por la Universidad Nacional de Colombia - Sede Medellín, Colombia y Dr. Ingeniero Industrial en 2001 por la Universidad Politécnica de Valencia, España. Es profesor titular en dedicación exclusiva adscrito al Departamento de Ingeniería de la Organización, Facultad de Minas, Universidad Nacional de Colombia, Medellín, Colombia. Investigador senior según clasificación Colciencias 2013. Director del Grupo de I+D+i Logística Industrial- Organizacional "GICO", grupo A1.

J.E. Londoño-Salazar, es Ing. de Sistemas en 1994, Esp. en Gestión de la Calidad Universitaria en 1999, MSc. en Comercio Electrónico en 2004, Esp. en Administración de Empresas en 2011 y Dr. en Ingeniería de Sistemas en 2015 por la Universidad Nacional de Colombia, Medellín, Colombia. Desde 1995 a la fecha, ha trabajado en el grupo Bancolombia S.A, Colombia, en diferentes áreas de tecnologías de información (infraestructura y desarrollo), en los últimos 8 años se viene desempeñado como arquitecto empresarial y de solución en la misma entidad. Es docente investigador en la Facultad de Ingeniería de la Fundación Universitaria Católica del Norte, Colombia. Cuenta con certificaciones de industria en: Itil v3, Cobit 4.0, CISA, Togaf 1 y 2 Vers.9.

J.W. Branch-Bedoya, es graduado como Ing. de Minas y Metalurgia, MSc. en Ingeniería de Sistemas y Dr. en Ingeniería de la Universidad Nacional de Colombia, Sede Medellín, Colombia. Es actualmente profesor asociado en dedicación exclusiva adscrito al Departamento de Ciencias de la Computación y la Decisión de la Facultad de Minas, Universidad Nacional de Colombia, Medellín, Colombia. Desde junio de 2010 se desempeña como Decano de la Facultad de Minas. Es investigador senior según clasificación Colciencias 2013.