Introduction
In The North Star of EDD: The EDD’s Main Point I explained how identifying the main point is essential for effective domain modeling in Exploratory Domain Discovery. Now, the question is: how do we actually find this crucial element? In this article, I’ll share practical clues and heuristics to help you uncover the main point of your domain’s narrative—the central idea that shapes your software.
1. Focus On What The Problem/Domain Is Really About
This heuristic asks for the core purpose of the domain. The gear⚙️ of the design should support the purpose of the domain and its main goal. Ask yourself: What’s the key problem we’ve got together to solve? This hubristic helps you to narrow your focus.
- In accounting domain, it’s about tracking financial transactions and providing a clear picture of an organization’s financial health.
- In payroll, it’s about accurately calculating and distributing employee compensation while adhering to legal requirements.
- In flight booking, it’s about connecting passengers with available flights and managing their travel arrangements.
The gear⚙️ of the design must directly support the domain’s purpose and its main goal.
2. Centrality In Use Cases
As being the north star, it should be central for most use cases. It should happens the most in the domain. Look for key operations/features in the domain. Also if we look at the EDD wall, chances are that it recorded on a domain concept card that split the wall in two equal parts. This focuses on the main point most frequently used in key operations.
- In accounting, both
Transaction
(used in recording entries, generating reports) andAccount
(used for balances, reconciliation) are central. - In payroll, the
Paycheck
orPayrollRun
is central, used in calculations, distributions, and reporting. - In hotel booking, the
Hotel Room
is central to booking, canceling, changing, and viewing flight details.

3. Data Flow And Interactions
This heuristic traces how data moves through the system. This heuristic focuses on how data is transformed and used within the system. It’s about understanding the journey of information from its origin to its final destination. By tracing these data flows, you can often identify the entity or concept that plays a central role in processing or coordinating the data. Chances are that it’s again central.
Lets delve into Accounting:
- Inputs: Financial documents (invoices, receipts, bank statements).
- Outputs: Financial reports (balance sheets, income statements, cash flow statements).
- Data Flow:
- A
Transaction
is recorded based on a financial document. - The
Transaction
data (debit/credit amounts, accounts affected) is used to updateAccount
balances. Account
balances are used to generateReports
.
- A
While both Transaction
and Account
are important, the flow of data through the Account
(being updated by transactions and then used for reports) makes it a strong contender for the design-level main point, especially if reporting and balance management are key focuses. If detailed audit trails of every transaction are the focus, then Transaction
becomes the main point.

Flight Booking:
- Inputs: Available
Flights
,Customer
preferences (dates, destinations). - Outputs:
Booking
confirmation,BoardingPass
. - Data Flow:
Customer
searches forFlights
.Customer
selects aFlight
and providesPassenger
details.- A
Booking
is created, linkingCustomer
,Flight
, andPassenger
information. Payment
is processed for theBooking
.- A
BoardingPass
is generated based on theBooking
.
The Booking
is the central point where all the information comes together and is used to generate subsequent outputs. It coordinates the relationship between Flight
, Customer
, and Payment
.

4. Look For Repeating Tasks or Activities
This heuristic focuses on the repetitive actions or processes that are fundamental to the domain. By identifying these recurring tasks, you can often pinpoint the entity or concept that is the subject or object of these actions, which is a strong indicator of the design-level main point.
Ask yourself: What’s the most repeating task or daily task or routine task in the domain?🔂
- In accounting, the recurring task is recording and posting
Transactions
. - In payroll, it’s calculating and issuing
Paychecks
for each pay period. - In flight booking, it’s the process of creating and managing
Bookings
.
The recurring tasks are often reflected in the core use cases of the system. By considering the recurring tasks and activities within a domain, you gain a valuable perspective on the core dynamics of the system and can more effectively identify the design-level main point.
5. Look For Money Exchange
This heuristic focuses on identifying the core exchange of value within the domain. While often involving monetary transactions🤑💸, Value can take many forms. The entity or concept representing this exchange is a strong candidate for the design-level main point.
- In accounting,
Transactions
represent the exchange of money or assets. - In payroll, the
Paycheck
represents the exchange of labor for wages. - In flight booking, the
Booking
represents the exchange of money for a flight reservation.
6.Encapsulation And Ownership
This heuristic focuses on identifying the entity or concept that owns or manages other related data or behavior. The owning entity is responsible for maintaining the consistency and integrity of the encapsulated data. This often indicates a strong candidate for the design-level main point.
- In accounting, an
Account
might encapsulate a collection ofTransactions
. - In payroll, a
PayrollRun
might encapsulate individualPaychecks
. - In flight booking, a
Booking
encapsulatesPassenger
details,Flight
information, andSeat
assignments.
7.Focus on the Operational Actor
This heuristic focuses on the operational actor—the person or role who performs the most frequent, repetitive, and hands-on tasks within the domain. Avoid considering strategic or managerial roles.

Identify the various roles or actors involved in the domain. For each role, list their primary responsibilities and activities. Focus on the roles that perform repetitive, operational tasks. The entities or concepts that these operational actors work with are strong candidates for the design-level main point.
- In accounting, it’s the
Accountant
who works withAccounts
andTransactions
. - In payroll, it’s the
PayrollOfficer
who managesPayrolls
. - In flight booking, it’s the
Passenger
who createsBookings
, though the system itself manages the bookings after creation.
[…] also be diving into two other areas: how heuristics can help us find the main point, and the importance of domain circularity patterns in that process. […]
[…] the idea of circularity patterns and its crucial role in exploring a complex domain. Also in the The North Star of EDD, I showed the vital role of a main point as the gear of modeling a complex domain. I’ll […]