システム開発は1人だけで完結するものではありません。企画から設計、実装、テストに至るまで、さまざまな役割の担当者が連携しながら開発を進めていきます。
本稿では、システム開発を支える役割について、一覧表を交えて紹介します。基本的な役割から、システムの種類や規模によって必要となる専門的な役割までピックアップしました。
- もくじ
1. システム開発における基本的な役割一覧
システム開発では、プロジェクトの全体像を描く管理層から、実際にコードを記述する技術者まで、多様な役割が連携します。ここでは、プロジェクトを進める上で重要となる基本的な役割を8つ紹介します。まずは一覧表でご確認ください。
職種 | 概要 |
---|---|
プロジェクトオーナー(PO) | 事業視点でプロジェクトの方向性を決定し、最終的な意思決定と予算管理を担う。 |
プロジェクトマネージャ(PM) | プロジェクト全体の責任者として、進行管理やリスク対応、リソース配分を行い、成功へと導く。 |
プロジェクトマネジメントオフィス(PMO) | 組織内のプロジェクト管理を標準化・効率化し、複数案件を横断的に支援する。 |
プロジェクトリーダー(PL) | 現場で特定のチームを指揮し、進捗管理や課題対応を通してメンバーを統率する。 |
サブリーダー(SL) | PLを補佐し、チーム作業の支援やメンバーへの技術的指導を担う。 |
システムエンジニア(SE) | 顧客の要求に沿ってシステムの要件定義や設計を担う。開発メンバーの技術支援も行う。 |
プログラマー(PG) | SEの設計に沿ってプログラムを実装する。デバッグや単体テストを行うことも多い。 |
テスター/QAエンジニア | システムが要件を満たしているかをテストにより検証する。QAエンジニアは品質管理やテスト自動化も担う。 |
ここからは、それぞれの役割について順番に紹介していきます。
1-1. プロジェクトオーナー(PO)
「プロジェクトオーナー(PO)」は、システム開発プロジェクトを事業として成功させるための責任者です。事業側の代表としてプロジェクトの方向性を決定づけ、全体のビジョンや目標を定めます。
最終的な意思決定権を持ち、予算やスケジュールなどのマネジメントも担います。ビジネス視点での価値創出が求められる、システム開発において重要な役割です。
1-2. プロジェクトマネージャ(PM)
「プロジェクトマネージャ(PM)」は、システム開発プロジェクト全体の舵取りを行う責任者です。プロジェクト計画の策定やリソースの管理・調整などを担い、プロジェクトチームを統括します。
予算、納期、品質の達成に向けてプロジェクトメンバーを牽引し、顧客を含めたステークホルダーとの調整を行います。プロジェクトの成否を決定づける重要な役割です。
前述のPOは「なぜ作るか」「作った先にどうするのか」といった戦略面に焦点を当てます。一方、PMは「どのように成功させるか」といった、具体的な実行計画やリスク対応などを担うのが違いです。PMについて詳しくは、次の記事を参考にしてください。
1-3. プロジェクトマネジメントオフィス(PMO)
「プロジェクトマネジメントオフィス(PMO)」は、プロジェクト管理を支援する組織やチームです。プロジェクト計画の策定やリソースの管理・調整など、前述のPMがカバーしきれない部分の業務をサポートする役割を担います。
PMの指示にもとづき、複数のプロジェクトを横断的にサポートします。プロジェクトの成功を間接的に後押しする、縁の下の力持ちとも言える存在です。PMOについて詳しくは、次の記事を参考にしてください。
1-4. プロジェクトリーダー(PL)
「プロジェクトリーダー(PL)」は、現場でプロジェクトチームを指揮し、日々の業務を管理する役割です。進捗の確認や課題の解決、メンバーへの技術的な支援などを通して、チームを円滑に運営します。
プロジェクトチームが複数ある場合、チームごとに1人のPLを配置することが一般的です。プロジェクト全体を統括するPMと連携しながら、現場視点でプロジェクトの実行を支える立場にあります。開発現場の最前線でチームを牽引する、重要なポジションです。
1-5. サブリーダー(SL)
「サブリーダー(SL)」は、前述のPLを補佐し、チーム運営をサポートする役割です。進捗確認や業務分担をサポートしながら、現場の動きを円滑にする役割を担います。
ときにはメンバーの育成や技術的な相談にも対応し、PLの手が回らない部分をカバーします。PLとの密な連携を通して、チームの生産性向上に寄与する重要なポジションです。
1-6. システムエンジニア(SE)
「システムエンジニア(SE)」は、顧客の要求に沿ってシステムの要件定義や設計を行う職種です。システム開発の上流工程(実際にソフトウェアを作る前の段階)を担い、開発するシステムの機能や性能などを決定づけます。
顧客と要件に関して調整したり、チームメンバーの業務をサポートしたりすることも珍しくありません。システム開発を技術的にリードする重要なポジションです。
1-7. プログラマー(PG)
「プログラマー(PG)」は、前述のSEが決定した設計に沿って、プログラムを実装する職種です。システム開発の下流工程を担い、実際に動作する機能を作り上げます。
プログラムを実際に動かし、デバッグ(バグの除去作業)や単体テスト(プログラム要素単位の検証)も行うことが一般的です。コードを書く専門家として、システムの完成度を左右する重要な役割を果たします。
1-8. テスター/QAエンジニア
「テスター/QAエンジニア」は、システムの品質を保証する立場です。PGが実装したプログラムが要件どおりに動作するかをテストによって検証します。
テスターは主にテストの実行を専門とし、QAエンジニアはテスト設計やテスト自動化などを含む品質保証業務を幅広く担当します。
テストで不具合が見つかった場合はPGなどに修正を依頼し、修正後の再テストも行います。高品質なシステムの実現に欠かせない、重要なポジションです。
2. システム開発で特定の役割を担うその他の役割
システム開発の種類や業務内容は多岐にわたり、上記以外にもさまざまな役割があります。ここからは、システム開発で特定の役割を担う3つの職種を紹介します。
- インフラエンジニア
- UI/UXデザイナー
- ビジネスアナリスト(BA)
2-1. インフラエンジニア
「インフラエンジニア」は、システムの基盤となるITインフラの設計や構築、運用、保守を行う職種です。新たなシステムを導入するための土台作りや、既存システムの安定稼働を支える重要な役割を担います。
ITインフラと一口に言っても、対象はサーバーやネットワークなど多岐にわたるため、専門分野ごとに職種が分かれています。インフラエンジニアの一種とされる代表的な職種を下表にまとめました。
職種 | 担当範囲 |
---|---|
サーバーエンジニア | サーバーの設計・構築・運用・保守 |
ネットワークエンジニア | ネットワークの設計・構築・運用・保守 |
DBエンジニア | データベースの設計・構築・運用・保守 |
クラウドエンジニア | クラウド環境(AWSなど)の設計・構築・運用・保守 |
システムを安全かつ安定して動かすために欠かせない、縁の下の力持ち的な存在です。
2-2. UI/UXデザイナー
「UI/UXデザイナー」は、ユーザーにとって使いやすく、見た目にもわかりやすい画面を設計する職種です。UI(ユーザーインターフェース)は画面のレイアウトやデザイン、UX(ユーザーエクスペリエンス)は操作時の使い心地や満足度を指します。
ボタンやアイコンの配置、色使い、フォント選びなど、見た目や使い勝手に配慮した高品質なデザインを制作します。こうした設計のアウトプットは、ワイヤーフレーム(画面の設計図)などの形式でまとめることが一般的です。
システム画面の実装を担当するプログラマーは、UI/UXデザイナーが作成したワイヤーフレームに沿ってコーディングを行います。そのため、システムの見た目や使い勝手を大きく左右する重要な役割です。
2-3. ビジネスアナリスト(BA)
「ビジネスアナリスト(BA)」は、ビジネス要件をシステム要件へと落とし込む職種です。ビジネス視点からシステム開発の上流工程を支えつつ、業務担当者と開発チームの橋渡し役を担います。
顧客やエンドユーザーへのヒアリング、要件の分析、ソリューション選定の支援など、担当業務はさまざまです。業務担当者と対話しながら目的や課題を整理し、それをもとに開発チームが扱いやすい形で要件を定義します。
POやSEに近い立場ですが、業務分析や要件整理に強く、プロジェクトの初期段階における貢献度が高いポジションです。
まとめ
今回は、システム開発における主要な役割について紹介しました。
システム開発には多様な役割があり、プロジェクトリーダーやシステムエンジニア、テスターなどが連携しながら進めていきます。
様々な役割について理解を深めることで、チームメンバーとうまく連携して円滑にプロジェクトを進めることができるでしょう。
また、キャリアの選択肢を拡げたり、自分のスキルセットの開発計画につなげたり、専門分野について深く掘り下げたりすることにもつながります。
システム開発に携わる方はぜひ本記事の内容を参考にしてみてください。