ITシステム開発にはどのような職種の人たちが関わっているか、その全体像を正確に把握するのは難しいと感じていませんか。
本記事では、プロジェクトを率いるPMやSEから、開発を担うプログラマー、システムの品質を守るQAエンジニア、使いやすさを追求するUI/UXデザイナーまで、開発に関わる主要な職種を全網羅。
それぞれの具体的な仕事内容と、開発工程における役割や関係性を分かりやすく解説し、複雑な開発チームの姿を明らかにします。
ITシステムの開発に関わる人たちの全体像と関係性

ITシステムやWebサービス、アプリケーションといった「ITの仕組み」は、決して一人の力だけで作られるものではありません。
それぞれ異なる専門知識やスキルを持ったプロフェッショナルたちが集まり、一つのチームとして協力し合うことで、初めて完成へと至ります。
この章では、複雑に見えるITシステム開発の全体像を掴むために、どのような人たちが、どのように関わり合っているのかを解説します。
開発プロジェクトは多くの専門家によるチームで進められる
システム開発プロジェクトは、さながら一つの建築プロジェクトのようです。
設計士が図面を引き、現場監督が全体を管理し、大工や電気工事士といった職人たちが実際に建物を組み上げていくように、ITシステム開発にも様々な役割が存在します。
それぞれの担当者が自分の役割を全うし、かつ他のメンバーと密に連携(コミュニケーション)を取ることで、プロジェクトは円滑に進行します。
まずは、システム開発に関わる主な登場人物と、その役割、そして誰と連携することが多いのかを表で見てみましょう。
各職種の詳しい仕事内容は、後の章で一つひとつ丁寧に解説していきます。
| 役割(職種) | ごく簡単な役割説明 | 主な連携相手 |
|---|---|---|
| プロジェクトマネージャー(PM) | プロジェクト全体の計画を立て、予算・品質・納期(QCD)を管理する総責任者。 | 顧客、経営層、開発チーム全員 |
| ITコンサルタント | 企業の経営課題をヒアリングし、ITを活用した解決策を提案する専門家。 | 顧客、経営層、プロジェクトマネージャー |
| システムエンジニア(SE) | 顧客の要望を整理し、システムの具体的な仕様や設計図(仕様書・設計書)を作成する。 | 顧客、プロジェクトマネージャー、プログラマー |
| プログラマー(PG) | システムエンジニアが作成した設計書に基づき、プログラミング言語を用いて実際にコードを書く。 | システムエンジニア、QAエンジニア |
| インフラエンジニア | システムが安定して稼働するためのサーバーやネットワークといった土台(インフラ)を構築・運用する。 | システムエンジニア、プログラマー |
| QAエンジニア(テストエンジニア) | 完成したシステムが設計通りに動くか、不具合(バグ)がないかをテストし、品質を保証する。 | プログラマー、システムエンジニア |
| Webデザイナー / UI/UXデザイナー | システムの見た目(UI)や、ユーザーの使いやすさ・満足度(UX)を設計・デザインする。 | プロジェクトマネージャー、システムエンジニア、顧客 |
このように、多くの専門家がそれぞれの持ち場で活躍し、互いに情報を共有しながら一つのゴールを目指していくのが、システム開発の基本的な姿です。
開発工程(フェーズ)ごとに活躍する人たちは異なる
システム開発は、一般的にいくつかの工程(フェーズ)に分かれて進められます。
そして、その工程ごとに中心となって活躍する人たちは変わっていきます。
ここでは、代表的な開発手法である「ウォーターフォールモデル」を例に、どの工程で誰が主役になるのかを見ていきましょう。
ウォーターフォールモデルとは、滝の水が上から下へ流れるように、企画、要件定義、設計、実装、テストといった工程を順番に進めていく開発手法です。
前の工程が完了しないと次に進めないのが特徴で、大規模なシステム開発でよく用いられます。
| 開発工程(フェーズ) | 主な作業内容 | 主に活躍する人たち |
|---|---|---|
| 企画・提案 | 顧客の課題は何か、どのようなシステムで解決できるかを考え、提案する。 | ITコンサルタント、プロジェクトマネージャー |
| 要件定義 | 顧客がシステムに求める機能や性能をヒアリングし、要件として具体的に文書化する。 | システムエンジニア、プロジェクトマネージャー |
| 設計(基本設計・詳細設計) | 要件定義をもとに、システムの全体構造や画面、機能の詳細な仕様を決め、設計書を作成する。 | システムエンジニア、インフラエンジニア、UI/UXデザイナー |
| 実装(プログラミング) | 詳細設計書に従って、プログラミング言語を使い、実際に動作するプログラムを作成する。 | プログラマー |
| テスト | 完成したプログラムが設計通りに正しく動作するか、様々な観点から検証し、品質を確認する。 | QAエンジニア、プログラマー、システムエンジニア |
| リリース・運用保守 | 完成したシステムを本番環境で公開し、稼働開始後の安定稼働を支えたり、問題発生時に対応したりする。 | インフラエンジニア、システムエンジニア |
この表を見ると、開発の初期段階である「上流工程」(企画〜設計)では顧客との対話や仕様策定が中心となり、後半の「下流工程」(実装〜テスト)では実際に手を動かしてモノづくりを進めていくことがわかります。
プロジェクト全体を通して、プロジェクトマネージャーは全ての工程に関わり、進捗を管理し続けます。
このように、システム開発は多様な専門家が、それぞれの得意なフェーズでバトンをつなぎながら進めていくリレーのようなものだとイメージすると、全体像が掴みやすくなるでしょう。
【上流工程】ITシステムの企画・設計に関わる人たち
ITシステムの開発は、まず「どのようなシステムを作るか」を決定する企画・設計フェーズから始まります。
この初期段階は「上流工程」と呼ばれ、プロジェクト全体の方向性を決定づける非常に重要なプロセスです。
ここでは、顧客の要望やビジネス上の課題を深く理解し、システムの全体像を描き出す専門家たちが活躍します。
彼らの仕事が、後続のすべての開発作業の土台となります。
プロジェクトマネージャー(PM) プロジェクトの総責任者
プロジェクトマネージャー(Project Manager、PM)は、その名の通りITシステム開発プロジェクト全体の管理と運営に責任を持つ総責任者です。
プロジェクトの目標達成に向けて、計画を立て、チームを率い、発生するあらゆる課題に対処します。
PMの力量がプロジェクトの成否を大きく左右すると言っても過言ではありません。
主な仕事内容は多岐にわたります。
- プロジェクト計画の策定:プロジェクトの目的を明確にし、必要な作業範囲(スコープ)、スケジュール、予算、品質目標などを具体的に定めた計画書を作成します。
- チームの編成と管理:プロジェクトに必要なスキルを持つエンジニアやデザイナーなどを集めてチームを編成し、各メンバーの役割分担やタスクの割り振りを行います。チームのモチベーションを維持し、円滑なコミュニケーションを促進することも重要な役割です。
- 進捗・課題管理:計画通りにプロジェクトが進行しているかを常に監視し、遅延や問題が発生した際には、その原因を分析して迅速に対策を講じます。
- 予算・品質管理:定められた予算内でプロジェクトを完遂できるようコストを管理します。また、成果物が顧客の要求する品質基準を満たしているかを管理・保証します。
- ステークホルダーとの調整:顧客(クライアント)はもちろん、社内の経営層や関連部署など、プロジェクトに関わるすべての人々(ステークホルダー)とのコミュニケーションを取り、報告や交渉、調整を行います。
PMには、マネジメント能力やリーダーシップ、高度なコミュニケーション能力、そしてITに関する幅広い知識が求められます。
ITコンサルタント 経営課題をITで解決する専門家
ITコンサルタントは、企業の経営層や事業部門が抱える課題に対し、ITを活用した解決策を提案する専門家です。
プロジェクトマネージャーが「プロジェクトを成功させること」をミッションとするのに対し、ITコンサルタントは「顧客のビジネスを成功させること」をミッションとしており、より経営的な視点からプロジェクトに関わります。
具体的な仕事内容は以下の通りです。
- 現状分析と課題の可視化:クライアントへのヒアリングや業務フローの分析を通じて、現状のビジネスにおける問題点や非効率な点を洗い出し、本質的な課題を明確にします。
- IT戦略の立案・提案:明確になった課題を解決するために、どのようなITシステムを導入すべきか、どのような業務改革が必要かといったIT戦略を立案します。その効果や投資対効果(ROI)を算出し、経営層にプレゼンテーションを行います。
- システム化構想の策定:提案が承認されると、新しいシステムの全体像や導入計画などを具体的に描く「システム化構想」を策定します。
- ベンダー選定の支援:システム開発を委託する開発会社(ベンダー)を選ぶ際に、クライアントの代理としてRFP(提案依頼書)を作成したり、各ベンダーからの提案を評価したりする支援も行います。
ITコンサルタントには、論理的思考力や問題解決能力に加え、経営や業務に関する深い知識、そして最新のITトレンドに対する知見が不可欠です。
システムエンジニア(SE) 顧客の要望を仕様に落とし込む設計者
システムエンジニア(System Engineer、SE)は、顧客の漠然とした「こんなシステムが欲しい」という要望を、誰が見ても分かる具体的な設計図(仕様書)に落とし込む役割を担います。
ITコンサルタントが描いた構想や、顧客からの直接のヒアリング内容をもとに、システムの機能や構造を技術的な観点から詳細に設計していく、まさに開発現場の司令塔です。
上流工程におけるSEの主な仕事は、大きく3つの設計フェーズに分かれています。
| 設計フェーズ | 目的 | 主な作業内容 | 主な作成ドキュメント |
|---|---|---|---|
| 要件定義 | 顧客の要望を整理し、システムが実現すべき機能や性能を明確にする | 顧客へのヒアリング、業務フローの分析、システムに必要な機能・非機能要件(性能、セキュリティなど)の洗い出し | 要件定義書 |
| 基本設計(外部設計) | 要件定義をもとに、ユーザーから見える部分(システムの振る舞い)を設計する | 画面レイアウト、帳票設計、操作方法の定義、データベースの論理設計など | 基本設計書(画面仕様書、機能一覧など) |
| 詳細設計(内部設計) | 基本設計をもとに、プログラマーが開発できるよう、システムの内部構造を設計する | プログラムの処理ロジック、機能ごとの分割(モジュール化)、データベースの物理設計など | 詳細設計書(クラス図、シーケンス図など) |
このように、SEは顧客と開発チームの間に立つ「橋渡し役」として、専門用語をかみ砕いて説明するコミュニケーション能力や、複雑な要求を整理して文書化するドキュメント作成能力が極めて重要になります。
もちろん、それを実現するためのプログラミングやインフラに関する幅広い技術知識も必須です。
【下流工程】ITシステムの構築・テストに関わる人たち

上流工程で作成された要件定義書や設計書に基づき、実際にシステムを動く形にしていくのが「下流工程」です。
ここでは、システムの根幹をなすプログラミングから、完成したシステムの品質を保証するテストまで、ものづくりの中心を担う専門家たちを紹介します。
彼らの緻密な作業なくして、ITシステムが世に出ることはありません。
プログラマー(PG) 設計書をもとにコードを書く開発者
仕事内容
プログラマー(PG)は、システムエンジニア(SE)が作成した詳細設計書を翻訳し、コンピューターが理解できるプログラミング言語でコードを記述する(コーディングする)専門職です。
まさに、システムの機能やサービスを具現化する役割を担っています。主な業務には、新規システムの開発はもちろん、既存システムの機能追加や改修、発見された不具合(バグ)の修正などが含まれます。
また、自身が作成したプログラムが設計書通りに正しく動作するかを確認する「単体テスト」もプログラマーの重要な仕事の一つです。
必要なスキル・知識
プロジェクトで使用されるプログラミング言語(Java, Python, PHP, Ruby, C#, JavaScriptなど)の深い知識が必須です。
また、開発効率を上げるためのフレームワーク(Ruby on Rails, Laravel, Reactなど)やライブラリに関する知識も求められます。
データベース(MySQL, PostgreSQLなど)を操作するためのSQLの知識や、Gitなどのバージョン管理システムの利用経験も現代の開発では不可欠です。
設計書を正確に読み解く読解力と、エラーの原因を突き止めるための論理的思考力、問題解決能力が成功の鍵を握ります。
キャリアパス
プログラマーとして数年間経験を積んだ後、要件定義や設計といった上流工程に携わるシステムエンジニア(SE)へとステップアップするのが一般的なキャリアパスです。
一方で、特定のプログラミング言語や技術領域を極め、チームの技術的な課題を解決するテックリードや、システム全体の技術構成を設計するITアーキテクトといったスペシャリストの道に進む人もいます。
インフラエンジニア システムが動く土台を構築する技術者
仕事内容
インフラエンジニアは、アプリケーションやソフトウェアが安定して稼働するためのIT基盤(インフラストラクチャ)を設計、構築、運用、保守する技術者です。
サーバーやネットワーク、OS、ミドルウェア(Webサーバーやデータベース管理システムなど)といった、ユーザーの目には直接触れない部分を担当し、システムの安定稼働を24時間365日支える「縁の下の力持ち」と言える存在です。
障害発生時には迅速な原因究明と復旧作業が求められます。
近年では、AWS(Amazon Web Services)やMicrosoft Azure、GCP(Google Cloud Platform)といったパブリッククラウドサービスを利用してインフラを構築する「クラウドエンジニア」としての役割が急増しています。
専門分野による分類
インフラエンジニアは、その専門領域によっていくつかの職種に分かれます。
- サーバーエンジニア: 物理サーバーや仮想サーバーの構築、OS(Linux, Windows Serverなど)のインストールと設定、運用管理を担当します。
- ネットワークエンジニア: ルーターやスイッチなどのネットワーク機器を設計・設定し、セキュアで高速な通信環境を構築・維持します。
- クラウドエンジニア: AWS、Azure、GCPなどのクラウドプラットフォーム上で、仮想サーバーやデータベース、ネットワークなどのインフラをコードで管理(Infrastructure as Code)し、構築・運用します。
- セキュリティエンジニア: ファイアウォールの設定や不正アクセス監視など、サイバー攻撃からシステムを守るためのセキュリティ対策を専門に行います。
必要なスキル・知識
サーバー(Linux, Windows Serverなど)、ネットワーク(TCP/IPなど)、データベースに関する幅広い知識が基礎となります。
特にクラウドが主流の現代では、AWS、Azure、GCPといった主要なクラウドサービスに関する深い知識と構築・運用経験は必須スキルとなりつつあります。
また、セキュリティに関する知識や、シェルスクリプトやPythonなどを用いた運用の自動化スキルも高く評価されます。
QAエンジニア(テストエンジニア) システムの品質を保証する最後の砦
仕事内容
QAエンジニア(Quality Assurance Engineer)は、開発されたシステムが顧客の要求を満たしているか、仕様書通りに動作するかを検証し、品質を保証する専門家です。
「テストエンジニア」とも呼ばれます。主な業務は、テスト計画の立案から始まり、テストケース(どのような手順で何を確認するかをまとめたもの)の設計・作成、テストの実施、発見した不具合(バグ)の報告と分析、修正後の再テストまで、品質保証に関わる一連のプロセスを担います。
単にバグを見つけるだけでなく、ユーザー視点で「使いにくい」「分かりにくい」といったユーザビリティの問題点を指摘し、製品全体の価値向上に貢献することも重要な役割です。
主なテストの種類
システムの品質を保証するため、開発フェーズに応じて様々な種類のテストが行われます。
| テストの種類 | 目的 | 主な担当者 |
|---|---|---|
| 単体テスト(ユニットテスト) | 関数やメソッドなど、プログラムの最小単位が個々に正しく動作することを確認する。 | プログラマー |
| 結合テスト | 複数のモジュール(部品)を組み合わせた際に、連携部分が正しく動作することを確認する。 | プログラマー、QAエンジニア |
| システムテスト(総合テスト) | 開発したシステム全体が、要件定義や設計書で定められた機能や性能を満たしているかを確認する。 | QAエンジニア |
| 受け入れテスト | システムを発注した顧客(ユーザー)が、実際の業務で利用できるか最終確認を行う。 | 顧客、プロジェクトマネージャー |
必要なスキル・知識
ソフトウェアテストに関する体系的な知識が不可欠であり、国際的な認定資格であるJSTQBの知識は評価の対象となります。
同値分割法や境界値分析といったテスト設計技法を習得している必要があります。
近年では、テストの効率化・高速化のために、SeleniumやCypressといったツールを用いたテスト自動化のスキルも重要視されています。
開発プロセスや品質管理に関する知識に加え、細かな不具合も見逃さない注意力や、バグの発生原因を論理的に推測する能力が求められます。
【デザイン】システムの見た目と使いやすさに関わる人たち
ITシステムの開発において、機能や性能と同じくらい重要視されるのが「デザイン」です。ここで言うデザインとは、単に見た目の美しさだけを指すのではありません。
ユーザーがシステムを「直感的に理解し、快適に操作できるか」という使いやすさ(ユーザビリティ)や、「このシステムを使って良かった」と感じる満足度(ユーザー体験)までを含みます。
ビジネスの成功に直結するこのデザイン領域を専門に担う人たちを紹介します。
Webデザイナー ユーザーの目を引くビジュアルを作成
Webデザイナーは、Webサイトやアプリケーションの見た目、つまりビジュアルデザイン全般を担当する職種です。
クライアントの要望やブランドイメージ、ターゲットユーザー層などを考慮しながら、魅力的で分かりやすいデザインを創り出します。
主な仕事内容は、Webサイト全体のレイアウト設計、色彩計画、ロゴやアイコン、バナーといったグラフィック要素の作成など多岐にわたります。
Adobe PhotoshopやIllustrator、Figmaといったデザインツールを駆使して、Webページの「顔」を作り上げていきます。
近年では、デザインを作成するだけでなく、HTMLやCSS、JavaScriptといった言語を用いて、デザインをWebブラウザ上で実際に表示させるためのコーディング(実装)まで担当するWebデザイナーも増えています。
プロジェクトにおいては、プロジェクトマネージャーやディレクターからサイトのコンセプトや要件をヒアリングし、それを具体的なデザインに落とし込みます。
完成したデザインは、プログラマーやフロントエンドエンジニアに引き継がれ、システムへの組み込みが行われます。
UI/UXデザイナー ユーザーにとっての最高の体験を設計
近年、ITシステムの開発で特に重要性が高まっているのがUI/UXデザイナーです。
この2つは密接に関連していますが、それぞれ専門領域が異なります。UIは「接点」、UXは「体験」と覚えると分かりやすいでしょう。
UI(ユーザーインターフェース)デザインとは
UIは「User Interface(ユーザーインターフェース)」の略で、ユーザーが製品やサービスと接するすべての部分を指します。
Webサイトで言えば、画面に表示されるボタンの形や色、文字のフォントや大きさ、入力フォームなど、ユーザーが直接見たり触れたりする部分すべてがUIです。
UIデザイナーの仕事は、これらのUIを「分かりやすく、使いやすく」設計することです。
ユーザーが迷うことなく、直感的に操作できる画面を設計することがミッションとなります。
UX(ユーザーエクスペリエンス)デザインとは
UXは「User Experience(ユーザーエクスペリエンス)」の略で、「ユーザー体験」と訳されます。
システムを利用する前、利用している最中、利用した後にユーザーが感じる「使いやすい」「楽しい」「また使いたい」といった感情や印象を含めた、すべての体験を指します。
UXデザイナーの仕事は、ユーザーにとって最高の体験を設計することです。
そのために、ユーザーへのインタビューやアンケート調査、データ分析などを行い、ユーザーが本当に求めていることや抱えている課題を深く理解します。
そして、その課題を解決するための情報設計や機能の流れ(動線設計)を考え、プロトタイプ(試作品)を作成し、テストと改善を繰り返しながら、製品やサービスの価値を高めていきます。
WebデザイナーとUI/UXデザイナーの違い
WebデザイナーとUI/UXデザイナーの役割は重なる部分もありますが、その専門性と目的には明確な違いがあります。
以下の表でそれぞれの特徴を整理しました。
| 比較項目 | Webデザイナー | UI/UXデザイナー |
|---|---|---|
| 主な役割 | Webサイトの視覚的なデザインを作成する。ブランドイメージや美観を重視する。 | ユーザーの体験全体を設計する。使いやすさや課題解決を重視する。 |
| 重視する点 | ビジュアルの魅力、情報の見やすさ、ブランディング | ユーザーの課題解決、操作のしやすさ、目標達成の容易さ、満足度 |
| 主な成果物 | デザインカンプ、画像素材、HTML/CSSコードなど | ペルソナ、カスタマージャーニーマップ、ワイヤーフレーム、プロトタイプなど |
| 仕事のプロセス | 要件定義に基づき、ビジュアルデザインを作成・実装する。 | ユーザー調査・分析から始まり、設計、テスト、改善のサイクルを回す。 |
もちろん、企業やプロジェクトの規模によっては、一人のデザイナーがこれらの役割を兼任することも少なくありません。
しかし、ユーザー中心の考え方がビジネスの成果を大きく左右する現代において、特にUXデザインの専門性は、ITシステム開発に不可欠な要素となっています。
まとめ
本記事では、ITシステム開発に関わる様々な職種とその仕事内容を解説しました。
プロジェクトを統括するPM、設計を担うSE、実装するプログラマー、品質を守るQAエンジニア、そして体験をデザインするUI/UXデザイナーなど、多くの専門家が協力し合っています。
このように、一つのシステムは多様なプロフェッショナルのチームプレイによって初めて完成します。
それぞれの役割を理解することが、円滑なプロジェクト推進の鍵となるのです。

