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
PaycheckorPayrollRunis central, used in calculations, distributions, and reporting. - In hotel booking, the
Hotel Roomis 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
Transactionis recorded based on a financial document. - The
Transactiondata (debit/credit amounts, accounts affected) is used to updateAccountbalances. Accountbalances 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,Customerpreferences (dates, destinations). - Outputs:
Bookingconfirmation,BoardingPass. - Data Flow:
Customersearches forFlights.Customerselects aFlightand providesPassengerdetails.- A
Bookingis created, linkingCustomer,Flight, andPassengerinformation. Paymentis processed for theBooking.- A
BoardingPassis 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
Paychecksfor 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,
Transactionsrepresent the exchange of money or assets. - In payroll, the
Paycheckrepresents the exchange of labor for wages. - In flight booking, the
Bookingrepresents 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
Accountmight encapsulate a collection ofTransactions. - In payroll, a
PayrollRunmight encapsulate individualPaychecks. - In flight booking, a
BookingencapsulatesPassengerdetails,Flightinformation, andSeatassignments.
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
Accountantwho works withAccountsandTransactions. - In payroll, it’s the
PayrollOfficerwho managesPayrolls. - In flight booking, it’s the
Passengerwho 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 […]