What is the Ubiquitous Language?
The Ubiquitous Language is a collection of Business Terms that must be understood and realized in the same way by all Team Members.
The lexicon is a “Living Dictionary” that must be pro actively managed throughout the entire Software Development Life Cycle.
Why do we need a Ubiquitous Language in Software Development?
The Software Development process requires numerous human beings to become intimately involved for the project for the initiative to be successful.
Each member of the Business Group and the Solution Provider’s team has a unique perspective of the project and the definition of any term that the member hears.
As stated in the Blog “The Cat Dilemma”, a misunderstanding of terms deemed as understood by the development team can lead to complete failure of the Client’s definition of success.
The Ubiquitous Language
… Is a Lexicon of Terms
…… Created for a Better Understanding of the Business Intent
The terms are always driven by the
Business Domain requirements
and augmented by the Architecture
The Lexicon is made globally available to the Business and Technology teams for reference and maintenance throughout the entire life cycle of the Business initiative.
The Goal is to create the Dictionary of Terms
from translated words and phrases
that are refined in to a Ubiquitous Language
that all Business and Team members
agree upon the common meanings
These terms are used in all communications:
-
Email
-
Instant Messages
-
Phone Calls
-
Formal and Informal Documents
-
Business and Technology Meetings
-
Daily Scrum Stand-up
How can the Lexicon be Successfully Managed?
The successful management of the Ubiquitous Language’s lexicon of terms must implement the following requirements on a daily basis:
-
Deemed important and mandated by the highest level of management
-
A dedicated lexicon management resource, the Lexicon Master, must be assigned to the initiative
-
The Lexicon Master must be held accountable for the accuracy of the current state of the Lexicon’s definitions
-
A manageable Change Management process must be enforced
-
A Change Request approval process must be in-place to ensure changes add real value to the project
-
The impact of the changes to the Lexicon must be completed through a due diligence process
A Change Management Work Flow Process
The Players (Actors)
The responsibility of maintaining the accuracy of the lexicon falls on every team member.
The list below defines the Roles and Responsibilities of the Ubiquitous Language Lexicon of Terms players.
Roles and Responsibilities
-
Lexicon Master – The primary player responsible for the accuracy of the Ubiquitous Language
-
Team Member – The Business or Development team member submitting a new term or changes to an existing lexicon definition. This can be a player from the Business, Architecture, Development, Quality Assurance or Infrastructure
-
Selected Team – A selected team is the primary resource team that assesses the impact of a change management request to an existing lexicon term definition
-
Approval Owner – A Business or Development team member responsible for the exact terminology of the change as it will be presented for approval
-
Customer Liaison – A team member responsible for Business notification and response to the suggested term definition change
-
The Business Team Member – Point of contact for the Business group. Participates in the Daily Scrum Meeting
-
The Architect Team Member – Point of contact for the Architect team. Participates in the Daily Scrum Meeting
-
The Designer Team Member – Point of contact for the Task Designer team. Participates in the Daily Scrum Meeting
-
The Development Team – All developers that have been assigned sprint tasks. Participates in the Daily Scrum Meeting
-
The QA Team – Point of contact for the QA team. Participates in the Daily Scrum Meeting
-
The Infrastructure Team – Point of contact for the Infrastructure team. Participates in the Daily Scrum Meeting
The Request Flow
The Request Change Approval Flow
The Request Change Notification Flow
Tool Requirements
Below are descriptions of the Technology tools required to manage the Lexicon of Terms:
-
A document repository that is accessible to all business and technology teams
-
A dedicated email address that all project email communications include in the distribution list
-
An Instant Messaging System to communicate changes quickly
-
Email distribution lists for Business, Architecture, Development, QA and Infrastructure
The Lexicon Master should monitor the dedicated email address and scan all emails for new terms that are not in the lexicon.
The change management process should be initiated for any discrepancies detected.
-
Absolute knowledge of the terms is not required just an awareness that a perceived missing term exists.
-
The Instant Messaging tool should be used for validation of the term under question.
-
An assigned validation owner leads the due diligence process for assessing the project impact
-
The Lexicon Master then updates the term and notifies the teams from the distribution lists
This is a sample process should be customized
for each implementation based on
the Business, the culture and
specific requirements
deemed important to the teams
Wisdom Pearl # 113 – Understanding Success
Have a Crystal Clear Understanding of Your Destination
… Or You Might Drive Right By It
The following two tabs change content below.
I am a Principal Architect at Liquid Hub in the Philadelphia area specializing in Agile Practices as a Certified Scrum Master (CSM). I use Test Driven Development (TDD) and Acceptance Test Driven Development (ATDD) with Behavior Driven Development (BDD) as my bridge to Agile User Stories Acceptance Criteria in a Domain Driven Design (DDD) implementing true RESTful services
Latest posts by Brad Huett (see all)
- DevOps: A Bridge to Your DevOps Culture - March 25, 2016
- Embracing Test Driven Development (TDD) - March 25, 2016
- DevOps: Delivering Agile Projects - March 25, 2016