10 años de arquitectura de software

Publicado en

En el año 2006, Mary Shaw y Paul Clements escribieron un artículo que recapitulaba lo sucedido en los últimos 20 años en relación con la arquitectura de software [1]. En dicho artículo los autores concluyen que, a partir del año 2000, la arquitectura de software entró en una fase de popularización: desde entonces existen gran cantidad de herramientas, servicios, aplicaciones, plataformas, estándares y cursos construidos alrededor de la arquitectura.

Han transcurrido 8 años desde la publicación del artículo y la arquitectura de software continúa cobrando importancia en la industria del desarrollo de software. Para este número especial intentaré resumir un poco de lo que ha sucedido desde la publicación de dicho artículo con el fin de tener un panorama de lo que ha ocurrido en la última década.

A nivel internacional

Para tener una idea de lo que ha sucedido a nivel internacional, conviene echar un vistazo a los temas que se han cubierto en la conferencia SATURN [2] (SEI Architecture Technology User Network) que arrancó en 2005. Esta conferencia especializada en arquitectura está enfocada a los practicantes y cada año reúne a un número creciente de participantes provenientes de empresas y universidades de todo el mundo.

SATURN arrancó como un taller (workshop). En estos primeros años, algunos de los temas que se presentaron de forma recurrente incluyeron experiencias en el uso de métodos del SEI tales como QAW, ADD y ATAM en diversas organizaciones (Ver SG. 28, 29 y 30).

En 2009, SATURN se convierte en una conferencia. Algunos temas que surgen incluyen la alineación de los distintos niveles de arquitecturas (Software, Sistema, Empresarial) y los aspectos relacionados con las competencias, tanto de individuos como de organizaciones.

En el año 2010 aparecen los temas de la relación entre la arquitectura y las metodologías ágiles de desarrollo así como el cómputo en la nube. A partir de ese año, la agilidad ha sido un tema recurrente en la conferencia SATURN.

En 2011 aparecen temas relacionados con la introducción de la ingeniería centrada en arquitectura en la versión 1.3 de CMMI (ver SG 36) y también se habla del arquitecto como agente de cambio (ver SG 33). Otros temas que comienzan a cobrar más auge son las arquitecturas para sistemas de gran escala y casos de éxito como el sistema que se desarrolló para la bolsa de valores de México (ver SG 41).

En 2012 se mantienen temas de agilidad y colaboración. Cobran más auge temas relacionados con el desarrollo de “sistemas de sistemas” y sistemas de escala ultra grande.

En 2013, continúan presentes temas de desarrollo en la nube, móvil y también aparece el tema de sistema de larga vida.

Por último, en 2014 se tocaron temas como DevOps, la evolución de los sistemas, colaboración de equipos y con clientes y crecimiento de los arquitectos.

En México

Advierto que mi perspectiva de lo que considero que ha sucedido a nivel nacional probablemente es un tanto limitada. Como frecuentemente sucede, existe algo de atraso de lo que sucede en México con respecto a lo que sucede en los Estados Unidos y el tema de la arquitectura de software no es la excepción. Creo que el concepto de arquitectura de software ya se ha popularizado hasta cierto punto en nuestro país, sin embargo, me parece que todavía es limitado el número de organizaciones de desarrollo en donde se realizan prácticas bien establecidas de desarrollo de arquitecturas de software. Sigue siendo común encontrar, por ejemplo, requerimientos enfocados en funcionalidad y atributos de calidad no cuantificados.

En México no existe algún tipo de conferencia parecida a SATURN, sin embargo, en foros enfocados a practicantes a los cuales he tenido la oportunidad de asistir no he percibido que se trate el tema de arquitectura de software de manera frecuente, y mi percepción es que hay más énfasis en aspectos de proceso o de tecnologías. Por otro lado, a nivel académico, existen ya algunos cursos que tocan el tema de la arquitectura de software.

Conclusión

La arquitectura de software es una disciplina con cerca de 30 años de antigüedad y que en la última década ha continuado popularizándose. A pesar del tiempo que lleva y de los avances que hay al respecto, considero que todavía es necesario seguir haciendo un esfuerzo con el fin de que las prácticas de desarrollo de arquitecturas se vuelvan algo estándar en las organizaciones de desarrollo de software. En los próximos años la arquitectura de software seguirá siendo relevante, en particular para mejorar la calidad de los sistemas así como atacar de forma exitosa nuevos retos en el desarrollo.

Referencias

[1] Shaw, M., Clements, P. “The Golden Age of Software Architecture”, IEEE Software, Marzo / Abril 2006

[2] http://www.sei.cmu.edu/saturn/

Bio

El Dr. Humberto Cervantes es profesor-investigador en la UAMIztapalapa. Además de realizar docencia e investigación dentro de la academia en temas relacionados con arquitectura de software, realiza consultoría y tiene experiencia en la implantación de métodos de arquitectura dentro de la industria de desarrollo nacional. Ha recibido diversos cursos de especialización en el tema de arquitectura de software en el Software Engineering Institute, y está certificado como ATAM Evaluator y Software Architecture Professional por parte del mismo. www.humbertocervantes.net