Why we need domains?

If you don’t know what domain and subdomain are, please read Domains and subdomains explained.

We need (sub)domains to:

  • to understand the business

“Understanding the needs of a business is the starting point for any project“

John Williams

The domain diagram (below) is such a starting point for understanding business needs. It presents the areas of the company’s activity from a very high perspective. Thanks to this, you can imagine what the company does. Take a look at an example

In this example, the company’s domain (scope of activity) is the sale of toys, and subdomains are specific areas of activity, e.g. payments.

  • to divide the problem/the needs

If the subdomain is large and we want to cover more details / important aspects we can go deeper and draw the subdomains within the subdomain:

Sometimes we build software not for the entire domain / subdomain, but only for some parts, eg internet marketing. Content and social marketing can be outsourced. As you see, by dividing the subdomain into key elements we got a lot of information and clarification.

  • to open the discussion

Take a look at the next diagram and think about what the company does

You can guess it’s car production.

Based on this diagram, we can start a discussion. Which areas of the system are crucial for quality, and which areas can be outsourced? If it’s a small company, is it profitable to produce engines? Probably not, but they sound so wonderful that customers want them in their cars. It is the brand’s distinguishing feature, something that distinguishes from the competition.

  • to present what is important

Our main task is to present domains and subdomains. However, we can add a lot more information. Use your imagination to present visually many aspects eg. including the cooperation of domains by overlapping, the importance of domain by thickness, domain size, business value, etc

The diagram presented in this way gives a lot of information: where is the value/money, which domains are key, which domains are less important, which can be outsourced, etc. Domains can be categorized in many ways and present what is important for business.

  • to properly design the system

Our goal is to build a well-designed system. All the previous steps: understanding business problems/needs, discussions, finding what is important, lead to this point – to the proper design of the system.

Proper design of the system is a key to build a system that works fast, is understandable, maintainable, easy to extend, flexible, etc. All this we can achieve by subdomains.

More info on why subdomains are key factor of proper design: Well-designed system starts with domains.

Leave a Reply

Your email address will not be published. Required fields are marked *