一口にエンジニアといっても、全員が「プログラマ」としてシステムの実装を行うわけではありません。プロジェクトを管理する「プロジェクトマネージャ」やシステムの設計を担当する「システムエンジニア」等、プロジェクト毎に役割があり、担当領域は異なります。
更に、「データベースエンジニア」、「サーバーエンジニア」等、分野ごとに専門的な知識を持つエンジニアもいます。
この記事では、開発体制やその中での役割、エンジニアの種類を知りたい方に向けて、一般的な開発体制と担当者の役割、各分野ごとのエンジニアに関して大まかに説明します。
システム開発の体制
ここでは、代表的な開発モデル「ウォーターフォールモデル」においてのプロジェクトの体制に関して解説します。
プロジェクトオーナーからツリー状に広がっていくイメージです。
- プロジェクトオーナー(PO)
- プロジェクトマネージャ(PM)
- プロジェクトリーダー(PL)
- システムエンジニア(SE)
- プログラマ(PG)
続いて体制の中の役割がどのような説明いたします。
開発体制の中の役割
プロジェクトオーナー(PO)
システム開発の発注者、プロジェクトの所有者になります。
プロジェクトにおいての重大な意思決定権、決済の承認権を有しています。
プロジェクトマネージャ(PM)
プロジェクトや成果物に対する責任者になります。
プロジェクトを円滑に遂行できるようにスケジュールや進捗の調整を行ったり、管理を行います。クライアントや責任者とやり取りを行うのもプロジェクトマネージャになります。
プロジェクトリーダー(PL)
プロジェクトマネージャが外部とのやり取りを行いプロジェクト全体の計画をする元で、実際に開発を実行し、担当領域を総括するのがプロジェクトリーダーになります。
現場の実行責任はプロジェクトリーダーに置かれます。
システムエンジニア(SE)
システムの設計者です。要件定義・設計を担当し、設計書や仕様書の作成を行います。
プログラマ(PG)などのエンジニア
システムエンジニアの作成した設計書や仕様書を元に、実際にシステムの実装やテストなどを行うのがプログラマをはじめとるするエンジニアです。
開発モデルによる開発体制
ここでは、「ウォーターフォールモデル」での一般的な体制と役割を説明いたしました。
しかし、開発モデルによって開発体制は異なります。例えば、アジャイル開発では「スクラム開発」という手法が用いられることがあります。
開発モデルに関しては下記記事で説明しています。
システム開発を依頼する際に「どのくらいの期間で完了するのだろう」「機能ごとに小分けして素早くリリースしたい」等スケジュール感が気になる発注者も多いかと思います。 ですが、システムの開発期間というのは一律にはなっておらず、規模や開発する[…]
専門分野ごとのエンジニアの種類
開発には分野毎に専門知識が必要になります。そのため、下記の分野それぞれに応じて専門エンジニアが各領域を担当します。
- プログラマ
- データベースエンジニア
- サーバーエンジニア
- ネットワークエンジニア
プログラマ
主に「Java」「PHP」等のプログラミング言語の知識が必要になります。
データベースエンジニア
主にデータベースの問い合わせ言語「SQL」の知識が必要になります。
サーバーエンジニア
主に「Linux」や「Windows Server」等のサーバーOSの知識が必要になります。
ネットワークエンジニア
コンピューター機器そのものの知識やセキュリティの知識が求められます。
開発体制、エンジニアの種類に関して
システム開発の体制、各担当分野に関して大まかに解説いたしました。
- 一般的な開発モデル「ウォーターフォールモデル」では、プロジェクトマネージャーが全体を管理し、プロジェクトリーダーが各分野を総括し、システムエンジニア・プログラマが実際の開発を行う。
- 専門分野ごとに、知識を持ったエンジニアが存在する。
メディアファイブには、各専門知識を備えたエンジニアが多数在籍しております。
特にデータベースエンジニアに関しては多数の資格保有者が在籍しております。システムの品質はもちろん、継続的なパフォーマンスにも配慮したシステムをご提供させていただきます。
このページではシステム開発の発注を検討されている方に向けて、依頼先の会社に必要な技能に関して大まかに説明します。 システム開発に必要な技能 システム開発のプロジェクトを成功させるには、複数の技能の要因があります。 その中でも、主に下記[…]
詳しくはこちら