« デブサミ2008(08/2/13-14)について | メイン | イマドキのオブジェクト指向 »

僕はなぜアーキテクチャにこだわるのか

 「僕はITアーキテクトです」と名乗るのが、昔は恥ずかしかったものです。ですが、ある時期から吹っ切れていました。やはり僕の原点なんだなと思って。


そのものではなく環境を見る
 大体において、「そのもの」が悪いってことはないのです。日経SYSTEMSのコラムに書いたものを引用します。

「間違えたのはITエンジニアだから悪いのはITエンジニアである」ということから一歩進んで,「なぜITエンジニアが間違えなくてはならなかったのか」と考えるわけである。そのためには,プログラミングという作業全体を俯瞰し,その前後左右に何があるのかを見る

ITエンジニアを取り囲む環境の中に,バグを誘引する要素がある

書き方がバラバラな仕様書,複雑で理解しにくいアプリケーション・フレームワーク,ドキュメントが無いライブラリ群,使いこなせないIDE(統合開発環境),など。いずれも,バグを引き起こす原因になることは説明するまでもないだろう。

 僕は基本的な性善説です。人は課題が見えたら解決せずにはいられない。もし僕に見えている課題を解決しようとしない人がいれば、それは真の課題が見えていないから。その人を取り囲む環境が見えなくしているから。

 もちろん、僕は一緒に課題を解決したいと願っている。だから、僕が環境に働きかけていかなくはいけない。これがアーキテクチャを構築するということです。


システムのアーキテクチャとは
 アーキテクチャというと「アプリケーション・フレームワーク」のようなソフトウェアのランタイム環境だけを指す場合があります。ですが、ソフトウェア開発における本来的なアーキテクチャの範囲は広範囲です。たとえば開発環境もそうでしょう。様々なコミュニケーションツール(WIKI、イシュートラック、チャット、メール)、開発支援ツール(ソースコードリポジトリ、構成管理、IDE、CIツール)も、当然、アーキテクチャとして考えていかなくはいけない。

 それだけではないですね。経済的な構造もシステムを取り巻くアーキテクチャとしては非常に重要なものです。SIerが問題を抱えている1つの理由に「請負契約」があると言われるのと同じです。僕はお金が欲しいから(ま、それもあるけど)ビジネスにコミットするのではなく、ビジネスの枠組みそのものがシステムを取り巻く環境として非常に大切だからコミットする。「良い顧客」というのは「顧客との良い関係」を示すのであり、そのためには顧客とのWin-Winなエコシステムが存在していなくはいけません。

 もちろん政治も大事(卑近な意味で)。よりよいアーキテクチャを構築するためには現場から上司から社長から、全体を見て適切な場所に働きかける必要があります。それが政治だね、といわれても単に必要だと思うからやっているだけ。人間関係を調整したり、筋を通すことで課題解決に近づくなら安いもんです。

 ある時期はパターン・ランゲージのラレグザンダーが経済学にのめり込んだのも、僕の周りの優秀なアーキテクトが経済や政治の話をするのも、全てをアーキテクチャとして捉えているからです。僕からしてみれば「経済や政治は面倒だから関わらない」と思っている人はアーキテクトじゃない。どんなに面倒でも、そこが環境を悪化させている原因だとわかればやるしかない。

 
行動し、信じ続けること
 これを読んでいる人は、たぶん、いろんな課題が見えていると思います。そして、その課題を目の前にしながら「なんで、そんなことすんだよ」という思う誰かに対して怒りを抱くこともあるでしょう(僕だってある)。

 もし、そうなったら環境に働きかけて欲しいのです。その誰かが悪いんじゃない。その誰かが課題を無視せざるをえない環境があるのだ、と。

 環境が分かったとしても、でか過ぎてアプローチできない?そうかもしれませんね。でも、根本的に変えることはできなくても影響を与えることはできるはずです。

 環境を変える方法は単純。あなたが自ら信じている行動し示すことです。

 独り言でもだめ、友達と話すだけでもだめ、Blogで言うだけでもだめ。”行動すること”。思いを込めて行動し続けること。そして、そうすることで、きっと変わると”信じ続けること”。

 小さい一歩でも気にすることなんかない。僕の好きな言葉はイチローの「小さなことを重ねることが、とんでもないところに行くただ一つの道だ」というものです。1枚の紙は薄くても、10000枚、20000枚になれば重くて持ち上げられなくなってくる。

 ちょっと難しいのは、あなたが気になっているだけかが「行動し続ける人」か「ただの見えていない人」かの違いが、ぱっと見ただけでは分からないことです。どちらも、あなたが課題と思っていることを無視する人。

 でもね、分かるはずです。その人から感じる言いようのない魅力に。だったら、その人も同じ目標に向かっているはずだ、と信じましょう。そして、あなたが信じていることを真っ直ぐに話せばいい。聞いていくれないこともある。であれば、自分が信じた方法で行動する。批判なんてつまんない。批評家になったら、はい、おしまい。


自責化し、環境に働きかける
 若いころに尊敬する上司から聞かされた「自責化(何事も自らの責任であると感じる)」という言葉は、今でもとても大事な言葉です。そして、10年たった今となっては「自責化し、環境に働きかける」という言葉になりました。

 最近、仲間が増えてきました。もっともっと、いろんな人と刺激を受けあいたい。コミュニティや会社は、そのための枠組みとして非常に有効に機能します。そういうことにも興味が出てきた。


 社会は、まだまだソフトウェアのすごさを分かっていない。もっともっと出来ることがあるはずだ。そう思っています。だから今やっていることが小さな一歩に見えたとしても、、とんでもないところへ行く道だと思って努力する。もちろん、時にはそんなことも忘れちゃう。だから、こうして文章を書いて思い出す。

 このネタは形を変えて何度も何度も書くことになるでしょう。

トラックバック

このエントリーのトラックバックURL:
http://www.arclamp.jp/mt33/mt-tracback.cgi/2461

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2008年01月24日 09:00に投稿されたエントリーのページです。

ひとつ前の投稿は「デブサミ2008(08/2/13-14)について」です。

次の投稿は「イマドキのオブジェクト指向」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Creative Commons License
このブログは、次のライセンスで保護されています。 クリエイティブ・コモンズ・ライセンス.
Powered by
Movable Type