【10】受動的アーキテクトと能動的アーキテクト
アーキテクトには 2 種類います。一方は、お客様からビジネスの要件をいただいてシステムを構築する「受動的」アーキテクト。もう一方は、自分たちでビジネスを立ち上げて収益を上げるためのシステムを構築する「能動的」アーキテクト。こうしたビジネス上のポジションの違いはアーキテクトが様々な意志決定をする上での色眼鏡になっているでしょうか?
もちろんです。一般的にいって、「受動的」アーキテクトはなるべくお客様から大きな注文をいただこうと高機能かつ高品質を指向し、「能動的」アーキテクトはなるべく最小限の投資から収益を上げようとシンプルかつアジャイルな開発を指向します。したがって、「受動的」アーキテクトは本来プロジェクトにとって絶対必要とはいえないものであっても、売り上げ増加のためにあれこれと付加して提案します。昼休みになるとオフィスにかかってきた電話を誰もとらないような会社に 99.999% の可用性を保証する冗長構成を提案したり、お客様のクレジットカード情報がプリントアウトされて会議室に放置されているような会社に 4096 ビットの耐タンパー認証デバイスを提案したりします。それでも、提案さえ通ってしまえばこちらのものです。
一方、「能動的」アーキテクトは、自分だけでものごとを決められる権限が大きいのをいいことに、単に自分が使ってみたいというだけのわがままな理由で技術を選定したり、まだ誰も試したことのないトリッキーなサーバ構成にチャレンジしたり、その結果メンテナンス性が悪化したことに対する客観的な指標がないのをいいことに、アーキテクチャの失敗という事実を隠し通そうとします。いずれにせよ給料は同じですから、予算さえ通ってしまえばこちらのものです。
このように邪悪な方向へ落ちる谷底にはそれぞれ無限の深さがありますが、しかし、実は両者はその高みにおいて調和しています。「受動的」アーキテクトであっても、お客様の目線で、お客様の利益を何よりも優先する姿勢を貫くと、「能動的」アーキテクトと同じように「システムを構築した結果、事業が成功するかどうか」という視点でものごとを考えられるようになります。「能動的」アーキテクトであっても、私情を交えず一歩引いた立場からものごとを見られるようになると、「受動的」アーキテクトと同じように、プロジェクトをスムーズに成功に導くためには何が必要か、どういった妥協が必要かを、適切なタイミングで適切に意志決定できるようになります。
面白いことに、どちらのタイプのアーキテクトでも、上記のような理想像についてはほぼ一致したイメージを持っているようです。ただ、ビジネス上の環境要因が自分でも気づかないぐらい少しずつ、個別の判断にバイアスを与えているだけなのです。そのことに自覚的であることが、理想的なアーキテクト像に近づくための最初の第一歩となるでしょう。