top of page

BTABoK Design ~ デザイン(設計)とは何か ~

今回は、BTABoKオペレーティングモデルの概念である「デザイン」を取り上げます。


デザインとは何でしょうか?日本語では「設計」と表現されることもありますが、デザインと設計ではニュアンスが少し違うようにも感じます。例えば工業製品においてデザインと設計の違いは、以下のように説明されることが多いと思います。


デザイン: デザインは、製品の見た目、感じ、ユーザーインターフェースなど、ユーザーとの直接的な相互作用に関連する要素を含みます。デザインの目的は、製品が視覚的に魅力的で使いやすく、理解しやすいものにすることです。また、製品のデザインは、ブランドの個性や価値を反映し、製品自体がどのような価値を提供するかを消費者に伝える役割も果たします。
設計: 設計は製品の機能面に重点を置きます。これには、機械的、電気的、またはソフトウェアの要素など、製品がどのように機能するか、どのように組み立てられるかなどの詳細が含まれます。設計の段階では、製品が安全に機能し、製造コストが抑えられ、目的に合致するように、各部品の形状、サイズ、素材などを選択します。

それぞれ別物のようですが、これら2つのプロセスは互いに影響を及ぼしあいます。それは、アーキテクチャデザインにおいて、特にあてはまると思われます。つまり、アーキテクトはデザイナー視点とエンジニア視点を合わせ持ち、それらの視点を行き来することで製品開発の成功に重要な役割を果たすべきと、私は思います。


BTABoKオペレーティングモデルでは、以下のように述べられています。

「デザインを行う場合、アーキテクトは、利点、機能、品質属性、制約に由来する要件を考慮しなければならない。これらの要件は、設計オプション(技術の広さ、深さ、パターンや参照モデルを適用)を生み出す。これらのオプションからアーキテクトは、価値、リスク、品質属性(フィットネス関数)、設計全体の適合性、および原則(と例外)に影響を与える決定を下すのである。」


図をご覧ください。

これは、オペレーティングモデルで「デザイン」を説明した図です。デザインの中でアーキテクトは、利益、特徴、品質属性、制約(原則も含む)から派生した要件を考慮しなければなりません。これらの要件は、幅広さ、深さ、パターンの適用可能性、参照モデルを持つオプションを作成します。これらのオプションから、アーキテクトは価値、リスク、品質属性(フィットネス関数を通じてテストされる)、設計全体の一貫性、原則(および例外)に影響を与える決定を行います。


また、BTABoKはこうも述べます。

「デザインはアーキテクチャの一部であり、全てのアーキテクチャはデザインの対象になるが、逆に全てのデザインがアーキテクチャになるわけではない。なぜなら、アーキテクチャとはシステムの形状と機能を決定する重要なデザイン決定を表現するものだからである。」


例えば、新しいソフトウェアを開発する際、全体のデザインをするのがアーキテクトであり、そのデザイン全体がアーキテクチャになります。しかし、その中に含まれるUIデザインやロゴデザインなどは、アーキテクチャの一部であるデザインになります。デザインは「名詞」としての成果物(設計図など)だけでなく、「動詞」としての行為(設計すること)も指します。デザインは安全で、経済的で、そしてエレガントな解決策を意図的に創造する行為であり、アーキテクトにとって最も重要なスキルと言えます​​。例えば、アプリケーションのデザインを考える際、ユーザビリティ(安全性)、開発費用(経済性)、見た目の美しさ(エレガンス)を考慮し、これらをバランスよく組み合わせることが求められます。


BTABoKでは、具体的な設計図を描く前に、「最後の責任ある瞬間まで」決定を遅らせるというアプローチが推奨されています​。これは、最終的な設計決定をする際に最も多くの情報を利用できるようにするための戦略です。例えば、新しいウェブサイトを設計する際に、サイトのレイアウトや機能を決める前に、ユーザーニーズや市場の動向、技術のトレンドなど、最も新しい情報を収集

で、過度な先読みによる時間とリソースの無駄遣いをバッド・プラクティスとみなしています。


正解がないと言われる昨今のVUCAの文脈において、デザインとは様々なトレードオフを有する複雑なシステム(特にソフトウェア集約システムではそうです)を最適化する行為であるとともに、実験を促す仮説そのものでもあります。ある仮説にもとづくデザインに従ってソフトウェアを構築し、指定された環境で実行することで予想される結果が得られたかどうかを、定量的に測定されるべきものです。そしてそのフィードバックをもとに、絶え間なくさらなる実験へと進み続けていくことが、これからのソフトウェア開発のあるべき姿なのでしょう。


Iasa日本支部は、日本国内でも今以上に実践力を備えたアーキテクトが認知され、活躍できるような業界にしたいと考えています。今回解説したデザインスキルは、アーキテクトにとって特に重要なスキルです。このようなスキルを有した成熟したアーキテクトが一人でも多くなるよう、これからの価値ある情報を発信していきたいと思います。今後のIasa日本支部の活動へのご参加、ご協力をよろしくお願いいたします!

閲覧数:97回0件のコメント
bottom of page