De las empresas con estructuras poco ágiles y monolíticas, a las flexibles y fácilmente actualizables
Una vez más la tecnología informática nos aporta una solución a la gestión empresarial, un camino a la tan cacareada transformación digital. Ellos también se han tenido que enfrentar a la gestión de grandes aplicaciones de software que correspondían a grandes estructuras empresariales con una arquitectura monolítica que no era ni ágil ni fácil de cambiar.
Introduciendo un poco el problema informático -y para que vean la similitud con las empresas- que llevó a trabajar con orientación a los microservicios, estas fueron las principales motivaciones: las grandes aplicaciones software, aquellas que están formadas de una forma integral, de una sola pieza, aplicaciones monolíticas que son difíciles de modificar, de reparar, de replicar, de modificar sin detener su ejecución, de descubrir dónde está un problema, etcétera, eran las que reinaban hasta ahora. La solución pasaba por construir sistemas software que resultaran de un conjunto de componentes ciertos que ya conocemos bien, que se pueden reutilizar sus elementos porque hacen funciones determinadas y ciertas, que se pueden modificar sin tener que parar el sistema entero, que se pueden replicar en las partes más utilizadas reduciendo la necesidad del sistema hardware. Estas ventajas hacen que los sistemas software se construyan con una orientación a los microservicios en lugar de los sistemas monolíticos mencionados que resultan una montaña imposible de mover.
En las empresas está pasando lo mismo, las estructuras monolíticas están generalizadas y no se ven que muchos males sólo demandan un cambio de componentes, la dirección piensa que lo que no funciona están más generalizado e integrado por toda la empresa y por eso acaban no cambiando nada puesto que no ven fácil la extirpación de la parte que malfunciona. Sería mucho más sencillo armar empresas con módulos con un objetivo funcional, interoperables y sustituibles.
Podemos imaginar a un departamento comercial compuesto por módulos especializados y que tuvieran funciones que se integraran con otros módulos, pero que en caso de no funcionar pudieran ser sustituidos, por ejemplo, podríamos hablar de el componente de generación de leads, de atención al cliente, en la venta a la base de clientes, de ejecución de la gestión comercial de la empresa, de conocimiento del mercado, etcétera.
Cuando hablamos de empresas monolíticas no nos referimos a grandes compañías necesariamente, hay muchas empresas pymes con esa característica, están formadas por un todo difícil de diseccionar y por tanto de analizar y llegar al origen de las causas de los defectos y de las virtudes. Esta propuesta se parece bastante a la orientación a procesos, pero tiene algunas ventajas de interoperabilidad porque así fueron pensados en su origen.
Los sistemas conllevan una complejidad que tiende a a aumentar con el tiempo, si somos capaces de crearlos con componentes de efectos ciertos son mucho más fáciles de gestionar, reparar y actualizar. Cosas de los sistemas abiertos.