Domain Driven Design (DDD): Why You Need It
28 mars 2022
The heart of high-performing software is about more than just efficient code and robust integrations. Understanding the environment in which the code has to do its work, 'the domain', plays a crucial role in its success. For example, what are the USPs of the company that will deploy the software? Which processes are crucial? And at what points is interaction with users essential? Domain Driven Design (DDD) brings business and IT closer and concentrates software development around having authentic insights into the processes to be automated.
Although DDD is not directly about technology, it gives it a clear direction. You want code to be a reflection of the domain, so that optimised software facilitates the flow during every step of the process and can change, if something changes in the domain in the future. Domain Driven Design, what exactly does that mean and why is it useful?
DDD starts with the 'Big Picture'
A powerful technical solution starts with an understanding of the big picture. Domain Driven Design is used to map the domains. In a 'Big Picture' session, where Domain Driven Design usually starts, domain experts from business and IT map out all the steps of an existing or an intended process and you work on the common understanding of those processes, variables, and concepts.
First of all, this is a fun session, in which you work with a pen and a stack of sticky notes. By visualising business processes with sticky notes, any bottlenecks across the various steps in the process or missing links become visible. And because you work closely with colleagues from other domains, it’s also very useful for your teams’ collaborations in the long term.
Think of an animal hospital. Examples of domain experts from the business in this case are, for example, a veterinarian or an assistant. They can give you a lot of practical information, how are appointments scheduled? Or how are customers invited for their pet’s annual vaccinations? What does a treatment overview with its associated costs look like? Domain experts from IT can then map out the technical side. What systems are already in place? And how do the customers log in? This is a great way to create one joint overview.
"A specific gear only works well if you know in advance how the rest of the machine works. The same goes for software development."
Giel – PHP Developer, iO
The Big Picture session(s) bring domain experts from business and IT together and provide them with one vision, but we also often see that new insights arise. An example of a common issue in commerce is the integration between a Product Information Management system (PIM) and a webshop. A good PIM system ensures error-free, consistent, and up-to-date product information in your shop. You then have to deal with processes around PIM management, webshop management and data enrichment. The data from the PIM should also be published in the shop. Clear agreements about which system is responsible for what is an important topic. Thanks to the Big Picture Session and discussions with all the involved domain experts, bottlenecks are identified, and a clear understanding of processes is created. Software better matches reality and the actual needs of real users.
What Domain Driven Design delivers
How does a Big Picture session within Domain Driven Design deliver value for software development? From our role as a digital partner, at iO we look at this as follows:
Customer experience #1: by modelling software around domains, the user is put first, and you can create fluid digital journeys.
Faster time-to-market and better cost efficiency: during development you always run into known and unforeseen issues. The later you identify issues, the more expensive it is to remedy. By using DDD to spar with domain experts from business and IT about their wishes, requirements, processes, and journeys, you can identify the most critical processes for the company at an early stage. By paying extra attention to this in the development process, development can be faster and more cost-efficient.
Common understanding: by developing a clear language that is used by all domain experts, they become interlocutors and can better understand each other's starting points and interests. This can remove and demystify a lot of a project’s complexity.
Scalable solutions: by discussing business objectives together, events and possible campaigns, can be planned for in detail, in advance. Systems can be designed to be able to cope with the peak load with Sinterklaas and Christmas campaigns, for example.
How about a bigger digital presence?
Gone are the days when a website was enough for a proper, digital presence. Our experts happily assist in bringing about a digital ecosystem - optimized and on-brand - fit to serve your business goals.
The bridge between business and IT
With Domain Driven Design we bridge the gap between the business and IT, by focusing on added value. Accurately mapping journeys and processes in advance and developing unambiguous definitions about them is a very powerful concept.
With this, the focus of application development shifts from focusing on a strictly determined technical issue, to the development of functionalities, with the necessary added value for a business model. This makes DDD ideally suited for more complex digital challenges, such as developing customised solutions for platforms or extending standard software. This often involves different domains across the chain, with the most important advantage being that development processes can run (cost) more efficiently.
Bavo JanssSoftware Architect
Bavo Janss is a true software veteran – starting out delivering office automation to clients working with mainframe terminals, 25 years ago. Later he witnessed the rise of the internet, modern websites, e-commerce, and social media. It only made him appreciate the biggest gift of modern tech: knowledge access – without that dial-up modem noise.
Articles sur le même sujet
- We guided international transporter Verhoeven.eu through their digital transformation process, as the architects of their digital integration platform via low-code platform OutSystems. Give our case a read.Découvrez ce case en détail
Exploitation des données dans le transport publicConnectez vos sources de données en enregistrant les informations personnelles et de paiement sur un portail en ligne.Découvrez ce case en détail
Looking for expertise in Continuous Integration, Delivery and Deployment?Say goodbye to merge days, manual bug fixing and code flaws as a developer — and opt for continuous and automated development.Lire la suite
MACH - how do you know if it's right for your business?Microservices, API-first, Cloud-native SaaS and Headless have secured their place in the business world. These concepts have existed in their own right for some time and are already fairly well known, but the umbrella term MACH is new. Will it soon be mentioned in the same breath as Cloud and SaaS? And when will it be worth investing in it? Find out in this white paper.Lire la suite
The Enterprise Service Bus (ESB): is it still around?Applications and end users of applications require specific information, usually provided by apps such as for banking or shopping. The origin of the information shown in these apps is an underlying source system or a set of systems that compares and merges information. Many financial enterprises focus on providing clients with a modern app, which are, however, often cursed with a legacy system from the 1980s or even older as their information source. Consultant Rudy van Haandel explains the role that integration solutions such as an Enterprise Service Bus (ESB) and API Management can play in these situations.Lire la suite
Do Progressive Web Apps still have a future?The life of Progressive Web Apps (PWAs) started in 2015. They promised to close the gap between web and native apps by progressively enhancing current web apps with new API’s and features like the ability to work completely offline. While big players like AliExpress, Flipkart and Forbes have introduced PWAs in the past, they still have their apps and are not planning on abandoning them anytime soon. Did the technology come to a halt? Are PWAs still relevant? Should you still invest time and effort in creating and maintaining PWAs?Lire la suite
How valuable is MACH for your organisation?MACH: Microservices, API-first, Cloud-native SaaS and Headless; a concept that’s suddenly in the spotlight. Although the separate concepts are well-known and not quite new, an umbrella concept is now attached to this technical view. Does ‘MACH’ constitute the new ‘Cloud’, and could it be just as influential as ‘SaaS’, or would that be giving it too much credit? IO Technology Director Friso Geerlings anticipates that MACH will present a complex challenge that will also provide companies with a focus on an incomparable and omni-channel customer experience with plenty of value.Lire la suite
Is your organisation ready for MACH? 7 questions and answersMACH is nothing like a classic (on-premise or IaaS) platform in terms of organisational requirements. Before exploring the options of working with MACH or actually starting to work with it, every organisation should start by asking themselves various questions.Lire la suite