一般社団法人 全国個人事業主支援協会

COLUMN コラム

  • 業務エキスパートと技術者が「同じ言葉」を用いて知識を共有する重要性

業務エキスパートと技術者が「同じ言葉(ユビキタス言語)」を用いることは、ドメイン駆動設計の土台となる手法であり、プロジェクトの成功を左右する知識の共有と意図の伝達を効率化するために不可欠です。その重要性は以下の点に集約されます。

  • 意図の伝達不全による失敗の回避: ソフトウェア開発プロジェクトが失敗する根本原因の多くはコミュニケーション(意図の伝達)の失敗にありますが、同じ言葉を使うことで関係者間の知識のギャップを埋めることができます。従来の開発手法では、業務知識を分析モデルや仕様書、設計書へと「翻訳」を繰り返す過程で情報が欠落し、結果として業務エキスパートの知識ではなく「開発者の誤解」が本番環境に実装されてしまうリスクがありました
  • メンタルモデルの正確な反映: ソフトウェアが真に価値を発揮するためには、業務エキスパートが課題をどのように捉えているかという「メンタルモデル」を正確に表現する必要があります。ソースコード、テスト、文書のすべてにおいて業務の言葉を一貫して使用することで、ソフトウェアは単なるコードの集まりではなく、事業活動そのものを語るようになります
  • 知識の発見とモデルの共創: 同じ言葉を育てる過程は、単に既存の知識を文書化することではなく、業務エキスパートと技術者が対話を通じてモデルを「共創」する活動です。技術者が業務の言葉で質問を投げかけることで、業務エキスパート自身も気づいていなかった例外的なケースや曖昧な概念が明らかになり、より深い事業理解へとつながります。
  • 持続的な成長と保守性の向上: 業務の言葉がそのままソースコードに反映されていることで、業務エキスパートと技術者の協力関係が持続しやすくなります。これにより、事業活動の変化に伴うソフトウェアの修正や拡張が楽で安全になり、長期にわたって「設計のよい形」を保つことが可能になります
  • 妥当性の検証: 業務の言葉で記述されたテストコード(Gherkin記法など)を用いることで、業務エキスパート自身がシステムの振る舞いの妥当性を検証できるようになり、複雑な業務ロジックにおける深刻な不具合を未然に防ぐことができます。
The following two tabs change content below.

WATANABE REN

千葉県在住のエンジニアです。最近はPythonやってます。

この記事をシェアする

  • Twitterでシェア
  • Facebookでシェア
  • LINEでシェア