ときどき更新されます

CS 周りのお勉強のログ

Design It! の2章を読んだ.

2章では,デザイン思考をアーキテクチャ設計適用する方法について解説されていたので,まとめておく.

デザイン思考
影響を受ける人々の視点から問題や解決策について考えるための方法

アーキテクチャ設計でのデザイン思考
システムを利用する人,設計判断で影響を受ける人の視点に立ち,解決すべき問題を明らかにしたり,解決策を探求するための方法

原則

まずは,デザイン思考における原則について,アーキテクチャ設計の観点から説明されていたので,それについてまとめる.

  1. 人間のための設計
    エンドユーザや利害関係者のために設計し,利害関係者やチームメンバーと共に設計する.
  2. 曖昧さを保つ
    利害関係者が要求する品質特性や性質に影響する設計判断に絞る.それ以外の設計判断については遅らせ,選択肢を残しておく.
  3. 設計とは再設計である
    ある問題に対して,設計を行う際,すでに過去に検討されていることが多いため,新しく設計を行うよりも既存のものを洗練させることに時間をかける.
  4. アーキテクチャをタンジブルにする

方法

デザイン思考を基に,アーキテクチャ設計を行う際には,基本的に以下を繰り返す.

  1. Think
    何を知りたいか,何を行うべきか決めて,計画を立てる.
  2. Do
    計画を実行する.タンジブルなものを作る.
  3. Check
    Do の内容を確認し,ネクストアクションを決める.

この各繰り返しの中で,以下のデザインマインドセットを選択することで,各繰り返しで何をすべきかを決めて,それに集中できるようにする.

  • 理解
    利害関係者が要求するビジネス目標や品質特性について,それらの優先順位やトレードオフも含めて理解を深める.
  • 探求
    利害関係者が要求する品質特性や性質を促進させるアーキテクチャを見つけるため,その構造の組み合わせを色々と試す.
  • 作成
    現状のアーキテクチャを共有できるように,それを形にしたものを作る(モデル,プロトタイプ,ドキュメントなど).
  • 評価
    現状のアーキテクチャと要求されているビジネス目標や品質特性を比較して,検査する.

例えば,今回はある品質特性の理解に焦点を当てて,その品質特性の理解を深めるための計画を立て,それを実行し,結果に応じてネクストアクションを決めるといった流れ.