What is Ubiquitous Language?
This post is free for all to read thanks to the investment Mindsers Blog's subscribers have made in our independent publication. If this work is meaningful to you, I invite you to become a subscriber today.
The ubiquitous language is a concept that is based on the fact that the different actors of a project need a common language that allows them to understand the data model without ambiguity and approximation in order to be able to work correctly together.
In a project team as we understand it here, there are all the people likely to participate in the development of an application. We will therefore find developers and architects, but also users and business experts: as many technical and non-technical profiles. As a result, this often results in misunderstandings related to the terms used to designate the different elements of our model.
The heart of my application is its data model. The data model is business-based. The business is not mastered by the developers or the architects, but by the business experts, who are generally the customers.
This is why it is critical to agree between the production team and the business team on the terms to be used in the model and the code. The best thing is to discuss, argue and define the terms belonging to the ubiquitous language at the beginning of the design phase in order to be able to apply it to the data model and to use it in the code of the application. The code produced will thus be much more expressive.
When a developer talks about the data model and business rules, business experts and even users need to be able to understand exactly and unambiguously what is being said.
Ideally, it should be possible to present the data model of the application to a person totally outside the project, with a non-technical profile: this person must understand how the application works.
Join 100+ developers and entrepreneurs and get notified every week about new content.
No spam ever. Unsubscribe in a single click at any time.
If you have any questions or advices, please create a comment below! I'll be really glad to read you. Also if you like this post, don't forget to share it with your friends. It helps a lot!