When modernizing your legacy systems, be careful not to automatically assume that the language your business and domain experts use is correct and should be reflected in your new architecture.

Their language might be influenced by your legacy systems and not an accurate reflection of the concepts in your domain.

Here is the kind of conversation I've had many times...

1/3

#ddDesign #domainDrivenDesign #softwareArchitecture #architectureModernization #archModernization

"We only use the word BlahBlah, but actually, according to legal definitions a BlahBlah is just one type of DimDim. There are other types of DimDim but we use BlahBlah for all of them, even though they are not technically BlahBlahs.

We always wanted to be more precise about this but we were told it was too hard to change in the system. So we just use BlahBlah to avoid confusing people, even though it's wrong."

2/3

Modernization is a chance to make your software better reflect your business domain. These knowledge breakthroughs can also unlock major design improvements far beyond naming.

3/3