t0mmy

2020年12月30日に参加

学習履歴詳細

書籍 「Design It!」 2章 読了

やったこと

  • 書籍 「Design It!」 2章 読了

学んだこと

ポイント

  • デザイン思考とは
  • デザイン思考 4つの原則
  • 4つのデザインマインドセット

    学び

  • デザイン思考とは、人間に焦点を当てた、問題解決のアプローチ

    • 設計判断に影響を与える人々を特定し、彼らに焦点を当てることで、解決すべき本質的な問題を発見する
  • デザイン思考には、「人間性」「曖昧性」「再デザイン」「触感性」4つの原則が存在する

  • デザインに当たっては、4つの異なるデザインマインドセットが存在する

    • 各マインドセットごとに、プラクティスが存在する
    • プラクティスを適用することで、新たな学びを得ることが出来、次のフィールドループに活用できる

気づき

  • 「アーキテクチャは他の人と共有できなければ、それを形にすることはできない」の辺り
    • アーキテクチャに限らず、アイデア全般にも同じことが言えそう
    • 思い描いたアイデアを第三者に(伝わるように)説明できなければ、理解をえられず、支援も期待できない
  • デザインマインドセットの「評価」は、ユースケースごとに実施すると良いかも? ## メモ

アーキテクチャを設計するために、解決すべき問題を明らかにし、解決策を探求する。
これらに役立つ手法が デザイン思考 と呼ばれる手法。

デザイン思考は、人間に焦点を当てた、問題解決のためのアプローチ。
設計判断に影響を与える人々を特定することで、解決すべき本質的な問題が見えてくる。

2.1 デザイン思考の4つの原則

デザイン思考は、影響を受ける人々の視点から問題や解決策を考える手法。
デザイン思考は、以下4つの普遍的な原則を持つ。

  1. 人間性の規則(The Human Rule)
    • すべてのデザイン活動は究極的には社会的な性質を持つ
  2. 曖昧性の規則(The Ambiguity Rule)
    • デザイン思考者は曖昧性を保全せねばならない
  3. 再デザインの規則(The Re-design Rule)
    • すべてのデザインは再デザインである
  4. 触感性の規則(The Tangibility Rule)
    • 手で触れられるアイデアを作ることは、常にコミュニケーションを促進する

上記4原則は、プログラム設計、UI設計をはじめ、ソフトウェアアーキテクチャなど、幅広い分野に応用できる。

人間のための設計

  • 人のためにソフトウェアを設計する
  • そして、人と共に設計する
    • エンドユーザーと同じく、ステークホルダー全員を大事にする
    • アーキテクトは、チームと協働してアーキテクチャを設計する
      • 象牙の塔のアーキテクトになってはならない
  • 全ての設計判断は、他の人々に理解され、共有できなければならない

曖昧さを保つ

アーキテクトは設計しすぎないこと(必要最小限のアーキテクチャ)。

  • 優先すべき品質特性をどうやって満たすか、品質特性を促進sヌルためにリスクをどう減らすかだけを示す
  • それ以外の設計判断はすべて、後続の設計者にゆだねる
  • つまり、責任を持てる限りにおいて設計判断を遅らせる

こうした曖昧さは、後々に選択の余地を残すことにつながる。

設計とは再設計である

アーキテクトは、過去の知見やパターンを最大限活用する。

過去の知見やパターンを活用(改良)して、現在の問題の解決に役立てる。

アーキテクチャをタンジブルにする

アーキテクチャを誰かと共有する際は、コード以外の方法で形にすること。

  • 設計の根拠、設計判断が及ぼす効果への理解を促進し、よりよい議論につなげるため

コード以外の方法には、図、プロトタイプ、モデル作成、制御フローの図示など、様々な手法が検討できる。
アーキテクチャを他の人と共有できなければ、それを形にすることはできない。

デザインマインドセットを身に着ける

デザインに当たっては、異なる4つのマインドセット(視点?)がある。

  1. 理解~問題を理解する
    • ステークホルダーから情報を収集し、問題の理解に努める
    • 言い換えると、要求を理解するよう努める
    • 同時に、ビジネス目標と品質特性を調査し、優先順位とトレードオフを把握しなければならない
  2. 探求~アイデアを探求する
    • 最適な品質特性と構造の組み合わせをひたすら探求する
  3. 作成 ~ 形にする
    • アイデアを共有する、試すために、アイデアを形にする
  4. 評価~妥当かを評価する
    • ユースケースや実験、リスク調査などを通して、設計判断を評価する
    • 評価を行い、現在の理解を基準に設計判断か妥当かどうか判断する

各マインドセットには、それぞれプラクティスが存在する。
プラクティスを適用することによって、新たな学びを得ることが出来、次にフィードバックループ

デザインマインドセットは、強力なフィードバックループを持つプロセスを前提としている。

Think、Do、Check

日々の変化をいち早く察知し、状況に対応するために、素早いフィードバックループを持つ設計アプローチが必要となる。

本書では、素早いフィードバックループとして、Think-Do-Checkサイクルを紹介している。

Think-Do-Check サイクルでは、以下を繰り返す。

  • Think ... 考えるステップ。ビジネス目標、品質特性、トレードオフ、リスクなどを考える
  • Do ... 実行ステップ。モデルやプロトタイプ作成、計画実行など
  • Check ... Do ステップで達成したことを批評的に検証し、次のアクションを決定する
    • Check で得られた洞察から、次に何をするべきかを得て、Thinkステップに戻る

一つのマインドセットに焦点を当てて、このサイクルを回す。

マインドセットを適用する

デザインマインドセットは、任意の順で実行できる。
そして、マインドセットは頻繁に移り変わる。

  • 一度の会話で、複数回マインドセットを切り替えることもある

四つのマインドセットを区別し、認識できるようになること。
すると、意図的にマインドセットを切り替えることが出来るようになる。

ソフトウェアアーキテクチャ

2023年12月17日(日)

1.0時間