Khononov ordena el tema en dos planos. El estratégico: qué partes del negocio distinguen a la empresa, cuáles la sostienen y cuáles son iguales en todas partes; dónde termina un modelo y empieza otro; cómo se integran dos sistemas que no hablan el mismo idioma. El táctico: cómo se escribe eso en código. El primero es el que vale para quien trabaja con un ERP.
Qué saqué de él
La clasificación en dominio central, de apoyo y genérico es la que más uso, porque resuelve la discusión de qué se programa y qué se deja como viene. Lo genérico —contabilidad básica, correo, firma— no se programa: lo hace mejor cualquiera. Lo que distingue a la empresa es lo único que justifica código propio y mantenimiento a diez años. Desde entonces, frente a un pedido de desarrollo, la primera pregunta no es si se puede, sino si eso es lo que hace distinta a la empresa; cuando la respuesta es no, la conversación pasa a cómo configurarlo.
La segunda idea que me llevé es la capa de traducción en la frontera. Cuando hay que integrarse con un sistema antiguo, lo peor que puede pasar es que su vocabulario se filtre al sistema nuevo y lo contamine: un campo con tres significados según el caso, un estado que nadie sabe qué quiere decir. La traducción se hace en el borde, a propósito, con un punto único donde vive la fealdad.
La tercera es que los límites de un modelo son también límites de conversación. Cuando dos áreas usan la misma palabra para dos cosas distintas, forzar un único significado suele costar más que aceptar dos modelos y traducir entre ellos.
Qué dejé fuera
Buena parte del plano táctico. Los agregados, la contabilidad de eventos y la separación entre lectura y escritura están pensados para construir un sistema desde cero con objetos propios. Un ERP ya trae su modelo, sus transacciones y su manera de guardar; aplicarle estos patrones por encima es pelearse con la herramienta.