Design It! 輪読会 10章 設計判断を可視化する

10章は「設計判断を可視化する」章で、アイデアを共有するためにアーキテクチャを触れられる形(=可視化)にする方法を述べた章でした。

www.oreilly.co.jp

この章で伝えたいことを整理する

アーキテクチャを可視化する方法は様々あるが、大切なのは誰に見せるのかを意識するということでした。 誰というのはつまりステークホルダーになりますが、このステークホルダーによって必要で欲しい情報は異なるために、適切な可視化の方法を選びましょうという話でした。 本の中で語られている「要素責務ビュー」と「絞り込みビュー」はシステムアーキテクチャを表現するにはとてもわかりやすいし便利です。 しかし、なぜここで分けて紹介されているのかがわからないといった疑問が輪読会の中であがりました。 ここで自分が持った回答は、このビューを見せるステークホルダの相手が欲しがっているものが違うから、記述される詳細度が違うのではないかということを回答しました。 要素責務ビューは、機能がビジネス側に対して何を提供しているものなのかを語るものであり、ビジネスサイドのステークホルダーに対して提供するものです。 それに対して絞り込みビューは、機能が何のモジュールによって構成されていて、またモジュール同士の関係はどうなっているかと言うエンジニアサイドが欲しがる情報を提供しています。 このようにステークホルダーが何を欲しがっているかを考えると、なぜこのビューがほしいのかが整理されると思いました。

後半の「素晴らしい図を描く」部分では、図の書き方について述べられている章でした。 相手にわかりやすく伝えるため、何をどのように載せるべきか、また各機能の並べ方など、忘れがちなことが書かれていました。 個人的な感想としては、そこまで書き方について色々言うならまず業界標準的なものがほしいなと思っていたところ、コラムにそのような情報が載っていました。 それは「アーキテクチャ記述言語」と呼ばれるものです。

アーキテクチャ記述言語(Architecture Description Language、ADL)とは、ソフトウェアアーキテクチャやシステムアーキテクチャを記述するためのコンピュータ言語または概念モデルである。ソフトウェア開発者がアーキテクチャについてやり取りする場合や、開発者と発注元との認識あわせに使う。またエンタープライズモデリングでも使われる。

ja.wikipedia.org

アーキテクチャ記述言語 SysML , AADL(前編)システム全体の記述に適したアーキテクチャ記述言語 「SysML」|オブジェクトの広場

アーキテクチャ記述言語 SysML , AADL(後編)非機能的側面に適したアーキテクチャ記述言語 「AADL」|オブジェクトの広場

コラムには続きがあり、アーキテクチャ記述言語は設計の表現力を制限したり常に仕事を楽にしてくれるわけではないと書かれており、本当に使いたい場合だけ使うべきだと書いてありました。 現在の自分の仕事が会社内での標準を作成するようなものであり、デザイン表現について標準がないのかと気になっていました。 しかし、デザインに関しては標準などが定められてしまうことによって表現力が遮られてしまうことがあり、良くないことがわかりました。 このあたりも標準を作成して効率を上げることよりも、可視化し相手に伝えるための存在しているツールだから、このような結論になっているのかと考えました。