![]() |
【開発担当SEの人材像】
開発を担当するシステムエンジニアの人材像を、ITスキル標準V3(著作:経済産業省, 独立行政法人 情報処理推進機構)に照らし合わせて確認してみましょう。
開発を担当するシステムエンジニアとは
情報システム分野におけるコンピュータ技術者の職種として、一般的な名称に「システムエンジニア」があります。一般的に、システムエンジニアの職域は、上流から下流に渡り、分類すると以下の内容が挙げられます。
- ユーザ要件・業務目的から、構築する情報システムの内容を明確化する
- 要件定義を実装するために、システム設計および開発(ハードウェア調達とソフトウェア設計開発)を行う
- 構築システムのテストを実施し、発見されたバグの修正を行う
- テストに合格したシステムを構成管理して稼動開始させる
- 稼動したシステムの運用管理を行う
- 運用管理の成果に基づき、ユーザにシステムの改善を提案する
- 以上の全域に渡り、システム構築のプロジェクトマネジメントを行う
これを、システムのライフサイクルに当てはめると、1~4を開発フェーズ、5~6を運用保守フェーズと分類することができ、実際このような分担をされていることが一般的です。カットオーバーを迎え、システムが運用フェーズに入るタイミングで、開発チームと入れ替わりに運用・保守チームがシステムを担当します。
これはそれぞれのフェーズに特徴があるためです。
ここでいう「開発担当SE」とは、開発フェーズからカットオーバーまでを担う職種を示します。
ITスキル標準V3では、システムエンジニアといった職種は設定されていません。
「ITスペシャリスト」や「アプリケーションスペシャリスト」「ITサービスマネジメント」の職種の一部という位置づけです。
ITスキル標準の職種定義
ITSS定義 :ITスペシャリスト
ハードウェア、ソフトウェア関連の専門技術を活用し、顧客の環境に最適なシステム基盤の設計、構築、導入を実施する。
構築したシステム基盤の非機能要件(性能、回復性、可用性など)に責任を持つ。
IT投資の局面においては、開発(コンポネント設計(システム)、ソリューション構築(開発、実装))及び運用、保守(ソリューション運用(システム)、ソリューション保守(システム))を主な活動領域として以下を実施する。
- 開発
- システムコンポネントの分析、設計
- システムの構築、導入
- 運用、保守
- システムの運用
- システムの保守
当該職種は、以下の専門分野に区分される。
- プラットフォーム
- ソリューションの基盤となるシステムプラットフォームの設計、構築及び導入を行う。
ここでのプラットフォームとは、ハードウェア、オペレーティングシステムや関連するシステムソフトウェア及びミドルウェアであり、システム開発、アプリケーション開発の 前提となる基盤システムである。
- ソリューションの基盤となるシステムプラットフォームの設計、構築及び導入を行う。
- ネットワーク
- ネットワークの構成要素、ネットワーク網、キャパシティ、障害回避手段などの設計、構築及び導入を行う。
- データベース
- データベースの論理設計、物理設計、回復管理などの設計、構築及び導入を行う。
- アプリケーション共通基盤
- システムにあったソフトウェアアーキテクチャやフレームワーク、および、共通ライブラリの設計、実装を行なう。
また導入したライブラリの管理、ソフトウェアの品質管理、開発環境の決定、アプリケーションの開発ツールの作成、導入を行う。
- システムにあったソフトウェアアーキテクチャやフレームワーク、および、共通ライブラリの設計、実装を行なう。
- システム管理
- ハードウェア、ソフトウェア、アプリケーションを含めたシステム運用、管理の設計、構築及び導入を行う。
- セキュリティ
- 企業内、企業間で必要とされるセキュリティ機能、セキュリティのためのコンポネントなどの設計、構築及び導入を行う。
ITSS定義 :アプリケーションスペシャリスト
業種固有業務や汎用業務において、アプリケーション開発やパッケージ導入に関する専門技術を活用し、業務上の課題解決に係わるアプリケーションの設計、開発、構築、導入、テスト及び保守を実施する。
構築したアプリケーションの品質(機能性、回復性、利便性等)に責任を持つ。
IT投資の局面においては、開発(コンポネント設計(業務)、ソリューション構築(開発、構築))及び運用、保守(ソリューション運用(業務)、ソリューション保守(業務))を主な活動領域とする。
当該職種は、以下の専門分野に区分される。
- 業務システム
- 業務に関するユーザの要望を分析し、業務システムの設計、開発、運用、保守を行う。
IT投資局面における活動領域では、当該業務ソリューションに関する以下の作業を実施する。- 開発
- アプリケーションコンポネントの分析、設計
- アプリケーションコンポネントの開発、実装、テスト
- 運用、保守
- アプリケーションコンポネントの運用
- アプリケーションコンポネントの保守
- 開発
- 業務に関するユーザの要望を分析し、業務システムの設計、開発、運用、保守を行う。
- 業務パッケージ
- 適用業務パッケージの機能とそのポータビリティーを十分に理解した上 で、業務に関するユーザの要望を把握し、パッケージのカスタマイズ、機能追加、導入及び保守を行う。
IT投資局面における活動領域では、当該業務パッケージに関する以下の作業を実施する。- 開発
- 詳細フィット&ギャップ分析設計
- 要求仕様に合わせたカスタマイズ設計(追加機能設計を含む)
- 追加機能開発(カスタマイズで実現出来ない部分の追加開発)
- パッケージコンポネントの実装、テスト
- 運用、保守
- パッケージコンポネントの運用
- パッケージコンポネントの保守
- 開発
- 適用業務パッケージの機能とそのポータビリティーを十分に理解した上 で、業務に関するユーザの要望を把握し、パッケージのカスタマイズ、機能追加、導入及び保守を行う。
ITSS定義 :ITサービスマネジメント
システム運用関連技術を活用し、サービスレベルの設計を行い顧客 と合意されたサービスレベルアグリーメント(SLA)に基づき、システム運用リスク管理の側面からシステム全体の安定稼動に責任を持つ。システム全体の安定稼動を目指し、安全性、信頼性、効率性を追及する。またサービスレベルの維持、向上を図るためにシステム稼動情報の収集と分析を実施し、システム基盤管理も含めた運用管理 を行う。IT投資の局面においては、開発から運用、保守までの領域で主に以下のような活動を行う。
- 開発
- 運用可能性の審査、本番移行計画の審査
- 運用、保守
- システム運用の計画、実行、監視、および障害対応管理
当該職種は、以下の専門分野に区分される。
- 運用管理
- ITサービスマネジメントの全般に関わり、リスクに対する予防処置を施し、サービスを安定提供するための各プロセスを実施することを担う。また、その実施に関わる関係者を指揮し、サービスレベル管理をはじめとするサービス提供の責任を担う。上位レベルの技術者は運用管理の責任者として、顧客に対して IT サービスマネジメントの統括責任を負う。
また、運用ガイドラインの策定、およびその遵守の徹底を図る。
- ITサービスマネジメントの全般に関わり、リスクに対する予防処置を施し、サービスを安定提供するための各プロセスを実施することを担う。また、その実施に関わる関係者を指揮し、サービスレベル管理をはじめとするサービス提供の責任を担う。上位レベルの技術者は運用管理の責任者として、顧客に対して IT サービスマネジメントの統括責任を負う。
- システム管理
- 共通運用基盤と位置づけられる部分について、IT 基盤の設計・構築・維持管理を担う。
(IT 基盤とは、ネットワーク/LAN、運用管理ツール、メインフレームおよびサーバのハード/OS/ミドルウェア、アプライアンス製品) また、IT基盤に関するシステム受入れ基準を策定する。
- 共通運用基盤と位置づけられる部分について、IT 基盤の設計・構築・維持管理を担う。
- オペレーション
- ITシステムを安定稼動させるため、定められた手順に沿って、ITシステムの監視・操作・状況連絡を実施する。
実施内容は全て記録・保管する。
- ITシステムを安定稼動させるため、定められた手順に沿って、ITシステムの監視・操作・状況連絡を実施する。
- サービスデスク
- 対象となるITサービスのユーザからの問い合わせ・申請等に対して窓口機能を担う。対応内容については全て記録・保管する。
データ総研が考える「開発を担当するシステムエンジニア」の人材像
開発を担当するSEは、要求分析、要件定義、工数見積、作業計画、要員手配、開発環境手配、これに加えて、進捗・課題管理、設計、テスト計画の策定、テストの実施指示など多岐にわたり、開発したシステム成果物に対して責任を負うところまでを職務としています。
日経コンピュータ誌の2008年度調査によれば、システム部門から見たシステム開発プロジェクトの成功率はわずか31.1%となっています。
この最大の要因は、上流の要件定義フェーズでの品質に起因します。
ユーザーのビジネス上の要求をしっかりと理解せず、あいまいな定義のままプロジェクトを進めたため、下流工程で、多くの手戻り、要件変更が発生してしまい、工数オーバー、納期遅延という事態に陥ってしまったことが多く挙げられています。
開発を担当するSEに最も求められることは、システム設計に入る前にまず、業務目的やユーザーニーズ、問題の本質を理解し、適切な要件定義を行い、そして、この要件の意味を正確に反映したシステム設計を行うことです。













