Thin Line Between Generic and Core Subdomains

Thin Line Between Generic and Core Subdomains
Photo by Elena Mozhvilo / Unsplash

No matter the industry, companies need to stay competitive to succeed. Reaching their goals in their business domain often involves tackling a bunch of smaller areas, or “subdomains” each with its own role to play. Some of these are simple, others complex, but none alone can drive success. It’s how they all work together that makes a business profitable and keeps it on track.

Take a car rental company, for example. Keeping track of the fleet, staying on top of maintenance, managing insurance and invoices, overseeing employees, and running a user-friendly app for customers are all crucial. Together, these building blocks enable the business to deliver on its vision: to be the best car rental company around.

To make all this work, it’s crucial to spot which subdomains are core to keeping a competitive edge and which ones are there to support smooth day-to-day operations. But let’s face it, that distinction isn’t always clear-cut—especially since subdomains are dynamic and can shift from one type to another, complicating things further. It’s a constant evaluation, and it’s easy to struggle with—but there are some strategies that can make it a little easier to navigate.

I’d like to share a quick summary of actions that can make this evaluation process easier and more effective.

Core vs Generic Subdomains

In Domain-Driven Design, there’s a helpful way to break down subdomains into three types:

  • Core subdomains: This is the heart of the business, the area that differentiates a company from competitors and drives its unique value. It's the most critical for maintaining a competitive edge. For Amazon, the core subdomain could be their logistics and delivery network, as it sets them apart in terms of speed and efficiency.
  • Generic subdomains: These are standard across industries, handling common functions for problems all companies face. They aren't unique to the business and don't provide a competitive advantage, but they're essential for keeping things running. For example, for Netflix, their billing system is a generic subdomain. Every business needs a way to handle payments, but it’s not what makes Netflix stand out—it’s just something that keeps the business running smoothly.
  • Supporting subdomains: As the name suggests, these subdomains are meant to support the business—more specifically, the core domains. They are more tailored to the specific needs of the business compared to generic subdomains. For Spotify, their music recommendation algorithm can be seen as a supporting subdomain. It enhances the user experience and keeps customers engaged, supporting Spotify’s core domain of delivering music streaming services. While the recommendations improve the overall service, they aren't the primary driver of Spotify's success.

It’s good to remember that these subdomains do not need to be purely technical. They’re connected to what the business is trying to accomplish but software and technology are just the tools we can use to get there more efficiently. For example, for a craft beer brewery, their beverage is the core subdomain, backed by a unique recipe, while their online store supports sales but isn’t a core driver. For one airline, core subdomains could include affordable prices or unique destinations they offer, whereas their flight booking infrastructure can be considered a generic subdomain.

Different types of subdomains for an airline

While supporting subdomains are important, I want to focus here on core and generic subdomains, since I think it’s easy to misjudge them, and that can lead to significant waste. They’re usually the most difficult to handle, so getting them right is crucial.

Core and generic subdomains do share one big thing: they’re both complex. But here’s the difference:

  • Core subdomains are complex because they’re unique to the business. They give you that competitive edge—something that’s hard for competitors to copy, and that’s exactly what makes it valuable.
  • Generic subdomains are also complex but for a different reason. These are solutions to problems that pretty much everyone has, so they’re shared across industries. Nothing special or unique here, but they still need to be handled well.

The differences between core and generic subdomains lead us to an important conclusion: the unique nature of core subdomains means we need to have full control over them to effectively steer their evolution. The competitive edge they provide has to be sustainable, and that uniqueness should be treated like intellectual property. We shouldn’t outsource these areas or try to squeeze them into an existing off-the-shelf product because that risks losing our control.

When we rely on external providers offering dedicated products, even though they specialise in their niche, they have multiple customers with their own priorities. So, whenever we ask for changes to fit our needs, those decisions depend on the external company’s priorities, which limits our flexibility in evolving our own product. Plus, any changes they make could easily benefit our competition, essentially eroding our competitive advantage. This is why our main development effort should be focused on core subdomains—they need special care.

On the flip side, generic subdomains often have off-the-shelf products that offer ready-made solutions. It’s perfectly fine to leverage that here since these subdomains don’t provide a competitive advantage. Sharing existing solutions with competitors won’t hurt us. However, if we decide to own these generic subdomains and invest the effort to implement and maintain them, we run the risk of delivering something that might not match the quality of already proven third-party solutions.

Even if our solution turns out to be equally good, it still addresses the same problems everyone else is facing. If, by chance, our solution is better, then we should reevaluate whether it’s actually a core subdomain rather than a generic one.

Core vs Generic subdomains

When Core and Generic Swap Roles

In the fast-paced world businesses operate in, change is constant. Companies are always seeking new ways to maximise growth and revenue. Strategies that once gave a competitive edge may be re-evaluated, with some newly developed rising in priority while others take a back seat. The competition doesn’t rest either, so businesses need to stay agile. This ever-evolving environment is reflected in how subdomains shift over time.

A core domain, by definition, provides a unique competitive advantage. But if that advantage can’t be sustained, it risks losing its value and may no longer be considered a key driver of success.

For example, imagine an e-commerce company that developed an advanced product recommendation engine to personalise the shopping experience. At first, this was their secret sauce, setting them apart from competitors. But then, a new company specialising in market analysis emerged, offering a similar recommendation engine backed by powerful AI models. Over time, their solution outperformed the in-house one, and the e-commerce company decided to switch to the third-party engine. In this case, what was once a core domain—product recommendations—shifted to a generic one.

Conversely, generic domains can turn into core domains too. Take a parcel delivery company, for example. For years, they relied on generic mapping tools like Google Maps to plan their deliveries. But then they realised there was untapped potential in optimising routes, something that could give them an edge over the competition. So, they decided to invest in building their own custom route optimisation solution. What was once a generic subdomain suddenly became a core part of their business.

Transitions between business subdomains

Transitions from core to generic subdomains happen when something that once gave a company a unique edge becomes standard and widely available. When that happens, companies often decide to shift their focus and use off-the-shelf products instead. Conversely, a generic subdomain can become core when a business spots a new opportunity to turn a common capability into a competitive advantage. This prompts them to shift their development efforts toward areas with more potential. You can see these transitions illustrated in the image above.

Strategies for Managing Core and Generic Subdomains

Investing in areas that drive true value can be the difference between success and failure. In my experience, I’ve seen a few techniques that help companies spot the difference and channel their strategic efforts effectively. Here are a few examples:

  • Make it an explicit principle to own what differentiates. I think this is a very simple yet a powerful technique. By establishing a clear policy around this principle, your strategic planning and decision-making stay focused on retaining essential capabilities in-house. When this approach is translated to the development teams, it becomes part of the company culture—encouraging people to think twice before considering external solutions for core areas and helping avoid unnecessary investment in areas that can be met with off-the-shelf products.
  • Evaluate subdomains periodically. The business environment is always evolving, and competition is never idle. What’s a core domain today could be generic tomorrow—and vice versa. Set a regular cadence to evaluate the strategic value of each subdomain, using criteria like market shifts, new technologies, competition, and customer needs. Cross-functional workshops with tools from Strategic DDD—like Core Domain Charts or Business Model Canvas—can help re-evaluate subdomains' roles and impacts. This periodic check gives you a perfect opportunity to adjust priorities and make informed decisions about where to innovate, optimise, or outsource.
  • Keep an eye on feature requests made to third-party providers. If you’re consistently requesting customisations for what’s meant to be a generic, one-size-fits-all solution, it might signal a need to own these features in-house. Too many specialised requests can indicate that this capability is becoming integral to your competitive advantage. In this case, it might be worth extracting those functionalities to form a new core domain and managing it directly.
  • Embrace innovation and invest in new technologies—they’re doors to new possibilities. Think of AI and its impact today. It’s sparked countless ideas with revolutionary potential. Beyond the hype, with experience and experimentation, you might discover an area that truly pays off. Perhaps it’s even the next core domain in the making.
  • An interesting strategy for keeping core domains competitive is dedicating resources to research and development. A culture of exploration can reveal new opportunities and help identify emerging core subdomains or improvements to existing ones, sustaining your competitive edge.
  • One really useful technique for checking our assumptions about subdomains is to set up a feedback loop with the customers. Getting regular input from users can show us where we can improve and help us spot new needs that might signal a generic subdomain is evolving into something core—or maybe even reveal that our core domain isn’t as unique as we thought. And hey, why not expand that feedback loop to include our development teams? They might have valuable insights that can uncover even more areas for improvement and strengthen the connection between our business strategy and what the tech team is doing.
  • Make sure your business vision is crystal clear and translated into a solid roadmap. Think of it as a road sign guiding the direction of the company. This clarity helps you evaluate which aspects are meant to be differentiators and which should play a supporting role. With this roadmap in place, everyone knows where you're headed and can align their strategic efforts accordingly.
  • Stay ahead of the competition by doing your homework. Keep an eye on your rivals to stay informed about market trends, their practices, and potential threats. This research can help you pinpoint your core and generic domains, guiding your strategic decisions and allowing you to adjust your focus as needed.

This isn’t an exhaustive list by any means, and I’d love to hear your insights on this topic as well.

Final Thoughts

In today’s fast-paced business world, understanding the difference between core and generic subdomains is crucial. Core subdomains set your business apart and give you that competitive edge, so managing them carefully is a must. On the flip side, generic subdomains—while also complex—handle the everyday tasks that keep everything running smoothly, often with ready-made solutions.

As the market keeps evolving, the lines between these categories can often blur, making it quite common for subdomains to shift into different types. That’s why it’s essential to regularly check in on your subdomains. I hope these strategies will help you navigate the complexities of your subdomains, ensuring that your efforts are genuinely focused on what matters most.

Further Reading

To explore more on domain-driven design, these books offer foundational insights and practical applications that can deepen your understanding:

Read more