Le preguntaba cómo era posible que un sistema que llevaba años en funcionamiento podía desecharse de un momento a otro y la respuesta fue: “Juan, nadie fue capaz de tocar el código y era necesario crecer”. Un Software monolítico, construido en escaso mes y medio, por una persona sin experiencia en desarrollo y diseño de software, que eventualmente ya no se encuentra en el país, puede ser problema para cualquier persona y más cuando tu mayor conocimiento de tecnología es el uso de fórmulas en Excel.
Gracias a un esfuerzo sobrehumano la compañía se recuperó y ahora está más fuerte que nunca. Sin embargo, no todas lo logran y aún en el mejor de los casos las pérdidas económicas y de Goodwill son inmensas (algunas incluso irreparables). La arquitectura de TI no es algo que sea exclusivo de grandes proyectos y multinacionales, todo sistema, por más minúsculo que sea, tiene una arquitectura. En mi experiencia, y por el conocimiento que otras Startups me han brindado, he visto el gran problema de la mala interpretación de metodologías ágiles como Lean, dónde el “Mínimo producto viable” se transforma en “Hágalo como pueda” y una prueba de concepto es igual a “Tu producto”. La arquitectura nos da guía y estructura a nuestros sistemas y permite que podamos proyectar un horizonte al mediano y largo plazo. Debemos pensar en generar los moldes y patrones que tal vez para el hoy van a ser inútiles, pero que cuando comencemos a crecer serán indispensables y nos reducirán costos y dolores de cabeza.
No se debe confundir una buena arquitectura con años de reuniones y dibujos estáticos. Maestros como Scott Ambler y George Fairbanks, demuestran que la arquitectura puede ser ágil. Así mismo, frameworks como SAFe o DAD nos indican como ser ágiles con la arquitectura como base. Los lenguajes, frameworks de desarrollo, plataformas, etc son sólo un medio para proyectar y hacer realidad nuestras ideas. Sin embargo, aquel que estructura e indica como alinear esos conocimientos técnicos con nuestras ideas de negocio es el arquitecto.
Escrito por:
Juan Sebastián Urrego
Magister en Ingeniería de Sistemas y Computación, Universidad de los Andes, Colombia
Profesor instructor del Departamento de Ingeniería de Sistemas y Computación de los cursos:
- Algorítmica y programación
- TI en las Organizaciones
CEO and Co-founder Novcat
Conoce MATI - Maestría en Arquitecturas de Tecnologías de Información. inscripciones abiertas hasta el 12 de mayo.