そのシステムの将来の姿、見えますか?ITアーキテクト的発想のススメ(3)(2/2 ページ)

» 2008年06月18日 12時00分 公開
[東山 靖弘(NTTデータ),@IT]
前のページへ 1|2       

求められる変化を読む

 では、アーキテクトはどうやって将来の変化を予測すればよいのだろうか。

 まず第1に、異なるアーキテクチャを比較する際の適切な尺度ないしパラメータ(要素)を認識することである。先ほどの例でいえば、「共通基盤の活用度」というパラメータがあった。このパラメータによって、それぞれのアーキテクチャがどういった影響を受け、優劣の関係にどういった変化が起こるのかを予測することが大切になる。

 また、同じパラメータの値であっても、時間の経過とともに優劣の逆転が起こる分岐点となる値がある。定量化しにくいパラメータであっても、定性的に下図のようなイメージをつかんでおくことが重要だ(図3)。

ALT 図3 アーキテクチャ優劣の分岐点

 次に、そのパラメータの値が時間的にどう変化するかを予測する。分岐点を超えるような大きな変化が起こり得るのか、どのくらいの速さでそういった変化が起こるのかといった「変化の大きさ」「変化の速さ」を推測しなければならない。その際には、システムの目的となっているビジネスや外部環境、技術動向といった事情を考慮する必要がある。

 ここまで述べてきた内容のポイントをまとめると、以下のようになる。

[ポイント1] 変化の影響を知ること

[ポイント2] 変化の大きさ、速さを予測すること

「気付き」が大切

 では、変化を読むためにアーキテクト自身に求められるスキルとは、どういったものだろうか。筆者は、「気付き」が一番重要だと考える。

 外部環境の変化に対しては、日ごろから注意して情報収集をしたうえで、対象となるビジネスやシステムへの影響を考える習慣を持っていることが大切となる。

 技術動向においては、ムーアの法則やギルダーの法則といったコンピュータやネットワークの処理能力向上に関係した時間的な経験則が参考になる。また、技術が成熟してくると商用ソフトウェアなどのコストは低下傾向にあることも知っておいた方がよいだろう。そのうえで、新しい開発手法やITサービスも適用可能であるかどうかを常にチェックしておくことだ。

 外部環境の変化に気を付けていても、システム利用者の期待や、製品品質の向上といったゆっくり変化するものには気付きにくい。自分自身がユーザーでない場合には、それらを知ることが難しいからだ。これらがアーキテクチャの評価において重要なポイントになる場合は、何らかの手段でこうした変化を客観的に知る仕組みを考えた方がよいだろう。

将来の変化への対処

アーキテクチャ変更による対処のリスク

 ここまでで、アーキテクトが外部環境やシステムへの期待の変化に気付くことの大切さは理解していただけただろう。では、アーキテクトはその変化に対してどう対応すべきなのだろうか? ここから先は、アーキテクトの真の力量が問われる世界だと筆者は考える。

 システムがその目的を達成するうえで取り得るアーキテクチャの選択肢が、ある時点で複数存在するケースを考えてみよう。外部環境が変化するにつれて、現行システムが採用しているアーキテクチャとは異なるアーキテクチャが優位と判断されるようになることはよくある。こうした場合、果たして単純にアーキテクチャを変更すればいいということなのだろうか。

 まず、このようなケースで取り上げられるキーワードとして、「スイッチングコスト」の問題がある。あるアーキテクチャから全く異なるアーキテクチャに移行するためには、多大なコストが発生する。それは、新システムを開発するコストという明らかなものだけではなく、システム利用者や運用者の教育・習熟に要する付随的なコストや、アーキテクチャの変更に伴う開発者の再教育または変更のコストやリスクといった算出が困難なものもある。

 また、さまざまなトラブルや困難を乗り越えて安定稼働しているシステムでは特に、アーキテクチャを変更することにより、「また以前のようにトラブルが発生するのではないか」という心理的な障壁も大きな問題となる。汎用機で開発されたシステムからオープン系システムへのマイグレーションが、多くの企業で単純には進まない理由もこういったところにあることが多い。

中長期的予測に基づいた判断を

 最終的にアーキテクトやステークホルダーが取り得る変化への対処は、2つに分かれる。変化に対してアクティブに対応していくか、それとも必要最低限の変化にとどめるかである。1つの目的を達成するために取り得るアーキテクチャが幾つかの異なるもの、それぞれが大きな差異を持っている離散的なものである限りにおいては、アーキテクチャの変更を選択するか否かの二択にならざるを得ないからである。

 このような大きな判断を行うに当たっては、過去の実績に基づく幾つかのトレンドなどが参考にできるだろう。しかし残念ながら、将来の変化を確実に予測することは誰にもできない。どちらの選択肢が正しいかどうかを論理的に証明することはできないのである。そのような不確実な状況下において、信頼できる選択ができるか否か。そこで、アーキテクトの真の力量が試されると筆者は考えるのである。

 なお、このような変化に対する筆者の考え方は、短期の予測だけではなく中長期の流れを見極めて、なるべくそれに同調させるようにするというものだ。これは価値観や文化、性格などにもよるので一概に何がいいとは決められないが、ある程度の規模のシステムの場合は、スイッチングコストや開発に要する期間を考えると、中長期的に対処していくことがベストプラクティスとなり得るだろう。

筆者プロフィール

東山 靖弘(ひがしやま やすひろ)

株式会社NTTデータ 基盤システム事業本部

通信事業者向け基幹システムの企画・開発を経て、現在は上流工程におけるアーキテクチャ設計支援とともに、開発方法論の整備やナレッジマネジメントに取り組んでいる。


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ