Siirry suoraan sisältöön
Miili Consulting taustagrafiikka

towards business-driven software development


Software is developed for a variety of purposes. Often, it aims to solve a business problem and meet specific business objec­tives and needs. It thus demands unders­tan­ding of both technical and business aspects.

The challenge often lies in commu­nica­tion and unders­tan­ding. The IT expert doesn’t always unders­tand the business expert, and the business expert doesn’t always unders­tand the IT expert. The IT expert speaks in the ”language of IT” and the business expert speaks using terms familiar to business people.

Domain-Driven Design (DDD) is essen­tially a method that aims to solve this challenge, and enhance unders­tan­ding between business and IT experts. 

What IS DDD ALL about?

Domain-Driven Design (DDD) is one way of designing software. The focus is on defining the entities, concepts, and rules that are relevant from the business perspective. 

One of the basic ideas behind Domain-Driven Design (DDD) is to build a domain model using business concepts and rules gained by inter­viewing and discus­sing with the “domain expert”. In this case, the domain expert is the person who best knows the business. The goal is to use those same concepts and terms also when imple­men­ting the domain model. 

One of the most important benefits of DDD is that it helps both the technical and the business people to unders­tand each other and speak the same ubiqui­tous language.

The ubiqui­tous language enables better collaboration

The emergence of ubiqui­tous language between develo­pers and business experts enhances develop­ment in several ways. It helps people involved in a project to unders­tand what is meant by different terms and concepts, as well as the most important business rules from business perspective.

The use of Domain-Driven Design enables also business people to take a bigger part in system develop­ment and testing. As the infor­ma­tion is closer to develo­pers, the number of errors, and thus the time used to develop is reduced.

When a business changes over time, so does its software. DDD is essen­tially an approach to software develop­ment that allows businesses to conti­nually develop their software efficiently in line with the needs and objec­tives of the business.

Would you like to learn more about Domain-Driven Design?

Miili Consulting is a forerunner in the field of Domain-Driven Design and Event-Driven archi­tec­ture in Finland. We are partne­ring with the Dutch IT company AxonIQ in delive­ring event-driven solutions in Finland. If you would like to learn more about Domain-Driven Design and about imple­men­ting Event-Driven systems, sign up for our Training Day on Wednesday 4th May.

In this one-day, hands-on training course you will learn how to design and implement systems based on the concepts of Domain-Driven Design (DDD), Command-Query Responsibility Separation (CQRS), and Event Sourcing.