Los desafíos de la innovación en un mundo exponencial
Gestion de it : un enfoque centrado en arquitecturas
1. GESTIÓN IT: UN ENFOQUE CENTRADO
EN ARQUITECTURAS
M a rce lo Lu n a Alej a n d ro B i a n c h i
LAS IDEAS PRINCIPALES
LAS IDEAS PRINCIPALES
La tecnologia ha evolucionado y nos brinda la posibilidad de pensar nuevas formas de negocios.
Las aplicaciones tienen que satisfacer una complejidad creciente, y contar con atributos de
calidad que hasta hace poco correspondían sólo a sistemas de altísima complejidad.
Hoy surgen cuestiones a tener en cuenta, como la alineación de los sistemas con el negocio, la
agilidad de la implementación y, a la par, cuál es la deuda teécnica quedeja ese proceso.
Cada vez que queremos implementar la arquitectura, nos encontramos con que nos dicen que
no existe la arquitectura. Pero esto no es así: siempre hay arquitectura, que puede ser intencional
o accidental.
La idea es entender la motivación del negocio, evaluar y diseñar una arquitectura de referencia y,
por último, el trabajo de evolución.
Se partió de un Modelo de Motivación del Negocio, que permite mapear estrategias y tácticas
con los objetivos del negocio.
En segundo lugar, se debió trabajar con la documentación arquitectural. Fue necesario una
especie de trabajo “arqueológico”, que implicó, entre otras cosas, entender decisiones tomadas
en el pasado.
ACERCA DEL DISERTANTE
Marcelo Luna: Ingeniero de Sistemas graduado en la UNCPBA (Tandil). Ha participado en proyectos de software,
desempeñando variados roles en los equipos de desarrollo. Como consultor senior en Liveware IS S.A., ha participado en
proyectos relacionados con la práctica de la Ingeniería de Software en Argentina, Brasil e Inglaterra.
Alejandro Bianchi: Analista de Sistemas con un postgrado en Sistemas expertos de la UCALP. Diploma en gerencia
estratégica de la Escuela de Dirección de Empresas de la UADE. Es también ATAM Evaluator Certificate y Software
Architecture Professional Certificate del Software Engineering Institute, CMU University.
Gentileza de
2. Gestión IT Lunes, 25 de Junio de 2012
ALEJANDRO BIANCHI
La tecnologia ha evolucionado y nos brinda la posibilidad de pensar nuevas formas de
“La tecnología negocios. El ámbito financiero es uno de los que más nos muestran la complejidad de
actual permite este nuevo mundo. Las aplicaciones tienen que satisfacer una complejidad creciente,
y contar con atributos de calidad que hasta hace poco correspondían sólo a sistemas
pensar nuevas
de altísima complejidad. Entre los desafíos tenemos la integración de software abierto
formas de negocio y propietario, y de las tecnologías de distintos proveedores. Y hay que ser cuidadosos,
que implican un porque en ocasiones dos componentes beneficiosos combinados pueden llevar a
nuevo nivel de una desmejora en la performance.
complejidad en Hoy en día nos surgen una serie de preocupaciones. Primero, el tema del
alineamiento con el negocio. Este punto hace que nos pregunternos en qué medida
la aplicación de
las decisiones tecnológicas se relacionan con la visión que tenemos sobre el negocio.
sistemas”. Esto está relacionado con la arquitectura empresarial y, en parte, aunque no parezca,
Alejandro Bianchi con el software.
Luego, nos preguntamos: ¿cómo se justifica el cambio tecnológico, qué beneficio
puede obtener, qué retorno? ¿Cómo mido el impacto de un cambio tecnológico en
mi organización? ¿Cómo afecta esto mi hoja de ruta? ¿Qué hago primero, qué hago
después?
Otra cuestión que nos inquieta es la búsqueda de agilidad en la implementación,
algo muy deseable pero que conlleva un problema, lo que llamamos deuda técnica,
que es la cantidad de esfuerzo que tengo que hacer luego de una intervención para
corregir decisiones técnicas que tomé para acortar el camino.
¿Cómo hacemos para lograr ser ágiles? ¿Cómo hacer para que IT no se convierta
en un cuello de botella?
Otra cuestión a tener en cuenta, las siempre comunes actividades repetidas y esfuerzo
duplicado. La arquitectura del software intenta resolver estas cuestiones en esos
“Las aplicaciones contextos.
deben ahora ¿Cuál es la definición de arquitectura del software? Es la estructura o las estructuras
del sistema que contienen a los componentes, las propiedades visibles de esos
satisfacer atributos
componentes y las relaciones entre ellos. Es un concepto dificil de asimilar, pero que
de calidad antes hoy en día es muy importante. Nosotros queremos hacer una modificación a esta
reservados definición: “La arquitectura es un puente entre las necesidades de los stakeholders y
para sistemas los grupos de producción de software, en donde el arquitecto refleja las soluciones y
de altísima decisiones técnicas, resuelve conflictos y busca consensos entre todos los interesados/
afectados para lograr un diseño adecuado a los objetivos de negocio.
complejidad”.
Cada vez que queremos implementar la arquitectura, nos encontramos con que nos
Alejandro Bianchi dicen que no existe la arquitectura. Pero esto no es así: siempre hay arquitectura, que
puede ser intencional o accidental. Pero existe.
Si quieren saber si la arquitectura es accidental vean la estructura de funcionamiento.
Hay una relacion muy cercana entre ambas dimensiones. Cuando una arquitectura es
funcional satisface los objetivos de negocios. Cuando es accidental, la arquitectura
deriva de una definicioin de objetivos de negocios que no se puede justificar o
explicar bien. Pero de un modo u otro, siempre hay una arquitectura.
La arquitectura de software permite la comunicacion entre los stakeholders. Nos
permite pasar de una vision de silo a una de cooperacion. Tambien manifiesta
tempranamente las decisiones de diseño. Para las decisiones se necesita ver como
Gentileza de
3. Gestión IT Lunes, 25 de Junio de 2012
contribuye cada componente de una arquitectura.
Quiero que vean el alcance de lo que estamos hablando. Hace un tiempo, en
Inglaterra, una reunión de revisión de un modelo de arquitectura nos permitió ahorrar
2.500 horas de trabajo de desarrollo. Debemos entender que si tenemos modelos
“Muchas veces arquitecturales de referencia, no podemos volver a reusarlos. Cada vez, es necesario
construir nuevo software. Hoy, tenemos la tecnología para hacerlo. Necesitamos
las inversiones capacidad metódica para hacerlo real.
que se hacen Veamos ahora de qué manera estos principios de los que hemos ido hablando han
en tecnología sido utilizados.
no llegan a ser
satisfechas por MARCELO LUNA
Voy a hacer un overview sobre las técnicas que hemos utilizado para realizar una
el negocio al que arquitectura de referencia, es decir, el marco que tenemos para luego elaborar una
están asociadas, arquitectura para un negocio. En Banelco, tenemos 5 mil ATMs, 14 millones de usuarios,
siempre hay que más de 55 soluciones de software y 720 millones de transacciones al año.
teneren cuenta la Nosotros nos preguntamos: ¿qué tan adecuada es la arquitectura actual para los
alineación con el objetivos de nuestro negocio? Si tuvieramos que pensar en una nueva arquitectura,
¿cuál debería ser el alcance del cambio?
negocio”. Básicamente, hay tres preguntas fundamentales: qué, por qué y cómo.
Alejandro Bianchi El conjunto de métodos que voy a presentarles en el tiempo que tenemos
disponible, ayuda a responder estas preguntas. Nosotros planteamos un sistema de
trabajo complejo. La idea es entender la motivación del negocio, evaluar y diseñar
una arquitectura de referencia y, por último, el trabajo de evolución, que es un trabajo
futuro.
Quiero contarles cómo llevamos adelante el trabajo. Primero: nosotros partimos
de lo que llamamos el Modelo de Motivación del Negocio, que es un modelo que
permite mapear estrategias y tácticas con los objetivos del negocio. En segundo lugar,
conectarlo con la documentación arquitectural. Debido a que esta documentación
“El concepto necesitaba una facilitación, hicimos una especie de trabajo “arqueológico”, que implicó,
entre otras cosas, entender decisiones tomadas en el pasado. El primer objetivo, ya
de deuda técnica con la información disponible, fue entender las necesidades del negocio. Nosotros
es la cantidad queremos tender un puente, de acuerdo con la definición que dio Alejandro Bianchi.
de esfuerzo que Básicamente, usamos métodos definidos por Workshop de Atributos de Calidad
necesito hacer para (QAW, por sus siglas en inglés).
corregir decisiones El punto de partida tiene que ser una pregunta: ¿qué características de arquitectura
necesita una solución para cumplir con los objetivos de negocio? Esa pregunta es
que tomé sobre muy importante, porque buscamos primero cubrir estos objetivos.
la marcha para Lo que hacemos nosotros es crear escenarios en virtud de las espectativas de cada
ahorrar tiempo”. uno de los actores. Luego, desde lo técnico, se buscan los atributos de calidad que
Alejandro Bianchi dan el marco para tomar las decisiones arquitecturales en razón de las soluciones.
Lo importante es que en base a los resultados del análisis se puede producir una
arquitectura que nos llleve a nuestros objetivos. Y si tenemos varios puntos a seguir
tendremos una arquitectura balanceada en base a ellos.
En el workshop realizamos una evaluación de trade-offs, espacios de riesgo,
puntos sensibles y etcétera, que derivaron de escenarios que podríamos llamar como
“qué pasa si”. También, por otro lado, hallamos los riesgos documentales. A partir de
estos, podemos ver que cualquier inconsistencia de información de la arquitectura
representa un riesgo para encarar la evolución de la misma.
Gentileza de
4. Gestión IT Lunes, 25 de Junio de 2012
Esta evaluación que realizamos generó además una arquitectura de referencia, que
es la que permite también definir una nueva arquitectura.
Para hacer este trabajo utilizamos el método ADD (Diseño Dirigido por Atributos),
“Una arquitectura que toma el modelo de calidad y lo usa como marco de referencia.
intencional debería Si bien no quiero entrar en detalle, la arquitectura de referencia establece no sólo la
estructura sino también de qué manera esta arquitectura tiene que ser construida. De
reflejar los objetivos
manera complementaria, algunos aspectos particulares del caso de Banelco requerían
del negocio, una medidas alternativas. Intentamos aplicar patrones arquitectónicos muy modernos,
arquitectura pero que intentaban cambiar la cuestión de raíz. Además, sugerimos lineamientos
accidental deriva para reconvertir las aplicaciones a servicios.
en dificultades Tengo algunos comentarios finales antes de devolverle la palabra a Alejandro.
Respecto de las tres preguntas iniciales, nuestra experiencia indica que el uso de los
al administrar el
métodos de arquitectura sirve. El cómo está dado por la arquitectura de referencia.
negocio”. Por último, quiero contarles cuáles son las lecciones aprendidas. El primer punto es
Alejandro Bianchi que los métodos y las técnicas ayudan a mantener el foco en los objetivos.
Segundo, también debemos mantener el foco en el servicio. Los métodos nos ayudan
en este objetivo. Por otro lado también son útiles para incorporar a los stakeholders
en el proceso. La arquitectura resultante es sólida, con una buena argumentación de
fondo. Y es que la arquitectura debe estar basada en un gran volumen de información.
Finalmente, es importante introducir los conceptos fundamentales de la arquitectura
de un modo temprano, porque facilita la colaboracion y la toma de decisiones.
“A la hora de la
implementación Alejandro Bianchi: -Muchas veces no sabemos que tiene que hacer el área de
arquitectura. Es un área que debe estar muy relacionada con IT, pero también es un
el control sobre
puente con las áreas de negocios. La arquitectura transforma la forma de adquisición
los procesos es y producción de software.
fundamental”. ¿Cómo hago para agregar más esfuerzo al desarrollo, cuando, en realidad, me piden
Marcelo Luna que lo haga en menos tiempo? No hay cosa más insana que querer hacer siempre lo
mismo y esperar resultados diferentes. Nuestra tecnología es cada vez más poderosa
y esto nos obliga a ser cada vez más profesionales.
Cuando hoy se decía más temprano que no se sabía a veces dónde estaba precisamente
un error, ahora vemos que esto surge de la falta de integración. Aquí la importancia
de la arquitectura. Los que conducen IT tienen que mostrar lo beneficioso de su
“Se trabaja aplicación.
generando Por otro lado, la arquitectura hace eficientes y poco burocráticos los procesos de
taylorización, nos dice cuáles son las actividades por delante y cómo cumplir con los
escenarios en
plazos.
función de las ¿Hasta dónde hay que hacer arquitectura? Cuando todas las decisiones técnicas han
expectativas sido tomadas, el trabajo del arquitecto terminó y, entonces, empieza el trabajo de
de los distintos mentor. ¿Cómo se define la calidad de una arquitectura? Esto se define a partir de la
sectores usuarios gestión del conocimiento técnico.
Por último, nosotros estamos obligados a ser ágiles, abiertos al cambio, eficientes.
para llegar a un
El conocimiento, el ambiente de trabajo y las prácticas de ingeniería con foco en los
modelo de calidad objetivos de negocios deben proveer el valor agregado a la organización. Las prácticas
de la arquitectura a de ingeniería son la forma en que se resuelve
diseñar”. el proceso de desarrollo. Se debe proveer a toda la organización de visión, ritmo,
Marcelo Luna cooperación, anticipación y simplicidad. Las decisiones técnicas anticipan problemas.
No debemos olvidarnos que la complejidad a veces es un síntoma y no una
Gentileza de