Business Domain
Imagine you are producing a product or a service. Marketnovus allowed you to out‐ source all of your marketing-related chores. Marketnovus’s experts would come up with a marketing strategy for your product. Its copywriters and graphic designers would produce tons of creative material, such as banners and landing pages, that
would be used to run advertising campaigns promoting your product. All the leads generated by these campaigns would be handled by Marketnovus’s sales agents, who would make the calls and sell your product. This process is depicted in Figure A-1.
![]() |
Most importantly, this marketing process provided many opportunities for optimiza‐ tion, and that’s exactly what the analysis department was in charge of. They analyzed all the data to make sure Marketnovus and its clients were getting the biggest bang for their buck, whether by pinpointing the most successful campaigns, celebrating the most effective creatives, or ensuring that the sales agents were working on the most promising leads.
Since we were a self-funded company, we had to get rolling as fast as possible. As a result, right after the company was founded, the first version of our software system had to implement the first one-third of our value chain:
• A system for managing contracts and integrations with external publishers
• A catalog for our designers to manage creative materials
• A campaign management solution to run advertising campaigns
I was overwhelmed and had to find a way to wrap my head around all the complexi‐ ties of the business domain. Fortunately, not long before we started working, I read a book that promised just that. Of course, I’m talking about Eric Evans’s seminal work, Domain-Driven Design: Tackling Complexity at the Heart of Software.
If you have read this book’s Preface, you know Evans’s book provided the answers I’d been seeking for quite a while: how to design and implement business logic. That said, for me it wasn’t an easy book to comprehend on the first read. Nevertheless, I
felt like I’d already gotten a strong grasp of DDD just by reading the tactical design chapters.
Guess how the system was initially designed? It would definitely make a certain prominent individual1 from the DDD community very proud.