---
title: How We Use DDD in the Public Sector to Shape Architectures and Guide Make-or-Buy Decisions | &‌amp
description: In this blog post, the author explores how Domain-Driven Design (DDD) helps the Public Sector define architectures and make smarter make-or-buy decisions through subdomain identification and Event Storming.
image: https://miro.medium.com/v2/resize:fit:1400/0*BDs4pHvt7WSnTpeS
---

[Skip to content](https://insights.andamp.io/blog/how-we-use-ddd-in-the-public-sector-to-shape-architectures-and-guide-make-or-buy-decisions#main-content)

[![andamp logo black (ampersand symbol)](https://insights.andamp.io/hubfs/logo_black.svg "andamp logo black (ampersand symbol)")](https://insights.andamp.io/?hsLang=en)

- [About Us](https://insights.andamp.io/about-us) 
    - [Career](https://insights.andamp.io/career)
    - [Code of Conduct](https://insights.andamp.io/code-of-conduct)
- [Blog](https://insights.andamp.io/blog)

# How We Use DDD in the Public Sector to Shape Architectures and Guide Make-or-Buy Decisions

[![](https://insights.andamp.io/hubfs/andamp%20Portraits-Zsolt%20Marton-Print-60.jpg)](https://insights.andamp.io/blog/author/philipp-moser)

[Philipp Moser](https://insights.andamp.io/blog/author/philipp-moser)  23. Mai 2025

![](https://miro.medium.com/v2/resize:fit:1400/0*BDs4pHvt7WSnTpeS)

Source: Photo by[ Daniel Tanase](https://unsplash.com/@danielvtanase?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash) on[ Unsplash](https://unsplash.com/photos/a-landscape-with-buildings-and-trees-TcJpMlxk8ts?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash)

## TL;DR

- Use **Domain-Driven Design (DDD)** strategic patterns to categorize your software landscape into **core**, **supporting**, or **generic** subdomains.
- **Make** or heavily customize core subdomains to maintain a competitive or operational edge; **buy** commodity solutions for generic subdomains to save resources.
- Event Storming and analyzing coherent use cases help you discover the right boundaries and drive your make-or-buy decisions.

## A Note on DDD References

There are many valuable books about Domain-Driven Design, but the one I like most — and whose mental models and definitions I rely on — is *Learning Domain-Driven Design: Aligning Software Architecture and Business Strategy* by Vlad Khononov. It provides clear explanations of both strategic and tactical DDD techniques, making them straightforward to apply in our consulting engagements.

# DDD Beyond Greenfield

Many public-sector organizations start with tools like Microsoft Excel or Access because they’re **fast** and **cost-effective** early on. This is a smart move for simple workflows and tight budgets. Over time, however, these ad hoc solutions can become critical bottlenecks, hard to maintain or integrate. DDD’s strategic design addresses this challenge by mapping out exactly what needs a custom build versus off-the-shelf solutions or minimal adjustments to existing spreadsheets.

## Splitting the Landscape into Subdomains

A core principle of DDD is recognizing that **not every business capability is created equal**. In our practice, we group processes into **subdomains**:

- **Core Subdomains**  
  Uniquely valuable or specialized business capabilities that set you apart. These tend to change frequently under new requirements or policies, making generic solutions insufficient.
- **Supporting Subdomains**  
  Necessary but not crucial for differentiation. If your Access or Excel system works and is stable, you might leave it be or replace it with a lighter-weight custom solution.
- **Generic Subdomains**  
  Well-understood commodities (e.g., payroll, scheduling) already solved by off-the-shelf products. Procurement is typically cheaper and faster than building these from scratch.

We weigh **complexity**, **volatility**, and **business impact** when deciding subdomain types. A domain that changes often or impacts many stakeholders likely deserves a more sustainable or extensible system.

## Quick, Inclusive Discovery: Departments and Event Storming

We begin by interviewing departments and organizational units to see how they operate. We follow up with **Event Storming** — a collaborative workshop capturing major events like “Application filed,” “Citizen record updated,” “Payment processed.” This fast, high-level approach yields:

1. **Ubiquitous Language**  
   A shared set of domain terms for all stakeholders.
2. **Subdomain View**  
   Initial groupings that show where each part of the organization’s work might fit.
3. **Process Diagrams**  
   Simple flows revealing which areas have complex rules and thus might need custom solutions.

## How Do We Find Subdomains?

**Subdomains as Coherent Use Cases**  
Subdomains typically revolve around sets of use cases handled by the same actor(s) and working with closely related data. If a workflow’s participants and data remain consistent across multiple processes, those processes tend to form a cohesive subdomain.

# Example: Public Sector Agency — Internal HR vs. Citizen-Facing Services

Recently, we helped an organization from the public sector overseeing their entire software landscape and workflows which included HR processes for its workforce, as well as specialized labor services for citizens. Our subdomain analysis pinpointed two very different solutions:

- **Citizen Labor Services**  
  A **Core Subdomain** requiring tailored workflows and frequent policy changes. Generic solutions couldn’t handle the evolving rules.
- **Internal HR**  
  A **Generic Subdomain**, since well-established market solutions easily covered common HR tasks.

## When to Make and When to Buy

Once each subdomain is identified as **core**, **supporting**, or **generic**, the course of action is clear:

1. **Core Subdomains  
   Make** or heavily customize the software so you can handle frequent updates and maintain your advantage.
2. **Supporting Subdomains  
   Maybe** keep existing spreadsheets if they pose no risk, or commission a simpler custom solution if needed.
3. **Generic Subdomains  
   Buy** standard market products. Don’t reinvent the wheel or invest resources in problems someone else has already solved effectively.

## Buy: Potential Challenges and Stakeholder Management

While using standard, off-the-shelf solutions for generic subdomains is often the most efficient choice, some challenges may arise during implementation. One common issue is feature requests that exceed the capabilities of these standard tools. Stakeholders may have specific requirements that are not covered by the off-the-shelf products.

In such cases, effective stakeholder management is crucial. It’s important to clearly communicate the limitations and possibilities of the purchased solutions and to manage expectations. Often, individual requirements can be met through adjustments or workarounds without needing complete in-house development.

However, it’s worth noting that even when such challenges arise, there’s usually little reason to develop generic subdomains entirely in-house. The advantages of saving time and resources by using standard solutions typically outweigh the drawbacks. It’s essential, however, to carefully examine emerging feature requests and, through transparent dialogue with stakeholders, decide which adjustments are reasonable and necessary.

# Conclusion

By focusing on DDD’s strategic patterns, you can systematically decide where to invest in custom development and where to leverage proven off-the-shelf solutions. This approach lets you preserve the agility and specialized workflows your organization needs in its core subdomains, while saving time and money on generic or lower-impact domains. Whether you’re dealing with multiple Access databases or a sprawling application landscape, start by identifying the subdomains and categorizing them by strategic value and complexity. Once you see the big picture, the **make-or-buy** choice becomes easier — and far more effective.

## Want to Discuss or Need Consulting?

If you have questions about these ideas or could use consulting support to apply them in your organization, please don’t hesitate to reach out. I’m always happy to connect, explore the details of your specific challenges, and discuss how Domain-Driven Design practices can help you achieve sustainable, strategically aligned architectures.

[Software Architecture](https://insights.andamp.io/blog/tag/software-architecture) [Domain Driven Design](https://insights.andamp.io/blog/tag/domain-driven-design) [Legacy Software](https://insights.andamp.io/blog/tag/legacy-software) [Make Or Buy](https://insights.andamp.io/blog/tag/make-or-buy) [Public Administration](https://insights.andamp.io/blog/tag/public-administration)

## Read On

[![Moving to the Cloud](https://insights.andamp.io/hs-fs/hubfs/Moving%20to%20the%20Cloud.jpeg?width=352&name=Moving%20to%20the%20Cloud.jpeg)](https://insights.andamp.io/blog/moving-to-the-cloud-strategies-benefits-and-experiences?hsLang=en)

### [Moving to the Cloud: Strategies, Benefits, and Experiences](https://insights.andamp.io/blog/moving-to-the-cloud-strategies-benefits-and-experiences?hsLang=en)

 In this blog post, you can discover how to effectively transition your application to the cloud. Jonas shares his personal experiences and offers strategies to make the move as easy and seamless as possible.

[![](https://miro.medium.com/v2/resize:fit:1400/0*PGOrk9R9ex2hFvfI)](https://insights.andamp.io/blog/designing-react-components-with-accessibility-in-mind?hsLang=en)

### [Designing React components with accessibility in mind](https://insights.andamp.io/blog/designing-react-components-with-accessibility-in-mind?hsLang=en)

 A guide on how to design react components with accessibility in mind to make content available to everyone.

[![Merging two tracks (source: unsplash)](https://miro.medium.com/v2/resize:fit:700/0*GsYYOzItkPc1PQNM)](https://insights.andamp.io/blog/mastering-git-a-senior-developers-guide-to-create-pull-requests-and-get-them-approved-fast?hsLang=en)

### [Mastering Git: A Senior Developer’s Guide to create Pull Requests and get them approved fast](https://insights.andamp.io/blog/mastering-git-a-senior-developers-guide-to-create-pull-requests-and-get-them-approved-fast?hsLang=en)

 In this blog post, the author shares essential tips and insights on how to get pull requests approved fast and ship software even faster.

[![logo_white](https://27222727.fs1.hubspotusercontent-eu1.net/hubfs/27222727/logo_white.svg "logo_white")](http:/?hsLang=en)

[Follow &andamp on LinkedIn](https://www.linkedin.com/company/andamp/) [Follow &andamp on Instagram](https://www.instagram.com/_andamp_)

## Our Services

- [Team as a Service](https://insights.andamp.io/team-as-a-service/)

## Sitemap

- [Blog](https://insights.andamp.io/blog)
- [Career](https://insights.andamp.io/career)
- [About Us](https://insights.andamp.io/about-us)
- [Code of Conduct](https://insights.andamp.io/code-of-conduct)
- [Our Diversity Journey](https://andamp.io/diversity-journey)

## Our Mission

 We offer a risk-free way to optimize customer experience and realise your business' potential through MVPs

## Case Studies

- [Notarity](https://insights.andamp.io/case-studies/notarity/)

## Location

 andamp GmbH  
 Währinger Straße 48/2. Hof  
 1090 Vienna, Austria

## Contact Us

[hello@andamp.io](mailto:hello@andamp.io)  We would love to hear about your ideas!

### Let's build your project!

This site is protected by reCAPTCHA and the Google [Privacy Policy](https://policies.google.com/privacy) and [Terms of Service](https://policies.google.com/terms) apply.

® 2025 andamp GmbH [Legal Notice](https://insights.andamp.io/legal-notice/?hsLang=en) [Privacy Policy](https://insights.andamp.io/privacy-policy/?hsLang=en)

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Philipp Moser",
    "url" : "https://insights.andamp.io/blog/author/philipp-moser"
  },
  "dateModified" : "2025-05-23T06:52:07.619Z",
  "datePublished" : "2025-05-23T06:52:07.000Z",
  "headline" : "How We Use DDD in the Public Sector to Shape Architectures and Guide Make-or-Buy Decisions",
  "image" : [ "https://miro.medium.com/v2/resize:fit:1400/0*BDs4pHvt7WSnTpeS" ],
  "mainEntityOfPage" : {
    "@id" : "https://insights.andamp.io/blog/how-we-use-ddd-in-the-public-sector-to-shape-architectures-and-guide-make-or-buy-decisions",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://insights.andamp.io/hubfs/andamp%20Full%20Logo%20Blue%20Light.svg"
    },
    "name" : "andamp GmbH"
  }
}
```