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 15, 2017

Domain Driven Development Introduction - Ubiquitous Language

Ubiquitous Language

In order to introduce this topic is, first of all, necessary to remember a very common practice of development. 

Sometimes functionalities of a program and its delivery are essential. Instead, one of the aims of Domain Driven Development is to influence a Development Team in his way of approaching software development and the way the outcome is communicated outside.

The Domain Driven Development starts from the essential concept of Ubiquitous Language that is a way to allow a Development Team to speak a single language, not just Java or C ++ programming languages, but the language of concepts.

The language within a Developement Team is one of the most important way for sharing knowledge and making a virtuous process. 

A common mistake for the Management, is to consider technology as the common denominator of a team.

We should remember that we use a different language depending on the context (formal, colloquial, private); DDD (Domain Driven Development) introduces the concept of Ubiquitous Language as an essential attitude of a team. 

The team should speak using a common terminology: a Product Language or Project Language. This practice requires methodologies as for testing, day by day the vocabolary must be enriched associating a specific meaning to a term and this term has to be used for the communication.

Reasons for Ubiquitous Language

The reasons for a Common Language are: allow a team to converge on a terminology and allow the development of a language abstraction purged of vices and features used to express a Software Requirements.

The effort in achieving a Common Language requires a constant updating of terms and their implications. Software should take into account Concepts rather than Algorithms and Solutions. The software that uses concepts is better because it relies on relationships between concepts and responsibilities.

Not least a Common Language should be used to be expanded, not only to the Development Team but also to other IT sectors which can base relations and marketing campaigns on a shared language.

No comments :

Post a Comment