どしろうと製作所:WebLog

どしろうと製作所のBlogバージョンです。
「どしろうと製作所」のHPの記載内容とはあまり関係無いです。
気が向いたときのみ更新します。
SEが読んでみる「クリストファー・アレグザンダーの思考の軌跡」その 
書籍紹介として「クリストファー・アレグザンダーの思考の軌跡」について記載しました。

アレグザンダーが考案したパターンランゲージ自体は建築分野から発生したものになりますが、考え方に関してはIT系の開発にも通用すると考えております。
実際にデザインパターンやWiki、XPといったものはパターンランゲージの形式を活用しています。

書籍「クリストファー・アレグザンダーの思考の軌跡」に記載している内容を中心に、実際にIT系での開発での考え方を混ぜてメモをしておこうと考えてます。

その,箸靴董屮妊競ぅ鵑旅佑方と3段階のデザインプロセス」として記載します。
コンテンツは以下。
・デザインの究極の目的は形だ
・ニーズとコンテキスト
・デザインプロセスにおける3つの段階を考える
・参考:知的発達に関する理論「表象作用の3段階」
・まとめ


■デザインの究極の目的は形だ
アレグザンダーは「デザインの究極の目的は形だ」と言っております。ここでの「形」は「構造」や「仕組み」を含めたもの示します。
例えば、コミュニケーションの仕組みとして「朝会」や「ふりかえり」を定期的に設ける仕組み(≒形)を作る事もデザインになるのですね。

少し時間をかけていくつか例を考えてみましたが、納得のいく定義なのでこちらはすんなり受け入れました。


■ニーズとコンテキスト
さて、それではデザインは何を基準に行うのでしょうか?

デザインは「ニーズ」に向けて行われるという紹介が書籍で示されています。
これはパッと見では当たり前に見えますが、「ニーズ」という言葉は曖昧であると説明があります。人のニーズが潜在的でもあり、表現が難しい…というのは、アレグザンダーの「オレゴン大学の実験」で示されるIT業界でよく使用される有名な図(クリックで参考サイト)を見ることからも明らかです。

そこで、潜在的な要素を含めて背景や周囲の状況など、より広い範囲を考えて「コンテキスト」という表現を使用しています。

デザインはコンテキストに対する形を決めるもの、ということになります。
コンテキストとデザインの例として、磁場における砂鉄の動きが示されてます。磁場というコンテキストに従って砂鉄の形が決まる…という状況が頭に浮かべやすい内容です。


■デザインプロセスにおける3つの段階を考える
ここで、デザインのためのプロセスを考えてみます。
ざっくり説明は、以前の書籍紹介に記載した内容となります。

・段階1:要求に対して直接モノを作る(現実の世界)
・段階2:イメージ上で一度モノを設計する(イメージの世界)
・段階3:抽象的な表現・法則を用いたモノで表現する(形式的操作の世界)

こちらの段階に関しては、以下のような図で表現されております。
全体像


さて、順次「ITにおける開発置き換えた例」を少し交えながら紹介します。

段階1:現実の世界
以下の状況です。
段階いち

試験用にデータ生成用などの簡易なツールなどを作ることはあると思います。このような小さいツールを作るような状況が最も近い状況です。
本状況下では、ツールの生成データが実環境にあわないとすぐに修正して使えるようにします。このような実際のコンテキストにあわせてモノを作る状況が段階1です。


段階2:イメージの世界
さて、段階2も頭に浮かべることが出来ると思われます。
段階に

規模が大きくなると「イメージ≒設計図、設計書の作成」が必要となります。この辺は現実の開発でよくある、基本設計や方式設計、詳細設計と呼ばれるような作業を行う状態です。

いったん本段階における利点と課題を整理してみましょう。

・利点
 イメージ上での修正がやりやすく、変更に対するコストが小さい。
 専門家内でのイメージ共有がやりやすい。

・課題
 現実のコンテキストから間接的なイメージ上に翻訳する際に間違いが発生する。
 多数のコンテキストをイメージに落とすことは難しい。
 イメージ上の内容は、(専門技術が必要なので)使う人と意思統一が取りづらい。
 イメージ上の形を現実に落とし込む際に課題が発生する。あわせこみの発生など。
  例:設計図に従ってイス作ったけど、穴のズレてて強引に直すとか^^
 結果として、現実の形とコンテキストがあわなくなる。

図に対して、以下のように整理できます。
※クリックするとアニメーションが見れます。
あにめでしょうかい

コンテキストをイメージの世界に展開する際に相違が発生します。
IT系の開発では(既に曖昧な)要求に対して各種設計を整理する段階で相違が発生していることは言うまでも有りません。

そこでできた形(イメージ≒設計図)から、さらに実際の形に落とし込む際に相違が発生します。
検討不足の部分をコーディングで想像で作りこむようなことをすることで、使ってみた際には「想定と違う」といった議論が発生することは、よく見られる光景でしょう。

結果として、元のコンテキストと形に相違が発生…となります。


段階3:形式的操作の世界
さて、段階2で発生する課題に対する解決として段階3の提案です。
段階さん

さらに規模が大きくなると段階2で記載した課題のため、対応が困難です。現実的な対策としては、デザインパターンやフレームワークを用いて対応をしているかもしれません。
つまり、何らかの「実績がある」「論理的に効果がある(と考える)」ものを用いているのではないでしょうか。
※まあ、実際に適用して上手く行くのか?という意見はありますが。

本当は数学のように法則的に正しいコトが証明されていれば良いとは思いますが、「パターン」のような典型的(法則性がある、繰り返し発生する課題で解決できる)方法を活用することを想定していたと考えられます。

法則性があるものを設計に適用することで、確実な部分を作り出すという感じでしょうかね。


■参考:知的発達に関する理論「表象作用の3段階」
なお、紹介した「デザインプロセスにおける3つの段階」に関しては、子供の知的発達に関する理論「表層作用の三段階」(心理学者ジェロム・ブルーナーによる)を参考にしているとのことです。
こちらも興味深い内容なのでメモしておきます。

表象作用の3段階:第1段階「動作的表層の段階」
自分の行動(動作)を通じて世界を表象して理解する段階。
ボールが高いところから落ちて弾むのを見て、ボールが弾むことを知る状態です。初めて見て学習ようなものはこちらに当たるかもしれません。

表象作用の3段階:第2段階「映像的表層の段階」
動作的幼少の段階の経験をイメージすることで、現実の問題を解決できる段階。
ボールを投げなくてもボールが壁に当たって跳ね返る角度をイメージして、跳ね返りそうなところでボールを待つことが出来る段階です。経験したことを応用までできるような段階ではないでしょうか。

表象作用の3段階:第3段階「抽象的的表層の段階」
イメージのストックを超えて、経験したことも無い問題に対して仮説を立てて類推して答えを導き出せる段階です。
容器に入れたビー玉の数が同じ数であれば容積が等しいのでは?と仮説的に考えて答えを導く段階です。数式を活用したり、抽象的な概念を扱うことが出来るレベル担っている状態です。


人が少しずつ法則性や抽象的な概念から他の仕組みに応用できる能力を得る流れが示されている感じです。
確かに、デザインの3つの段階と対比できる内容です。この第3段階をデザインに上手く応用できると価値が高いという考えも納得です。


■まとめ
以下のような感じでした。
・デザインは形を作ること
・形はコンテキストに応じて作られる
・コンテキストから形を作る際には3つの段階がある
・直接現実の世界にあわせてものつくりするのが一番コンテキストにあわせることが出来るが、段階1と呼ばれる状況ではコミュニケーションが多数発生して、コストもかかる状況になる。
・そのため、イメージの世界でモノを考える段階2で「設計」という行為が発生する。
・段階2では、イメージは間接的であることに起因する問題が発生する。
・そのため、法則性や繰り返し発生するような問題を解決する手法を適用する段階3が必要。

段階3においてはパターン、そしてパターンランゲージが有効という流れに至るのでしょうね。


書籍上はちょっとの内容ですが、理解のために長い文書になりました…
他にも紹介したい内容がありますので、もう少し頑張って書いてみます。
| パターンランゲージ | 13:18 | comments(0) | - |









 123456
78910111213
14151617181920
21222324252627
28293031   
<< October 2018 >>
+ SELECTED ENTRIES
+ RECENT COMMENTS
+ CATEGORIES
+ ARCHIVES
+ LINKS
+ PROFILE
+ OTHERS
このページの先頭へ