towards business-driven software development
TO UNDERSTAND THE BUSINESS NEEDS, YOU NEED TO SPEAK THE SAME “UBIQUITOUS LANGUAGE”
Software is developed for a variety of purposes. Often, it aims to solve a business problem and meet specific business objectives and needs. It thus demands understanding of both technical and business aspects.
The challenge often lies in communication and understanding. The IT expert doesn’t always understand the business expert, and the business expert doesn’t always understand 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 essentially a method that aims to solve this challenge, and enhance understanding 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 interviewing and discussing 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 implementing the domain model.
One of the most important benefits of DDD is that it helps both the technical and the business people to understand each other and speak the same ubiquitous language.
The ubiquitous language enables better collaboration
The emergence of ubiquitous language between developers and business experts enhances development in several ways. It helps people involved in a project to understand 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 development and testing. As the information is closer to developers, 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 essentially an approach to software development that allows businesses to continually develop their software efficiently in line with the needs and objectives 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 architecture in Finland. We are partnering with the Dutch IT company AxonIQ in delivering event-driven solutions in Finland. If you would like to learn more about Domain-Driven Design and about implementing 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.