PHPシステム開発の発注先を選ぶ6つのポイント。絶対失敗できないからこそ知っておきたい!|東京のWEB制作会社・ホームページ制作会社|株式会社GIG
BLOG
ブログ
PHPシステム開発の発注先を選ぶ6つのポイント。絶対失敗できないからこそ知っておきたい!
2021-06-10 制作・開発
PHPは、Webサイトのサーバーサイド言語としてはトップの使用率を誇り、いまや多くのWeb開発に使われています(参考:Webサイトのサーバー側プログラミング言語の使用統計)。PHPでシステム開発を行なっている制作会社も多く、発注先候補も無数に存在します。
PHPではさまざまなWebアプリケーションを開発できるため、システム開発会社によって得意な分野も大きく変わります。発注先を間違えると、意図したものができなかったり、余計なコストがかかったりする可能性も。システム開発は決して安くないため、絶対に失敗できませんよね。
そこで今回は、PHPの開発を発注する際の、発注先の選び方について紹介します。事業の目的やサービスの内容を考えた上で、適切な発注先を選びましょう。
PHPの開発でできること
PHPは、Web系アプリケーションの開発に向いている言語です。ユーザーが入力した情報によって表示内容が変わる、動的なサイトの制作を得意としています。そのためPHPを使用すれば、「お問い合わせフォーム」や「ショッピングカート」といった機能を実装できるのです。
このようなPHPの特性を活かすと、以下のようなサービス・システムの開発ができます。
- ECサイト
- SNSサイト
- マッチングシステム
- 会員制CMS
- 予約システム
- 社内管理システム
PHPは、上記のようなWebサイトやWebサービスの開発でよく使用されています。FacebookのようなSNSや飲食店/旅行などの予約サイト、ECサイト、求人サイトなどが代表的な例です。
普段、私たちが利用しているサービスにも、PHPで作られたものは数多くあります。Web制作のさまざまな場面で利用できる汎用性の高さが特徴です。
PHPシステム開発の発注先を選ぶ6つのポイント
PHPシステム開発に対応するシステム開発会社が多いことはすでに触れましたが、実際にどのような点を比較して発注先を選べばよいのでしょうか。
ここでは、発注先を選ぶ際の6つのポイントについて解説します。
ポイント1. PHPでの開発実績が豊富か
PHPでの開発実績が豊富かどうかは、わかりやすい判断基準の一つです。ほとんどのシステム開発会社は、公式サイトに過去の実績を公開しています。
また実績を確認する際は、分野ごとの開発経験の豊富さも見るのがポイント。PHPはさまざまなWeb系の制作ができるため、会社によっては経験が偏っている場合があります。
担当したのが社内管理システムか、Webサービスか、同じWebサービスでもマッチングサービスか、予約管理サービスかといった違いで、必要なノウハウは変わります。同じ分野の開発経験が豊富であれば、トラブルの可能性も少なくスムーズに開発が進むでしょう。
ポイント2. 発注先の得意分野とマッチしているか
システム開発会社によって、得意/不得意な分野があります。サービスによって求められる機能も変わるため、それを実現できる技術力がある会社を選ぶ必要があります。発注先の得意分野であれば、発注したものを高いクオリティで実現してくれるでしょう。
また同じPHPでも、フレームワークによる違いがあります。開発スピードが速いCakePHPや、柔軟性の高いLaravelなど、特徴はさまざまです。会社によっては、得意/不得意なフレームワークがある可能性も考えましょう。
技術力以外の部分でも、会社によって特色が違います。たとえば価格重視の会社もあれば、手厚いサポートを売りにしている会社、高い技術力が自慢の会社もあります。そのような部分も希望にマッチしているか確認しておきましょう。
ポイント3. セキュリティ対策への意識が高いか
システム開発でとくに気をつける必要があるのは、機密情報の取り扱いです。もし情報漏洩などがあった場合は、自社が大きなダメージを負います。
開発段階の情報管理の仕方や、サービス運用後のセキュリティ面について、しっかりシステム開発会社と詰めておきましょう。
サービスの運用が始まったら、自社の機密情報や社員の情報、顧客情報を取り扱う可能性があります。セキュリティ対策が甘いと大きなトラブルの原因になるため、セキュリティ対策のしっかりしたシステム開発会社を選ぶ必要があります。
ポイント4. 開発手法がパッケージか、フルスクラッチか
ソフトウェア開発には、大きく分けて「パッケージ」と「フルスクラッチ」という二つの開発手法があります。
「パッケージ」は、既存のシステムを利用して開発する手法です。開発スピードが速く、コストも抑えられるメリットがあります。しかしカスタマイズ性が低く、他社と差別化しづらい点がデメリットです。
「フルスクラッチ」は、オリジナルのシステムを一から開発する手法です。独自の機能を付けたり、オリジナリティの高い開発ができます。ただし、開発期間が長くなったり、費用が高くなったりする点がデメリットです。
どちらの手法をメインに採用しているか、どちらを得意としているかは会社によって異なるので、この点も意識しましょう。
パッケージにない独自の機能を付けたいなど、こだわりがあればフルスクラッチがよいでしょう。逆にパッケージで対応できる内容なら、パッケージを採用すればコストは抑えられます。
ポイント5. 自社で開発しているか
システム開発会社によっては、開発のほとんどを下請けに投げている場合もあります。いわゆる多重下請け構造になっていないかは確認したいポイントです。多重下請け構造になっている場合、以下のようなデメリットが考えられます。
- 費用が余計にかかる
- 制作の意図が正しく伝わらない
- 対応が遅い
下請けに投げている分、余計な費用がかかります。また、小さなバグや不具合の修正でも、対応に長い時間がかかるでしょう。発注側からしたら大きなデメリットです。
部分的に下請けに任せる程度なら目をつぶれますが、開発をほとんど丸投げするような会社は避けることをおすすめします。外からではなかなか分かりにくいですが、資料や実績などから会社の技術力をよく分析してみましょう。
ポイント6. 保守運用まで行っているか
サービスをリリースした後、システム開発会社が保守運用までサポートしているかも確認しましょう。会社によっては、保守運用まではサポートしていない場合もあります。
自社に専門的な技術者がいない場合は、保守運用まで任せられる外注先を選んだほうがよいでしょう。セキュリティの問題やトラブルの対応、更新作業に手間がかかるため、プロに任せてしまったほうが安心です。
ただし、保守運用まで任せるとランニングコストが大きくなります。あらかじめ、保守運用まで任せることを視野に入れた予算の編成が必要になるので気をつけてください。
PHP開発を発注する流れ
PHP開発を発注する際の流れは、おおよそ以下の通りです。
- ヒアリング・提案
- 設計・要件定義
- システム開発
- 保守・運用
開発担当者は、基本的なシステム開発の流れを把握しておきましょう。流れを把握してシステム開発会社と密にコミュニケーションを取ることで、発注の漏れや不具合などを未然に防げます。
ステップ1. ヒアリング、提案
まずはシステム開発会社側がヒアリングを実施し、事業の背景や目的、開発するシステムの内容などを把握します。現場ではスケジュールや予算、ターゲットなどを細かく伝え、認識のずれがないようにすり合わせるのが大切です。
その後、発注者側はRFP(提案依頼書)に必要な情報をまとめ、開発側に提出します。この時点で伝え漏れがあると、意図したものができなかったり不具合が出たりする可能性があります。すると後の工程に大きく影響するため、開発期間が延びて無駄なコストが発生するかもしれません。
ステップ2. 設計、要件定義
ヒアリングした内容をもとに、具体的な内容を仕様書に落とし込んでいくことを要件定義といいます。要件定義をして仕様書・設計書を作り、これらをもとに開発を進めます。
設計の段階ではエンジニアも参加し、外部設計や内部設計、画面設計などをそれぞれ作成します。そのあとはさらに細かく、プログラムやデータベースに関する詳細を設計するのが一般的です。
ステップ3. システム開発
設計や要件定義が終わると、設計書をもとに、エンジニアが実際にシステム開発を進めていきます。発注者は開発が進むまで待ちましょう。しかし、想定していなかった不具合の発生や仕様の確認が必要な場合もあるため、外注先の質問にはすぐ対応できるようにしましょう。
一通りシステムが完成し、開発側のテストが終わった段階で、発注者側でもテストを行います。発注通りに動くか、エラーが出ないか、他のシステムと連携できるかなど、なるべく本番に近い形でテストするのが大切です。
問題があった場合は修正・改良をしたあと、再度テストを実施。問題がなければ開発側が納品して、サーバーや各種端末の設定などを行ったら開発は完了です。
ステップ4. 保守運用
開発が終わっても、システムを放置するわけにはいきません。その後もシステムのアップデートやセキュリティ対策、トラブルの対応など、保守運用を続ける必要があります。
システム開発会社に保守運用も任せている場合は、自社の手間を最小限に抑えることができます。自社に技術者がいない場合は、システム開発会社に任せたほうが安心でしょう。
また、ある程度自社で保守運用をしていく場合でも、システム開発会社に頼る場面が出てくる可能性はあります。機能の追加やエラーの対応、OSのアップデート、法改正への対応など、自社では難しいタスクも多いからです。そのため、今後も付き合いがあることを前提に外注先を選びましょう。
PHPの開発を発注する際の注意点
自社で内製するよりは簡単なシステム開発の発注ですが、もちろん注意点もあります。とくに、「発注したから」といって開発を完全に丸投げしてしまうと、大きな失敗に繋がりかねません。完全丸投げによって発生するリスクは以下の通りです。
注意点1. 希望通りのシステムができない
システム開発会社は開発のプロですが、自社サービスのプロではありません。そのため、開発を完全に丸投げすると、自社のビジネスに最適なシステムが完成しないリスクがあります。
開発のプロが最大限力を発揮できるように、自社の希望などはしっかりと伝えましょう。ただし、開発に関する専門分野に口を出しすぎると、かえってシステムの出来が悪くなるリスクもあるので注意が必要です。
注意点2. スケジュールが遅延する
システム開発会社に丸投げし、進捗状況などを適宜確認しない場合、知らない間に開発が遅れていたという事態も起こり得ます。発注側も制作スケジュールを把握しておけば、トラブルが発生した際に素早く対応できるでしょう。
また、新規のシステム開発ではなく、古いシステムを置き換える場合は不具合が出る可能性もあります。トラブルが発生しやすいので、スケジュールには余裕をもたせましょう。
PHP開発を発注する費用相場
PHP開発の発注費用は、数十万~1,000万円以上と内容によって大きく差があります。例えばWebアプリケーションの開発なら、およそ300万程度が必要になります。
しかし、社員向けのSNS型コミュニティサイトや、求人のためのマッチングサイトなどを一からオリジナルで作るとなると、1,000万円を超えることも多くなります。一方、シンプルなWebサイトを既存のCMSで構築する場合は、100万円以下で収まる場合も。
基本機能だけで制作できれば安く済みますが、必要な機能が増えていくと費用は高くなっていきます。
ただし、機能を削りすぎて希望が全く実現しないシステムになっては本末転倒ですし、逆に機能を盛りすぎても費用が上がりすぎたり、使い勝手が悪くなったりします。必要十分な機能を揃えるために、開発側とよく相談しましょう。
GIGのPHP開発実績
GIGでは、クライアントの要望に応じて幅広い対応をしております。ユーザーのニーズに沿ったWebサイトやコンテンツ管理システムなどの開発が可能です。
その一例として、以下ではGIGが実際に行ったPHP(Laravel)の開発事例をご紹介します。
事例1. 国立研究開発法人 科学技術振興機構様
国立の研究機関である科学技術復興機構様は、一般ユーザー向けに科学技術専門の総合Webメディア・ポータルサイト『サイエンスポータル』を展開されています。メディア運用効率化やセキュリティ向上、インフラ構築など技術面において、トータルでサポートを行いました。
内部SEO施策や、コンテンツへ直接流入したユーザーの回避率を上げるためのWebサイト開発を実現しています。
事例2. Wiz様
Wiz様はITと営業をかけ合わせた、急成長中の総合商社です。そんなWiz様の事業を支える、膨大な顧客情報や商談情報などを1つのデータベースに統合するシステムの開発を行いました。
全体のハブになるような統合データベースを開発することで、最適なタイミングで営業アプローチをかける基盤を整えられました。
PHP開発を外注するならGIGへ
GIGでは、PHP(Laravel)でのシステム開発を中心に行っています。イベント管理システムやユーザー管理システムのような情報管理システムの開発。その他、マッチングサービスやECサイトのシステムなど、Webサービスの開発も承っています。
Laravelをベースとしたシステム開発では、採用活動を支援する求人サービスや不動産紹介のサービスサイトの制作、膨大なデータを活用した大規模CRMの開発プロジェクトなどにも取り組んできました。
PHPではWeb系のサービス・システムを幅広く開発できるため、業務におけるさまざまな課題を解決できるでしょう。ユーザー情報をデータベースで管理したり、メディアサイトを構築して見込み客を確保したりと、目的に応じて最適なシステムを開発します。
また、運用開始後のシステム保守やマーケティング支援といった運用・保守に関しても、手厚いサポートを行っています。
PHP開発の外注を考えている方は、ぜひお気軽にご相談ください。
WebやDXで困っている方、お気軽にご相談ください
GIG BLOG編集部
株式会社GIGのメンバーによって構成される編集部。GIG社員のインタビューや、GIGで行われたイベントのレポート、その他GIGにかかわるさまざまな情報をお届けします。