【読書メモ】ユビキタス言語について
ユビキタス言語とは
ソフトウェア開発チーム全体で作り上げる共有言語
- ドメインのユーザーが使う用語とプログラムを構成する用語を一致させた言葉
- プロダクトオーナー、開発者間のコミニュケーションを円滑にするためのようなもの
ユビキタスとは
「満遍なく」とか「どこにでもある」という意味
ユビキタス言語の考え方
その業務自体が、どのような考えでどのように動くのか
- プロジェクトにとっての最善の用語か
- ユビキタス言語における変更は、モデルに対する変更である
- ドメインエキスパートは用語や理解を伝えるために適切かどうかに、開発者は設計を妨害する不整合さがないかどうかに着目すべき
ユビキタス言語のスコープ
- チーム。チームによって話されて、チームが開発する単一のドメインモデルで表現される
- 「業界全体で」とか「全社的に」あるいは「世界中で」共通なドメイン言語を想定したものではない(ユニバーサルではない)
- 境界づけられたコンテキストごとに、それぞれのユビキタス言語が存在する
- 境界づけられたコンテキストは、当初の想定よりも比較的小さくなる。
- 境界づけられたコンテキストは、ひとつの業務ドメインのユビキタス言語全体をとらえることができる程度の大きさにとどまるもの
具体的にやること
シンプルな定義をまとめた用語集や図を作る
ポイント
- ユビキタス言語は日々変化していく(仕様や機能も変わっていくので)
- ユビキタス言語がそのままドメインモデル名となる
感想
言葉に対する理解度は可視化しないと乖離も出やすいし、共通認識を合わせた小さな成果物としても明らかになる
新しいメンバーが入った時に引継ぎのコスト減らせるので新旧双方にとって負担が減るし、プロジェクトとしての資産にもなるので自分自身が動きやすくなったりしたな。