Chapter 3. Managing Complexity with Bounded Contexts
As you saw in the previous chapter, to ensure the success of a project it’s important to develop a ubiquitous language, which must be clear, consistent, and reflect the domain experts’ mental models of the business.
However, the domain experts’ mental models can be inconsistent themselves, which contradicts the core requirement of the ubiquitous language. Let’s take a look at an example.
Example: Inconsistent Models
Suppose we are working for a telemarketing company. The company’s marketing department generates leads through online advertisements. Its sales department is in charge of soliciting prospective customers to buy its products or services, a chain that is shown in Figure 3-1.
Examination of the domain experts’ language reveals a peculiar observation. The term “lead” has different meanings in the marketing and sales departments:
- Marketing department
For the marketing people, a lead represents a notification that somebody is interested in one of the products. The event of receiving the prospective customer’s contact details is considered a lead.
- Sales department
In the context of the sales department, a lead is a much more complex entity. It represents the whole lifecycle of the sales process. It’s not a mere event, but a long-running process.
How do we ...