2005-11-04

近況

コメントスパムで rss が読めないと言われたのを思いだしフィルタを使ってみた. (私が普段 rss を使わなくなってしまったので気付いていなかった.) けれど, 効果があがっていないかんじ. インストール方法が悪いようにも見えるし, スパマーのスクリプトに不具合があるようにも見える. ($comment ってなんだよ. 変数の初期化洩れだろうか...) 仕方ないのでコメントは rss に含めないようにしてみた. ごめんなさい, コメントしてくれる人.

賃金交渉の buzzword

アーキテクチャを勉強しろ, あるいはアーキテクトになるための勉強をしろと言われた場合どうすればいいのか. 具体的には, まずどんな本を読めばいいのか. 知人からそう相談されて困る. 上司に促され, 賃金積増しがかかっているという.

さてどうしたものか, まず CODE COMPLETE (上) に載っている簡単な説明を確認してから参考文献を辿ってはどうかと提案する. CODE COMPLETE はアーキテクチャについて少ししか触れていない. ただ参考文献は充実しているから, とっかかりにはよさそうだ.

アーキテクチャの参考文献としては, いわゆる POSA がよく refer される. あと最近では ソフトウェアアーキテクチャドキュメント実践ソフトウェアアーキテクチャ も訳出された. めでたい. 私は以前のプロジェクトで, 自分の作るものをいかに文書化し意図を伝えたものかと考えて "ソフトウェアアーキテクチャドキュメント" を途中まで読み挫折した(プロジェクトはアーキテクチャの精査が済むことなく典型的に済し崩した)が, 本自体は悪くなかった気がする.

先人に相談を委譲したところ, そもそもアーキテクチャとは何かという話になった. 結論は "よくわからない". 定義は探せば色々でてくるが, 言語化しにくいのか単にわかっていないのか, とにかくあまり実感がない.

聞くところによればアーキテクチャというのはある種の制約や意思決定の集合で, アーキテクチャの教科書には "こういう制約をはっきりさせておくべきである" とか "こんな風に意志を文書化する" とか "制約や意思決定の際に考慮すべき要因にはこういうのがある" というような話がでてくる. (だいたいね.) 一方で "こういうアーキテクチャが良い." という話は案外少い. 個々のソフトウェアのアプリケーション領域や目標によって, アーキテクチャは大きく変化するからだろう.

では良いアーキテクチャを作るにはどうすればいいのか. よく研究されたよいソフトウェアからケーススタディで学ぶのが良さそうだ. 委譲先の先人は提案した. 良く研究されたソフトウェアというのは, たとえば OS であったり コンパイラであったりする. (そういえば HTTP の元ネタである REST もアーキテクチャの話だった. 前半はアーキテクチャとは何かという話もざっくりまとまっており読み物としてもよく書けている.) それらの文献や実物をあたりながら, そこにどのようなアーキテクチャが, つまり制約や意思決定が潜んでいるのか (あるいは願わくばはっきり示されているか) を学ぶのではないか. と. そうかもしれない. イメージとしては, アーキテクチャの教科書から空の解答用紙を洗いだし, ケーススタディーでそれを埋めていくかんじ. 大変そうではあるが, そうした野心によって厚くて眠い教科書を読みこなしていくのがアーキテクトへの道(!)なのかもしれない. 大変そうだなあ. がんばろう, わがおともだちよ.

そういえばアーキテクチャの話を眺めていて, 古典的な情報科学の話題以外にけっこうビジネスな話が出てくるところが特徴的だと感じた. そのソフトウェアからどう収益をあげるのかを考えるのもアーキテクトの仕事ということらしい. ビル・ゲイツ が "チーフ・ソフトウェア・アーキテクト" を名乗るのはハッタリでないのかもしれない. ソフトウェアを売る会社の経営的な判断は, まさにソフトウェアを使ってどう稼ぐかという話なのだから. (その方面では何を勉強するんだろう. MBA をとるのかしら.)

肩書としての "システム・エンジニア" が責務超過をおこしている今, 世間でアーキテクトがソフトウェア技術者の進路としてもてはやされる理由もわかる. 技術に精通し, 経営を知り, それにもとづいて意思決定を行う人. コンサルタントよりはわかりやすく, プログラマよりは儲かりそう. SE よりは偉そうで, CIO よりは気楽そう. なるのはけっこう大変そうだけれど, 頑張ればなんとなくいける気もする. そうして熱心に勉強する人が増えたり, アーキテクト志望の学生で求人が賑ったり, (知人の上司のように)進路相談の処方箋に広く使われたりするようになれば, buzzword としての "アーキテクチャ" や "アーキテクト" は使命を全うしたと言えるだろう. がんばろう, わがおともだちよ.