SUZURIの用語集

ユビキタス言語をデザインする仕組みの構築

Communication Design
Visual Design
UX Engineering

SUZURI事業部に新しい人が増えたり、リモートワーク中心の働き方により、UIや広告などで使う用語の使い方に乱れが生じていました。サービスのブランド価値を最大化するためには、時間的・空間的に広がっていくあらゆるタッチポイントにおいて、一貫した意味や体験を提供し続けなくてはなりません。そのためにもサービスを提供する側が一貫性のある言葉を使う必要があります。私はこのような課題を解決するために、社内のNotion上に「SUZURIの用語集」というページを作成し、ユビキタス言語を運用することにしました。

SUZURIの用語集

ユビキタス言語

エリック・エヴァンスは『ドメイン駆動設計』で「ドメインを正しく捉えた柔軟で価値の高いソフトウェアを設計するには、チームの共通言語を創造しなければならない」と述べました。共通言語とはユーザーやドメインの専門家、デザイナー、エンジニアまで、設計モデルからプログラムコードに至るまで、プロジェクトのすべてのステークホルダー、成果物に行き渡っていて、同じ意味で理解されるようなユビキタス(遍在的)な言語のことです。

まずは実装上のモデルから

SUZURIというアプリケーションで使われている用語を一覧化するために、まずはソースコード内からSUZURIアプリケーションが持つモデルとそのプロパティをすべて洗い出しました。SUZURIで公開されているAPIドキュメントを参考に、現在使われている実装上のモデルとその呼び方を参照して用語集のひな形を作成していきました。

SUZURIのAPIドキュメント

SUZURIのAPIドキュメント

Notionで作成したSUZURIの用語集ページ

用語集のスキーマ

SUZURIの用語集は「正」、「誤」、「ソースコード上での名前」、「ステータス」、「説明・備考」、「議論している、したページ」からなるテーブルで構成されています。「正」では用語を記載して使用を推奨します。「誤」では同じ概念でよく使われがちな、使わない用語をすべて記載して、使用しないように注意喚起します。「ソースコード上での名前」は用意しておくと機能開発時に開発者と非開発者が意思疎通しやすいので用意します。「ステータス」にはその用語が現在使用中なのか判断するために使用します。WIPの場合は議論中のため使用してよいか関係者に確認するようにします。「説明・備考」には概念がわかりにくい場合の説明、この用語になった経緯、使用上の注意などを記載します。そして、議論している・したページではその用語に決定した経緯、または今議論中の内容を知るためのリンクを貼ります。

ユーザーズモデルへの変換

実際に用語集で定義される用語に最終的に触れるのはアプリケーションのユーザーです。実装上のモデルが必ずしも伝わりやすい形になっているとは限らないので、臨機応変にユーザーに本当に使われているモデルに置き換えていきました。

Designer'sモデルとUser's Modelの間にUIがある

デザイナーズモデルとユーザーズモデルの間にUIがある

揺れの解決

さらに、観測範囲でよく揺れて呼ばれているものや、すでにソースコード内で表記が揺れているものを洗い出しました。そこから、まだ決まっていないものが明らかになってきたので、開発者はもちろんユーザーとの接点が多いカスタマーサポートや営業など、その言葉に関わる様々なメンバーも巻き込み、最適なユーザーズモデルを議論しました。この過程には関わるメンバーの参加を積極的に促し、用語集を自分ごと化できるようにするという目的もありました。

メンバーへの共有

ある程度定義できた用語集に使い方を添えて、メンバー全員に共有しました。この取り組みにはメンバーを自発的に巻き込んで一緒にユビキタス言語をデザインしていくことが一番重要なので、用語集は特定の人間だけではなく誰でもトピックを立てて編集できるようオープンにしています。

オープンなものであることを冒頭に記載している

オープンなものであることを冒頭に記載している

効果

施策実行時やレビュー時に文言をチェックする習慣がメンバーにつきました。また、ソースコード上の言葉と呼び方が一致して開発者と非開発者がコミュニケーションしやすくなりました。さらに、メンバー全員が言葉をデザインするプロセスに主体的に参加できるようになりました。

用語集をもとにレビューが行われる

用語集をもとにレビューが行われる