Algo estamos haciendo mal cuando tenemos un bounded context (BC) con 1-4 domain models (representados como aggregates o lo que sea). No tengas 200 domain models por BC pero tampoco tan pequeños que tiene sus consecuencias. Sigo...
Planteemos partir los BC cuando el número de conceptos empiece a influenciar la carga cognitiva, negativamente pero no antes. Partirlo prematuramente va a influir en: - Más carga cognitiva (tengo que integrar contextos) - Mala abstracción porque aún no sabes lo que no sabes
Cuando empiezo un producto desde 0, normalmente, tengo un único BC que divido entre varios subdominios. Se que tengo una hipótesis de lo que hay que construir por su valor diferencial (core) y lo que puedo comprar (generic).
Pero todo eso puede ser el mismo BC. Lo que busco es atrasar lo máximo posible las divisiones. Cuanto más conozca del dominio, del negocio, y de la visión, mejor decidiré en el futuro.
Midiendo la carga cognitiva sabré cuando es el momento correcto para empezar la división antes de que sea tarde Bounded contexts guiados por la carga cognitiva del equipo Una herramienta que te ayuda a medirla es #Teamperture por ejemplo #TeamTopologies teamperature.com
¿Por qué un único BC? Porque el lenguaje ubicuo no está definido y forzar la definición prematura va a crear un sistema más rígido de lo necesario cuando lo que quieres es aprendizaje rápido y el coste de cambio bajo.