プログラミングは現代の建築である。

2741viewsshantishanti

このエントリーをはてなブックマークに追加
パターン、Wiki、XP ~時を超えた創造の原則 (WEB+DB PRESS plusシリーズ)

プログラミングは現代の建築である。「半世紀に渡る歴史物語、全ての起源は、建築家アレグザンダーにあった」。プログラミングと建築の類似性、Wiki、XPなどが気になるは是非。知的好奇心を満たす一冊です。

第1部 建築

・アレグザンダーは、自然都市が備えている質のことを「無名の質」と呼んだ。
・「無名の質」という言葉は老子の「道(タオ)」についての教え、「「道」は名づけ得ぬものである」という言葉にインスパイアされたものだと思われる。
・パターン・ランゲージは単なる部品集でも事例集でもなく、利用者と建築家をつなぐためのさまざまな工夫の集積である。パターンはそのための道具の一つなのだ。
・哲学者プラトンは哲学者を建築家にたとえた。思想もまた建築的に作り上げられていくべきだ。

第2部 ソフトウェア開発

・建築の利用者が設計すべきだとアレグザンダーが言ったのと同じように、ベックとカニンガムはシステム利用者に最終設計をしてもらうことにした。
・ソフトウェア開発において「町」「施工」といった粒度に相当するパターンは何か?
 →「施工」に相当するパターン:「実装」
 →「町」に相当するパターン:ソフトウェア全体の基本的な構造である「アーキテクチャ」
・C3プロジェクトのプラクティス
 →テスティング:実際のコードよりも自動テストのコードを多く書くほど、テストを重視
・プロジェクトの4つの変数は以下。これら4つについて誰が決定権を持っているのかを確認し、彼らが適切な判断を下せるように開発状況と見積もりを報告する
 →スコープ:何をすべきか。実装すべき機能。
 →品質:求められる正確さやそのほかの「良さ」の基準
 →リソース:人員や設備など、プロジェクトに投入可能な制限
 →時間:プロジェクトの期間
・継続的インテグレーションと徹底的なテスト:個々の開発成果を頻繁にコードベースに結合し、ユニットテストを100%パスする状態を常時保つ。
・どうせ必要にならないって!:現在の要求を満たす必要十分なコードだけを書く
・コード所有権:コードの所有権を開発したチームだけに留めない。
・エクストリームプログラミングのプラクティス

第3部 Wiki

・「スレッドモード」:主観的な意見の集積から成り立つ。各自の最後の意見に「--」に続けて署名を残し、それが縦に連なっていく形式。フロー情報。
・「ドキュメントモード」:ページが客観的な記述の集積から成り立っている状態。主観的な記述が排除されている状態。辞書や百科事典のような記述。ストック情報。
・はてなダイアリーは日本独自のWiki文化の一つ。
・ニコニコ動画では、タグの編集を誰でも行えるようにすることで、タグの編集をあたかもWikiの編集のように扱っている。

あとがき

・利用のルールを自分たち自身で考え続けて実践することで、はじめてWikiをWikiらしく使いこなせるようになる。
・デザインパターンもXPもWikiも、取り入れれば改善されるという魔法の手法ではなく、自分たち自身のプロセスを見直し、改善出来る点を改善し続けることによってようやく有効に働くようになる生成的なプロセスである。

感想

デザインパターンというコンテクストで必ずと言っていいほど登場する人物「アレグザンダー」とは何者なのか、建築とソフトウェアの類似点はどこか、Wiki=WikipediaのようなものというWikiへの浅い理解の解消、「時を超えた創造の原則」というサブタイトルの響きのかっこ良さから本書を手にとった。

※このまとめは抜粋です。完全なまとめはこちらにUPしました。是非。
http://book-review.hatenablog.com/entry/2012/06/01/054139

関連まとめ

本のまとめカテゴリー


コメントを書く