Featured Post

Event Sourcing Video from Michael Ploed

Event Sourcing I want to share a great video I found few days ago that describes very well what Event Sourcing is.

Sunday, January 29, 2017

Ubiquitous Language : create, maintain, sustain (Part I)

Create Ubiquitous Language 

First of all, a consideration regarding Ubiquitous Language is that: if you take care of the language (project language or product language ) then your "Software Design" could be simpler and maintainable.

When we talk about project language or product language, actually we are talking about the domain you are working into (financial, sports, paper e.g.). Domain Driven Development suggests to direct efforts and attentions to your specific Domain and consider the opportunity to support your Software with concepts.

The first steps for creating a Domain Language is to grasp from Requirements the concepts that you need. Let us think of a requirement expressed in a Natural Language, a good process is of identifyng words that are concepts to be modeled and that give value to your domain.
This step regards the process of identifying concepts, not how to convert a Domain into a Domain Model.

As a first step, a domain can be extracted from reality but then you are free to add additional concepts (even "pure fabrication") that make sense and contribute to your domain.
Basically requirements and reality are the source of your language. Another important step is to design relation among concepts

A simple exercise is : write concepts on a blackboard or in a document and assign them a meaning and a meaning to each relation.

Maintain Ubiquitous Language

Mantain requires to update documentation/reference guide and to make effort (spent time) in a language direction instead of a technology direction.

Sustain Ubiquitous Language

To sustain an Ubiquitous Language , the Management has to be engaged on speaking the same language of the Development Team. So the output of briefing, brainstorming or just requirements, should adopt a Domain Language.

No comments :

Post a Comment