宮島 一浩
株式会社I&Gパートナーズ takumi Div. マネージャー


 制約と要求のバランスを取りながら物事の共通点を把握し,未来の出来事にも対処しやすくする――。そのようなことを考えているのがITアーキテクトで,そうしたITアーキテクトに求められるのは「バランス感覚」「抽象化力」「予知能力」だと思います。以下,この三つを順番に説明しましょう。

バランス感覚

 ITアーキテクトは何と何のバランスを取る必要があるのでしょうか。答えとしては「あらゆるもの」となるのですが,ここでは「制約と要求」「プロジェクト・マネジメントと技術」「開発と運用」の三つのバランスに注目します。

制約と要求のバランスを取る

 制約とは「品質(Quality)」「コスト(Cost)」「納期(Delivery)」をはじめ,政治的,リソース的なあらゆる制限です。一方の要求は,「これがしたい」「あれが作りたい」といった欲求です。こうした制限の中で,最大の欲求をかなえなければなりません。どの制限が一番強いかは,環境や状況により様々ですが,よくあるのが「この技術を使ってほしい」もしくは「この製品はもう使いたくない」といったもの。制約と要求は相反することが多く,うまくバランスを取ることが求められます。

プロジェクト・マネジメントと技術のバランスを取る

 技術はときに制約になり,開発メンバーの欲求として表れることがあります。例えば,最新技術を使いたいが,その技術は利用例もなく不安定な要素がぬぐえない,といった場合です。最新技術を使うとQCD(Quality,Cost,Delivery)のいずれかに著しい影響を与えるのであれば,プロジェクト・マネジメントの観点からその技術を選択すべきではないと判断されるでしょう。

 どのようにバランスを取るかは,技術,プロジェクト・マネジメントの両面から判断しなければなりません。このような状況で適切な判断を下すには,技術寄りな立場であるアーキテクトにもプロジェクト・マネジメントの理解は必須といえます。

開発と運用のバランスを取る

 「アーキテクチャ」とは何ぞや,と尋ねられたらこう答えます。

 「将来において製品・サービスを提供し続けられる仕組みや構造」

 具体的に言えば,リリース→利用→不満や不具合のフィードバック→改善→リリース→… というサイクルが,ずっと繰り返し可能である仕組みや構造(体制,フロー,文化)ということです。

 これは最近よく聞く「サステナビリティ(持続可能性)」という言葉に置き換えられると思っています。一般的にサステナビリティといえば,企業活動における環境面にやさしい製品をずっと作り続けられることや,社会に貢献することで永続的に存在できること,収益を生み出し続けられること,などを指すことが多いと思います。

 開発したシステムをずっと提供(=運用)し続けられる仕組みこそがアーキテクチャであり,そのアーキテクチャを決めるのがアーキテクトというわけです。ですのでアーキテクチャには,ITによるシステムだけでなく,人的な体制,業務フロー,その企業における文化の醸成,収益化への貢献,なども含まれると思います。

抽象化力

 「抽象化」とは,辞書によれば物事をあいまいに表現することだそうです。あまり良い意味ではないととらえることもできますが,ソフトウエアの世界では抽象クラスなどで一般的な概念です。「共通した部分を抽象化して同じ仕組みで済むようにする」「単純作業を抽象化・共通化して効率を上げる」といったことは,システム開発プロジェクトの中でアーキテクトが頻繁に解決する課題です。

 「抽象化」とは物事の共通点・真理・本質をとらえ,別の物事に置き換えること。「抽象化力」とは抽象化した真理を別の物事に応用できる力。そう考えています。

 レオナルド・ダ・ヴィンチは美術・数学・科学・恋愛など様々な能力に秀でていましたが,これらは強い好奇心もさることながら,すべてを抽象化できており,様々な分野に応用が利いた結果だと思います。ある物事を完全に(あるいは高いレベルで)理解してからそれを抽象化し,同じレベルで様々な別の物事に応用できる能力を持つ人は,アーキテクトという役割を難なくこなせると思います。これまで会ってきた優秀なアーキテクトの方々は,こうした能力を持っていたように思います。

予知能力

 占いや超能力といったことを意味しているわけではありません。上述したようなサステナビリティの考慮や,抽象化力は何のために必要かというと,それは将来起こり得る変化を見越し,対応できるようにするためです。生物の種は,様々な環境変化に対応することで子孫繁栄を実現してきましたが,システムにも同じことが言えると思います。ただ,すべてを予知することは不可能ですし,どんな変化にも耐え得るアーキテクチャを構築するのもまた不可能です。

 現実に起こり得る可能性が高い事柄を見極め,それに対応する準備ができる能力。これがアーキテクトに一番必要なものであり,これはバランス感覚と抽象化力の上に成り立つものだと考えています。技術的にもビジネス環境的にも変化の早い昨今,この「予知能力」がアーキテクトにとってさらに重要になってくると思っています。

宮島 一浩

Sound Engineer(これもSE)の専門学校を卒業後,畑違いのIT業界に就職。その後フリーランス,SIベンチャーを経て,現在,株式会社I&Gパートナーズにて,転職サイトgreenの構築・運用を担当。サービスを提供する立場での,これ以上ないくらいアジャイルな機能追加や,アーキテクチャ・組織・文化全体の構築は大変面白く,多くのエンジニアに体験してほしいと常々思っている。ブログはこちら