Technology Architectロールの紹介 〜Part.1〜
はじめに
突然ですが、Technology Architect(以降、TA)というロールをご存じでしょうか。
人によって意見が異なるかもしれませんが、ここではアプリケーション・インフラを含めた全体的なアーキテクチャの設計や計画を行い、長期的な視点で技術選定や標準化を行う技術の専門家のことを指します。
アクセンチュアにはTAが活躍しているプロジェクトがたくさんあり、需要が高いロールになっています。
そこで、これから2本の記事にわたりTAロールのご紹介をしたいと思います。
- TAとはなにか / アクセンチュアにおけるTAの関わり方を紹介(本記事)
- TAに求められること / TAのキャリアモデル
TAとはなにか
TAの具体的なロールや責務は組織やプロジェクトによって異なりますが、主要なアクティビティとして以下のようなものがあります。
-
システムアーキテクチャの設計と計画
機能・非機能両面のビジネス要件を満たすためのシステム全体の設計と計画を担当します。
例えば、システム全体の構造やブループリントを作成します。 -
技術選定
最新の技術動向を把握し、組織或いはプロジェクトの要件にマッチする技術を選定し導入を推進します。
選定においてPoC(Proof Of Concept)を主導することもあります。 -
技術標準とガイドラインの策定
組織やプロジェクトで使用する技術標準やガイドラインを策定し適用を推進します。プロジェクト規模が大きくなると、プロジェクト全体での一貫性を保ち開発の効率性や品質を向上させるために技術標準やガイドラインが欠かせません。 -
アーキテクチャに関わる問題解決とトラブルシューティング
アーキテクチャに関わる複雑な問題やシステムの不具合に対して調査・対策を行う最後の砦となります。 -
ステークホルダーとの連携
クライアントを含めたビジネスを推進するチーム、開発チーム、運用チームなど組織・プロジェクト内のステークホルダーと連携しアーキテクチャ面でリードしプロジェクトやクライアントビジネスの成功に向け様々な調整を行います。
「テクノロジーに関する幅広い知識を用いてビジネスに対して適切なシステム構成と開発・運用プロセスを描き、それを実現できる」のがTAです。
システム全体のブループリント作成からステークホルダーとのコミュニケーションまでその役割は多岐に渡ります。
いずれのアクティビティも重要で、それぞれの品質がプロジェクトの成功、ひいてはビジネスの成功に直結します。
また、どんなに優れたテクノロジーやアーキテクチャであっても、それがビジネスニーズや要件にマッチし、ステークホルダーに理解されなければ採用されることはなく、長期的な視点での計画なしに適用したテクノロジーは決して持続可能ではありません。
様々なステークホルダーの視点、短期的長期的視点、最新技術動向などあらゆる視点で分析しコミュニケーションすることでテクノロジーをビジネスに繋げる役割を担います。
アクセンチュアのTAの特徴
主要なアクティビティを上記で述べましたが、一般的なTAとしての責務では「システムを作るためにアーキテクチャの設計や技術標準を設けて、あとは開発チームと一緒に開発しながら開発をリードとする」、といったケースが多いのではないでしょうか。
あるいは「ステークホルダーの要望をヒアリングしてアーキテクチャを設計して実装方法やガイドラインを開発チームに伝えるところまでを責務とし、システム開発には深く関わらない」、といったケースもあるかと思います。
また、そういったTAはプロジェクトにおいて特定の個人に偏っていませんでしょうか。
アクセンチュアのプロジェクトではビジネス課題も複雑で、システムのロードマップも多岐にわたり、多角的な視点と深く幅広い専門性が求められます。
プロジェクトを成功させるために、アクセンチュアのTAは個人ではなくTA専門のチームを組んでプロジェクトに参画するとともに、アーキテクチャの計画・策定からシステムがリリースされるまで責務としてやり切ります。
例えば、
- システムアーキテクチャの設計と計画 では、一般的なTAは個人の経験に頼りがちなのに対し、アクセンチュアのTAはDevOps / Security / QAなどの各分野の専門家チームと連携し、品質を高く安定させています。
- 技術標準とガイドラインの策定 では、ただ策定して開発チームに展開して終わりではなく、アクセンチュアのTAは開発チームへ内容の説明や疑問点のQAを行うとともに、ガイドラインに準拠できているか定期的なコードレビューを通して開発品質を高めます。
- アーキテクチャに関わる問題解決とトラブルシューティング では、アーキテクチャ上品質に関わるモジュールの開発や、性能テストや性能チューニングなどにも関わり、システムのリリースまで伴走します。
このように、ただアーキテクチャや品質に対してコメントしたり資料やガイドラインを作るだけでなく、TAでチームを組んで必要なステークホルダーや専門家チームとコミュニケーションしながら、自ら手を動かしてプロジェクトを成功に導くところに、アクセンチュアのTAとしての違いがあると考えます。
上記も含め、「一般的なTAの責務」で発生しがちな課題と、それに対して「アクセンチュアのTAの責務」を下図にまとめました。
アクセンチュアにおけるTAの関わり方を紹介
アクセンチュアのプロジェクトにおいてTAがどのようにクライアント企業と共にビジネスをドライブしているか、国内小売業界の大手でグローバルにも幅広く展開している企業の大規模ECサイトのアーキテクチャ刷新事例を用いてご紹介します。
この事例では、繁忙期における基幹系の処理能力不足が最重要課題でした。
繁忙期には分間数十万リクエストものトラフィックが発生し、CPUが高負荷状態になることでシステムがダウンしてしまうのです。
その都度、数十人以上もの関係者が深夜に集まり、コンテナのスケールアップについて議論を重ねなければならないほど深刻な状況でした。
そのような状況下でアクセンチュアのTAは、以下のような課題解決に取り組みました。
幅広い領域のシステムアーキテクチャの刷新
経験豊富なクライアントの技術者とTAが中核となり、繁忙期の大量リクエストにも耐えうるECプラットフォームのシステムアーキテクチャの設計と計画を主導しました。
TAは、フロントエンド、バックエンド、インフラの各領域で専門性の高いメンバーで構成されたチームを率いて、可用性を担保し機会損失を防いで売上拡大に貢献するアーキテクチャを設計しました。
また複雑怪奇なロジック群で構成されたJavaシステムを見直し、クリーンアーキテクチャとDDD(ドメイン駆動設計)を用いたアーキテクチャに刷新することで、システムの保守性を向上させ、変更の影響範囲を局所化することに成功しました。
この取り組みにより、将来的な機能追加や変更にも柔軟に対応できる、持続可能なシステムを構築することができました。
結果、基幹システムへのリクエスト回数を最適化したことで、10分間で 75,000
回から 6,570
回へと大幅に削減することに成功し、また、API平均レスポンスタイムも 512
ミリ秒から 8.8
ミリ秒へと大幅に短縮しました。
これらの改善により、ユーザーエクスペリエンスの向上と、システムの安定性が確保されました。
技術選定
ユーザーに満足度の高い購入体験をしてもらうために、クライアントとアクセンチュアのTAがワンチームとなり適切な技術選定を行いました。
具体的には、高い可用性と拡張性を備えたコンテナオーケストレーションプラットフォームとしてAmazon EKSを採用しました。
また、Kubernetes向けのCD(継続的デリバリー)ツールであるArgo CDを導入することで、Gitリポジトリとの同期を維持しつつ、アプリケーションを安全かつ自動的にデプロイする仕組みを構築しました。
さらに、エッジコンピューティング基盤としてAkamai EdgeWorkerを活用しました。EdgeWorkerを用いることで、エンドユーザーに最も近いAkamaiのエッジサーバー上でカスタムロジックを実行できます。これによりダークカナリアリリースやABテスト機能を実現し、新機能の安全な導入と効果検証を行いました。
高度な問題解決
プロジェクト遂行中に発生した高度な技術的課題の解決においてもTAは重要な役割を果たしました。
特に繁忙期に発生する突発的な性能課題は、ビジネス影響が大きいため緊急度が極めて高く、アプリケーションからインフラまでの複数のレイヤーに影響を及ぼし、多数のシステムにも波及するため解決が非常に難しいものでした。
調査した結果、性能課題はDBコネクションの枯渇に起因しており、その原因はインフラ移行に伴うDNS負荷によるものでした。
双方の高度な専門性と、クライアントのCIO含めたステークホルダーと緊密に連携することで、これらの複雑な問題にも迅速に対応してトラブルを解決に導きました。
クライアント企業の内製化支援
クライアントとアクセンチュアのTAによる混合のエンジニアリングチームを形成し、社内外の知見を効果的に融合しました。
この混合チームにおいては、会社の垣根を越えてソースコードレビューを相互に実施することで、コードベースでのナレッジ共有を促進した結果、不要なコミュニケーションコストが削減され、トラブルシューティングのスピードが向上しました。
また、開発の効率化とコード品質の維持も重要な課題として認識されていました。
そのため、TAは技術標準とガイドラインの策定にも注力しました。
コーディング規約やアーキテクチャのベストプラクティスをチーム内で共有し、統一された開発スタイルを確立することで可読性と保守性の高いコードを実現することができました。
このようにアクセンチュアのTAは技術面でのリーダーシップを発揮し、システムアーキテクチャの設計、技術選定、問題解決、そしてクライアント企業の内製化支援において重要な役割を果たしました。
TAの専門性と献身性が、プロジェクトの成功とクライアント企業の技術力向上に大きく貢献したと言えるでしょう。
このプロジェクトでは今後もTAはクライアントとの強固なパートナーシップを築き、ビジネス価値の創出に尽力していきます。
おわりに
TAとはどんなロールで、アクセンチュアでどのように活躍しているか、理解いただけたでしょうか。
もし「ハードルが高いな」「自分には無理そうだ」「技術的なことだけやりたいからちょっと違うな」など思われた方でも、少しでも興味があればアクセンチュアでは自身のキャリアの中で今後こういった活躍をしていきたい方・目指したい方を増やそうとしています。
アクセンチュアではTA専門の組織が存在し、トレーニングや先輩アーキテクトと一緒に仕事をする仕組みなどがあり、経験が浅くとも一人前のTAへ成長し、活躍できるようなフォローを用意しています。
Part.2の記事では若手〜ベテランのTAのキャリアモデルを紹介予定なので、そちらもご覧いただいて、まずは興味のある技術領域を担当しながら一人前のTAになっていくキャリアパスをイメージしてもらえれば幸いです。
もしアクセンチュアでTAとして働くことに興味をお持ちでしたら、下記から是非ご応募ください。
他の職種に興味がある方は、下記をご覧ください。
Discussion