背景

お客様に常に最適なサービスを提供し続けるため、どの組織でもサービスデザインの検討/更新のAgility向上が求められています。

これに伴って、考え出されたサービスアイデアを実現するためのアーキテクチャ検討(アーキテクチャデザイン)のAgility向上も重要性が高まっています。また、アーキテクチャデザインはその後の開発タスクに大きく影響します。

特に内製化に取り組む組織では、サービスに最も適したアーキテクチャデザインを素早く決めることは内製化の成否を決めることになり、ひいてはビジネスのAgility向上の重要な鍵となっています。

一方で、デジタル時代のサービス実現のアーキテクチャは従来の「Webサーバ」「APサーバ」「DBサーバ」のように定型化されたアーキテクチャ(Web三層アーキテクチャ)とは異なり、「SaaS」「PaaS」「オンプレミス」などさまざまなコンポーネントが利用可能になり、無数の組み合わせパターンが出現しています。

このような無数の組み合わせからサービス実現のための最適アーキテクチャを描ける人材は不足しており、この人材の育成はビジネス成功のための重要課題です。

このようなデジタル/内製化時代に、「サービスの実現イメージを素早く描ける人材(=アーキテクト)」をどう育成していけばよいのでしょうか。

従来のアーキテクト人材育成

従来はネットワーク、アプリケーション、データベースなど特定領域を経験してスペシャリストとなり、そこから領域を広げてアーキテクトになるというケースが多くありました。

例えば、データベース設計を複数案件経験した後、DBA(データベース管理者)としてデータベース領域のスペシャリストとなり、インフラチームのリーダとしてアプリケーション、ネットワークの理解を深め、アーキテクチャ全体を俯瞰できるようにスキルアップしていく、といったケースです。

従来のアーキテクトへのステップ
従来のアーキテクトへのステップ

このアプローチでは

  • 特定領域のスペシャリストになる期間
  • 領域を広げて経験を蓄積する期間

を要するため、アーキテクト育成には最低でも数年(筆者の感覚では5年以上)かかることが通例でした。

これは定型化されたアーキテクチャがあるため、「コンポーネントの組み合わせの経験よりも、各コンポーネント(ネットワーク、アプリケーション、データベースなど)の知見の深さがアーキテクトに求められた」結果と言えるでしょう。

デジタル時代のアーキテクトに求められるスキルと育成アプローチ

デジタル時代のアーキテクトには下記の2つの要素が必要です。

  • 各コンポーネントの特性の理解
  • ベストプラクティス/アンチパターンとサービス要件を踏まえ、実現に最適なコンポーネントの組み合わせを選択するスキル

前者について、個別のコンポーネントの情報入手や実環境での試行は従来に比べて遥かに容易となりました。

従来は実案件を経験しなければ試行できなかったことが、自身で環境を作成し、そのコンポーネントを使用するのに数時間要しないことも多くあり、コンポーネントの特性理解についての障壁は下がっていると言えます。

しかし、クラウドサービスに代表されるように新規コンポーネントは次々と登場しており、それら全ての特性を深く理解することは現実的ではありません。

一方、後者は従来では重きが置かれていなかった要素ですが、デジタル時代ではコンポーネントの組み合わせパターンは無数に考えられるため、このスキルの重要性が高くなっています。

デジタル時代のアーキテクトへのステップ
デジタル時代のアーキテクトへのステップ

このことを考えると、デジタル/内製化時代のアーキテクトを育成するには、領域を絞らないで、最初から多数のコンポーネントの経験を積んでいき、ベストプラクティス/アンチパターンの知見を蓄積していくアプローチが有効と考えられます。
また、このようなアプローチによりアーキテクト育成にかかる期間も4年程度に短縮できたケースもあります。

まとめ

従来、アーキテクトになるには特定領域のスペシャリストを経るケースが通例でしたが、デジタル時代は次々登場する新規コンポーネントを深く理解することよりも、その組み合わせのベストプラクティス/アンチパターンを多数経験することが重要です。

従って、内製化を目指す組織のアーキテクト育成においては、スペシャリスト志向か、アーキテクト志向かのキャリアパスを見極めるタイミングを従来よりも早めに設定していくことが有効と考えます。