見出し画像

デジタル社会のアーキテクトになるには


最近、「アーキテクチャ」がとか「アーキテクト」がという話をよく聞くようになりました。デジタル庁でもChief Architectを公募しています。でも、アーキテクトが注目され始めたのは最近で、その重要性や仕事を理解していない人もいるので、アーキテクトについて整理してみることとしました。

アーキテクトって何者?

歴史を学ぶと、よく「難攻不落な城」という話を聞きます。「難攻不落な城」は、リーダー(CEO)の元に、その城を軸に戦略を練る人(Chief Strategist)、最適な技術の導入・活用を考える人(CTO)、そこに燃料や弾薬を供給する人(CDO(data))、その戦略を実行する優秀な人材をそろえ、強化する人(CHCOまたはCHRO)がいます。

ここでバックエンドを支える重要な役割がアーキテクトですが、アーキテクトは城の攻防戦には出てきません。アーキテクトは、中長期な変化やそれに対応する柔軟性、拡張性を考えた上で、状況に応じて前述の優秀なチームが最適な戦略を打てる基盤を事前準備しておくのが役割です。

ストラテジストは城のアーキテクチャを熟知したうえで最大限その能力を引き出し、アーキテクトはストラテジストが活躍できるように様々な戦略オプションが選択できる基盤を設計していきます。ストラテジストが注目されることが多いですが、ストラテジストとアーキテクトは表裏一体なのです。

そのため政府CIOを支える政府CIO上席補佐官2名は、英語役職がChief StrategistとChief Architectなのです。こちらの英語名のほうが日本語役職よりも実態を表しています。(ちなみに政府CIO補佐官はExecutive advisor to the Government CIO)

また、他のCxOがOfficerなのに対して、Chief StrategistとChief Architectは特定個人を指すポジションです。類似のポジションはChief ScientistやChief Designerがあります。
共通しているのはチーム長であるOfficerよりも、個性と才能とリーダーシップで引っ張っていくポジションということです。

そもそもアーキテクチャって何なのよ

アーキテクトはアーキテクチャを作るわけですが、そもそものアーキテクチャとは何なのかをウィキペディアの定義で見てみましょう。
もとは、建築で使われる用語です。

建築
建築学でアーキテクチュアとは建築の様式のこと。建築物の構造や設計法工法を含めた全体を意味する用語であるが、庭園や船舶等もarchitectureで、明治時代にarchitectureを造家学、neder architectureを造船学、landscape architectureやlandscape gardeningを造園学、と和訳していた。ウィトルウィウスの『De Architectura』は世界初の建築の専門的理論書であるとされ、その思想性は現代においてもたびたび参照されている建築原典である。このことからアーキテクチュアという言葉に思想性、または設計思想といった意味の含みがもたらされたとされる。

コンピュータの世界でも広く使われてきています。

コンピュータ
コンピュータに関する構造や設計全般に「アーキテクチャ」の語が使われるようになり、また歴史を遡り「ノイマン型アーキテクチャ」や「x86アーキテクチャ」などにも使われているが、これらは当初からシリーズ化や上位互換を意図して標準化・文書化されたものではなく、インテルのマイクロアーキテクチャなどは特定の実装を含んでいる。日本語では「設計思想」などと意訳されることもある。

このようにアーキテクチャを、構造や設計全体を含む設計思想ととらえるのが一般的です。

改めてアーキテクトって何をする人でしょうか

これまでもオランダ政府や米国政府のGSA等、各国の政府機関にChief Architectがいるところがありました。しかしそれは、建築業務のArchitectでした。

では、デジタル社会にとってのアーキテクトとは何でしょうか。デジタル社会全体を俯瞰した中長期視点を持って全体設計をする人であり、戦略や各種アーキテクチャ設計手法に精通しています

デジタル社会では、様々な分野が複雑に関係しあうSystem of Systemsという考え方が重要です。これまでの個々のシステムのアーキテクチャよりも広範な目標を持った上位のレイヤーを考える必要があります。複数分野にまたがった課題やサービスをアーキテクチャ思考で可視化し、まとめ上げていく力が必要なのです。

既に、ストラテジストとアーキテクトは表裏一体と説明しましたが、デジタル人材の国際的なフレームワークであるSFIA7でも戦略とアーキテクチャのスキルは同じなので「Strategy and Architecture」のカテゴリとして整理しています。この領域を以下の4つのサブカテゴリと27のスキルで示しています。

Information strategy
・Enterprise IT governance
・Strategic planning
・Information governance
・Information systems coordination
・Information security
・Information assurance
・Analytics
・Data visualization
・Information content publishing
Advice and guidance
・Consultancy
・Specialist advice
Business strategy and planning
・Demand management
・IT management
・Financial management
・Innovation
・Research
・Business process improvement
・Knowledge management
・Enterprise and business architecture
・Business risk management
・Sustainability
Technical strategy and planning
・Emerging technology monitoring
・Continuity management
・Network planning
・Solution architecture
・Data management
・Methods and tools

これが基本的なスキルと役割になります。非常に広範な知見が求められます。

イギリス政府は、SFIAを参考にデジタル時代の人材体系をDDaT(Digital, Data and Technology Profession Capability)として整理していますが、この中で、Data architect、Network architect、Security architect、Technical architect、Technical specialist architectと5種のアーキテクトを定義しています。この定義はエグゼクティブクラスのChief Architectではなく各部門のアーキテクトの定義ですが、中でも全体のアーキテクトに近いのがTechnical architectとData architectです。

テクニカルアーキテクトに求められるスキルと役割
・技術に詳しい人と詳しくない人のギャップのブリッジ
・ガバナンス
・意思決定と意思決定の支援
・戦略
・業務の課題を技術設計に反映
・周辺環境も含め全体感の理解

データアーキテクトに求められるスキルと役割
・コミュニケーションスキル
・データ分析と統合
・データコミュニケーション
・データガバナンス
・データイノベーション
・データモデリング
・データスタンダード
・メタデータ管理
・問題解決
・戦略思想
・業務の課題をデータ設計に反映

データアーキテクトのほうが細かいと思うかも知れませんが、DDaTは専門領域によって記述レベルが異なるためです。どちらのアーキテクトも戦略に従い解決策を考えていくことが求められています。

アーキテクトになるにはどう勉強すればよいのでしょうか

こんな黒子だけど物事の本質を追求するアーキテクトになるにはどうしたらよいのでしょうか。アーキテクチャを考えるときにはトップダウンとボトムアップで行う方法がありますが、中長期戦略を考える必要があることから、戦略からブレイクダウンしていくことが多いです。まずは戦略論を勉強してください。

また、アーキテクチャの勉強をしようとしてネットで検索するとコンピュータやシステムのアーキテクチャの本が多く出てきますが、これらはシステムの実装に近すぎ、細かい技術的な内容が書いてあることが多いです。しかし、デジタル社会のアーキテクチャは、システムズ・エンジニアリングの領域のSystem of Systemsですので、そちらの勉強をすることが重要になります。(名前は似ていますがシステムの生産性や品質等を対象とするシステム・エンジニアリングではありません。)

まずアーキテクチャの基礎は重要なので、Zachman FlameworkEnterprise Architectureは知っておいたほうが良いです。階層型にシステムを分けて考えるアーキテクチャの基礎が分かります。

さらにアーキテクチャの基本理論としてはTOGAFがあります。ここでアーキテクチャに関する全体像を把握することができます。さらに、より実践的な米国国防総省のアーキテクチャであるDoDAFを勉強すると具体化のイメージもできてくると思います。また、アーキテクチャの要素分解という点では、ISO/IEC/ IEEE 42010 Systems and software engineering - Architecture descriptionが分かりやすいです。

画像1

そのうえで発展形として、欧州の産業界が作ったRAMIと米国の産業界が作ったIIRAを見ると、現在のアーキテクチャの主流が見えてきます。(ここでRA(Reference Architecture)という言葉が登場します。Architectureは、厳密に守らなければ実装できないアーキテクチャと、インタオペラビリティを取るためにモディファイして使うことを想定した参照アーキテクチャ(RA)があります)

ここまで見れば、大体、アーキテクチャの考え方は理解できると思います。2000年から2010年の古い資料が多いと思うかもしれませんが、アーキテクチャの考え方はそんなに変わるものではないので、このように柱になっている取り組みを勉強していくことが重要です。

ビューを切り替える

アーキテクチャの全体像が分かったら、もう少し詳しく詳細のビューを考えていく必要があります。

最初は、専門家が作ったアーキテクチャやサンプルのアーキテクチャを見て勉強しましょう。

アーキテクチャの全体像を、「ルール」というビューで見たらどうだろう、「機能」を中心に見てみるとどうだろう、と視点を切り替えていくと全体像がよりクリアに見えてきます。また、その注目した機能をさらにブレイクダウンし、プロセスやデータをモデリングしていくことも多いです。

あとは実践あるのみ

役割と基本的なアーキテクチャのモデルが分かったら、あとは自分で試行錯誤しながらアーキテクチャを書いていくことになります。いきなりデジタル社会を書こうと身構える必要もないです。身近なサービス(システムではない)について各レイヤーにどんな要素があるか書き出して、関連性を整理していきます。

このゴールを達成するには、どのようなドライバーがあるだろうか、制約は何だろうかと書いていくうちに頭の中が整理されていきます。冒頭の写真の、絡み合ったスパゲティを、層できれいに整理されたラザニアにしていきましょう。

また、アーキテクチャを書くにはモデリング手法を活用することが重要です。TOGAFが開発したアーキテクチャ記述言語ArchiMate🄬が有名ですが、それで書く場合には、archiという無償のツールが提供されています。まずは、ここから試してみてはいかがでしょうか。ツールに付属するサンプルモデルをいじくることでなんとなく見えてくることも多いと思います。

参考

以前書いたアーキテクチャに関する記事は以下にありますので、興味があればご覧ください。

Society5.0のRAはどう検討されたのか





この記事が気に入ったらサポートをしてみませんか?