システムアーキテクト(SA)とは何か?

システム(System)をアーキテクト(設計・建設)する人のこと

読んで字の如くですね

お客様偉い人

オンラインサイトを始めたいので、システム開発の発注をお願いするよ

システム
アーキテクト

ありがとうございます。承知しました。お伺いしたご要望内容からサイトの設計をさせて頂きましたので、ご確認下さい。

みたいな感じですね。私が本業でやっていることもこんな感じです。お客様のご要望を把握、整理し、システム化するために設計を行っていきます。(お客様のご要望を把握、整理というところが一番厄介なのですけどね。)

さて、それではIPAのサイトにおいても「システムアーキテクトとは」という内容が定義されていますので、そちらの内容を見ていきたいと思います。

対象者像

IPAによるとシステムアーキテクトに求められる対象者像には、以下の定義がされています。

高度IT人材として確立した専門分野をもち、ITストラテジストによる提案を受けて、情報システム又は組込みシステム・IoTを利用したシステムの開発に必要となる要件を定義し、それを実現するためのアーキテクチャを設計し、情報システムについては開発を主導する者

(IPAサイトより引用)

冒頭で述べている事と同じですが、システム化するための設計を行う者ということですね。

業務と役割

また、システムアーキテクトに求められる業務、及び役割についても以下の通り言及がされています。

〔情報システム〕
情報システム戦略を具体化するための情報システムの構造の設計や、開発に必要となる要件の定義、システム方式の設計及び情報システムを開発する業務に従事し、次の役割を主導的に果たすとともに、下位者を指導する。

  1. 情報システム戦略を具体化するために、全体最適の観点から、対象とする情報システムの構造を設計する。
  2. 全体システム化計画及び個別システム化構想・計画を具体化するために、対象とする情報システムの開発に必要となる要件を分析、整理し、取りまとめる。
  3. 対象とする情報システムの要件を実現し、情報セキュリティを確保できる、最適なシステム方式を設計する。
  4. 要件及び設計されたシステム方式に基づいて、要求された品質及び情報セキュリティを確保できるソフトウェアの設計・開発、テスト、運用及び保守についての検討を行い、対象とする情報システムを開発する。
    なお、ネットワーク、データベース、セキュリティなどの固有技術については、必要に応じて専門家の支援を受ける。
  5. 対象とする情報システム及びその効果を評価する。

〔組込みシステム・IoTを利用したシステム〕

組込みシステム・IoTを利用したシステムの要件を調査・分析し、機能仕様を決定し、ハードウェアとソフトウェアの要求仕様を取りまとめる業務に従事し、次の役割を主導的に果たすとともに、下位者を指導する。

  1. 組込みシステム・IoTを利用したシステムの企画・開発計画に基づき、対象とするシステムの機能要件、技術的要件、環境条件、品質要件を調査・分析し、機能仕様を決定する。
  2. 機能仕様を実現するハードウェアとソフトウェアへの機能分担を検討して、最適なシステムアーキテクチャを設計し、ハードウェアとソフトウェアの要求仕様を取りまとめる。
  3. 汎用的なモジュールの導入の妥当性や開発されたソフトウェア資産の再利用の可能性について方針を策定する。

(IPAサイトより引用)

業界的にも上流を任せられるSEというのは単価が高いです。

つまりシステムアーキテクトには、システム開発における上流工程を広い視野で主体的に進められる能力が求められると言えます。

期待する技術水準

設計ができる。と一言で言っても人それぞれ、バラバラかと思います。

IPAではシステムアーキテクトに求められる技術水準という定義もあります。

システムアーキテクトの業務と役割を円滑に遂行するため、次の知識・実践能力が要求される。

〔情報システム〕

  1. 情報システム戦略を正しく理解し、業務モデル・情報システム全体体系を検討できる。
  2. 各種業務プロセスについての専門知識とシステムに関する知識を有し、双方を活用して、適切なシステムを提案できる。
  3. 企業のビジネス活動を抽象化(モデル化)して、情報技術を適用できる形に再構成できる。
  4. 業種ごとのベストプラクティスや主要企業の業務プロセスの状況、同一業種の多くのユーザ企業における業務プロセスの状況、業種ごとの専門知識、業界固有の慣行などに関する知見をもつ。
  5. 情報システムのシステム方式、開発手法、ソフトウェアパッケージなどの汎用的なシステムに関する知見をもち、適切な選択と適用ができる。
  6. OS、データベース、ネットワーク、セキュリティなどにかかわる基本的要素技術に関する知見をもち、その技術リスクと影響を勘案し、適切な情報システムを構築し、保守できる。
  7. 情報システムのシステム運用、業務運用、投資効果及び業務効果について、適切な評価基準を設定し、分析・評価できる。
  8. 多数の企業への展開を念頭において、ソフトウェアや、システムサービスの汎用化を検討できる。

〔組込みシステム・IoTを利用したシステム〕

  1. 組込みシステム・IoTを利用したシステムが用いられる環境条件や安全性などの品質要件を吟味し、実現すべき機能仕様を決定できる。
  2. 対象とするシステムの機能仕様に基づき、ハードウェアとソフトウェアの適切な組合せを設計し、それぞれの要求仕様としてまとめることができる。
  3. リアルタイムOSに関する深い知識と汎用的なモジュールに対する知識を有し、システムアーキテクチャの合理的な設計、ソフトウェア資産の再利用可能性の検討、適切な活用ができる。

(IPAサイトより引用)

業務は勿論のこと、ネットワーク、OS、セキュリティなどの幅広い知識を持って設計を行うことが求められています。(完璧にこなせる人が世の中にどれだけいるのか・・・)

まとめ

いかがだったでしょうか。システムアーキテクトに求められる水準は決して低くないと思います。

私個人的には、システム開発の全工程を把握していないと正しい設計は出来ないと思っています。

試験をやったことがなければ、品質やセキュリティを意識した設計は出来ません。保守・運用をやったことがなければ、非常にユーザビリティの低い設計になる可能性もあります。

もしこれからシステムアーキテクトを目指す方がいらっしゃれば、遠回りに見えるかもしれませんが、システム開発全行程を経験する、というのが近道かもしれませんね。