Jorge Tudela
ユビキタス言語とは、ソフトウェア開発プロセスに関わるすべての人の間で、標準的で厳密かつ曖昧性のない言語を構築することです。通常、開発チームとユーザーの間で共通の共有言語となるが、それに限定されるものではありません。プロダクトオーナーやその他のステークホルダーも同様に採用すべきものです。
これはドメイン駆動設計の世界から来ています。これは、エリック・エバンス(Eric Evans)が自身の著書"Domain-Driven Design: Tackling Complexity in the Heart of Software"で2003年に初めて紹介したものです。
ビジネス・ドメインが非常に複雑な場合、チーム・メンバーやユーザーが、同じコンセプトについて異なる理解をしているという状況がよく見られます。
共通理解の欠如は、開発チームが提供するものの速度と品質に深い影響を及ぼし、また、ユーザーが思い描いていたものが最終的に実装されたものではないため、ユーザーのフラストレーションにつながることもあります。
複雑なドメイン・コンセプトの例:
ユビキタス言語の開発には多くの利点があります。
ユビキタス言語プラクティスのアウトプットは、用語・概念とその定義の用語集であるべきです。この用語集は、開発者だけでなく、開発プロセスに関わるすべての人が読んだりレビューしたりできるのが理想的です。変更を追跡し、提案することができるgitリポジトリは、そのための理想的な格納場所となるでしょう。
書くよりも描くことが良い場合もあります。平易な言葉よりも図で説明した方が良い概念もあるかもしれません。
ユビキタス言語の開発を始めるために:
ユビキタス言語 をチームや顧客、ステークホルダーと実施するにあたりより詳細にお知りになりたい場合は、以下のリンクを参照してください。