- 更新日 2024.10.17
- カテゴリー システム開発
サービス開発とは?仕組みや工程、必要なスキルや費用も解説【2024年最新版】
ゲームやコミュニケーションアプリなど何かしらのサービスを開発すると決まった担当者の方へ。自社のノウハウやリソースで実現可能か分からず、開発手順や必要なスキルを知りたいという方も多いかと思います。
・Webサービスの開発工程(手順)は?
・どんなスキルが必要?
・開発費用はどれぐらいかかる?
本記事では、サービス開発を行う予定の企業の担当者に、Webサービスの開発工程や必要なスキル、費用相場などを解説します。最後まで読めば、サービス開発を行うべきかの判断材料を得られて、企画書・社内稟議書の作成に役立ちますので、ぜひご覧ください。
※サービス開発を外注するか迷っている方はシステム幹事にご相談ください。予算や目的から最適な開発会社を紹介します。相談料などは一切かかりません。「まずは相場情報を知りたい」という方でも大歓迎です。
サービス開発とは?
「サービス開発」は「Webサービス開発」「ITサービス」と同じ意味で使われている場合が多く、ブラウザを使ってインターネットにアクセスして利用できるサービスを開発することを指します。広義の意味ではWebアプリの開発も含みます。
サービス開発の例
種類 |
特徴 |
具体例 |
---|---|---|
コミュニケーション |
掲示板やチャット機能で コミュニケーションを取ったり 情報交換ができるサービス |
・Chatwork |
サブスクサービス |
月額課金・定額制のサービス。 |
・Netflix ・Amazonプライム ・楽天マガジン ※ |
マッチングサービス |
検索によりマッチする相手やサービスを探し、 結びつけるサービス |
・メルカリ ・システム幹事 |
決済サービス |
データの送受信により |
・LINE Pay ・PayPay ・楽天ペイ |
業務効率化サービス |
業務の生産性を上げるのに役立つサービス |
・Googleカレンダー ・Trello ・Zoom |
※ダウンロードした音楽や動画に関してはオフラインでも視聴可能
説明だけではイメージがつきづらいかもしれないので、上の表に身近な具体例をまとめました。
たとえば当サイトであるシステム幹事も、システムやアプリ開発の相談・依頼ができる点でマッチングができるWebサービスといえます。
「サービス開発」と「システム開発」の違い
概要 |
|
---|---|
サービス開発 |
インターネットにアクセスして利用するシステムやアプリ 例:SNS、ネトショップ、チャットツールなど |
システム開発 |
スマホアプリなどインターネットの通信なし(オフライン)でも 使えるシステムやアプリも含む 例:家庭用ゲーム機、カーナビなども含む |
「サービス開発」と混同しやすい言葉に「システム開発」があります。開発時に社内や外注先とやり取りする上で理解しておいたほうが良いかと思いますので、言葉の定義を解説しておきます。
システム開発は、インターネットを介して使うサービスに加え、オフラインで使えるサービスも含みます。例えば、家庭用ゲーム機、iPhoneやGoogle Pixel などのスマートフォンの本体、会社で使うコピー機を作ることもシステム開発に含まれます。
サービス開発は、システム開発のうち、インターネットを通じて使うシステムやアプリ、つまり「Webサービス」「ITサービス」を開発することと覚えてください。
関連記事:システム開発とは?発注者向けに工程・費用・言語など解説
スマートフォンのアプリ化する場合
なお、Webサービスではなく、スマートフォンのアプリとして開発したい場合は、Webサービスの約1.5倍の開発費用と工数がかかります。
また、開発したあとはApple StoreやGoogle Payなどのストアに申請し、基準をクリアしないとリリースできません。
アプリ化することでスマホのホーム画面から簡単にアクセスできたり、通知機能が使えるなど操作性が高くなるメリットはありますが、Webサービスよりも開発費用と工数がかかる点は押さえておくと良いでしょう。
Webサービスの仕組み
Webサービスは、クライアント(パソコンやタブレットといった『端末』のこと)から送られた要望をサーバー(データが入ったマシン)が処理してWebブラウザに表示をさせます。この「要望」を「リクエスト」、サーバーが処理して返した「結果」を「レスポンス」といいます。
たとえばシステム幹事を閲覧したい人がインターネットブラウザ上で「システム幹事」と検索したとしましょう。このときの動作の流れは以下の通りです。
①クライアントが「システム幹事のサイトを探したい」とサーバーにリクエストを送る
②サーバーがリクエストを受信して「検索結果を返す」というレスポンスをする
③レスポンスがブラウザで処理され、「システム幹事の検索結果」が表示される
このときユーザーに表示されるWebブラウザ側を「フロントエンド」、サーバーやデータベースなどのレスポンスを受信して処理する側を「バックエンド」といいます。
サービス開発の工程
サービス開発の工程を説明します。社内のエンジニアに依頼する場合も外注する場合も開発の流れは基本的に同じです。
①依頼準備
まずは、どんなWebサービスを開発したいのか詳細を固めます。以下のような内容を企画書にして落とし込みましょう。
・現状の課題とゴール
・想定するターゲット
・必要な機能
企画書が完成したら、エンジニアに共有するRFP(提案依頼書)も作りましょう。RFPは、エンジニアに見積もりや提案をしてもらうための依頼書。RFPを作成しておくことで、Webサービスを開発する目的を明確化し、抜けモレなくサービスに関する情報を共有できます。下記がRFPに記載する項目の例です。
概要 |
開発の背景、目的、解決したい課題、得たい効果 会社・組織の概要、Webサービスの利用者、開発の予算 |
---|---|
提案依頼事項 |
性能、品質、運用条件、納期スケジュール 納品条件、定例条件、開発体制、プロジェクト管理方法 開発言語、開発手法、現行システムからの移行方法、費用見積もり |
提案手続き |
提案依頼書に対する窓口(※)、提供資料、選定方法 |
開発の条件 |
開発期間、作業場所、開発に使うコンピュータ機器、資料 |
契約事項 |
支払い条件(※)、保証年数(※)、機密事項(※)、著作権(※) |
※サービス開発を外注する場合
RFPの作り方の詳細は、以下の記事を参考にしてください。
関連記事:RFPとは?システム開発の質を高める提案依頼書の作り方を解説!【サンプルあり】
外注する場合は契約に注意
Webサービスの開発を外注する場合、発注時に契約書を締結します。開発対象の機能の定義が曖昧だったことで追加費用の要否が争点になるなど、契約内容が起因でトラブルが起こるケースも少なくありません。作業範囲や保証内容、納品日などを明確にしておきましょう。
以下の記事にて、契約が原因で起こるトラブルを避けるための、注意点・チェックポイントを詳しく解説しています。
関連記事:システム開発の契約とは?契約形態・契約書の注意点を解説!
②要件定義
要件定義とは、作りたいWebサービスを実現するために必要な機能などを明確にする作業です。以下のような項目を決めます。
・必要な機能
・用いられる技術
・スケジュール(納期)
・必要な人員(工数)
主にエンジニアや開発会社の主導で行われますが、要件定義はプロジェクトの成否を左右するもっとも重要な工程。サービス開発の失敗の原因の多くも、綿密に要件定義を詰めていなかったことで起きています。必ず納得いくまで打ち合わせを重ねて要件を明確にしてください。
要件定義の詳細は、以下の記事をご覧ください。具体的にどんなことを決めるのか、どう進めるのかなどを詳しく解説しています。
関連記事:システム開発の要件定義とは?重要性や進め方を解説!
③設計
続いて、要件定義をもとにシステムに実装する機能や必要なデータなどを明確化する2つの「設計」を行います。
・基本設計…Webサービスの機能・構成などの基本的な仕様をまとめる
・詳細設計…Webサービスに必要な機能の内部仕様を詳細に定義する
基本設計では、要件定義書をもとにシステムの機能やレイアウトなどを決定します。基本設計のあとはWebサービス内部の設計書を作成する「詳細設計」。設計図が完成したら、開発の工程へと進みます。
詳細設計はプログラマー向けの設計書を作るので、依頼する担当者は関わりませんが、基本設計は依頼する側がサービス開発の開始前に関われる最後の工程です。要件定義と並んで重要な部分なので、理解しておいてください。
関連記事:システム開発の基本設計とは?重要性・発注者としての関わり方を解説!
④開発
・HTML
・CSS
・JavaScript
・Java
・PHP
・Ruby
・Python
詳細設計書を元に、プログラマーがWebサービスの開発(プログラミング)をおこないます。上記のような様々な言語にもとづいてプログラムの記述(コーディング)をしていきます。
関連記事:Webシステム開発によく使われるプログラミング言語とは?
⑤テスト
単体テスト |
画面や機能ごとに、動作の検証をする |
---|---|
結合テスト |
他の機能やシステムと連携させて、動作の検証をする |
総合テスト |
本運用を想定して、システム全体の動作を検証する |
受け入れテスト |
要求通りの機能・操作性になっているか検証する |
続いて、バグがないか、欠陥はないかなどのテストを実施します。もしテスト段階でバグや欠陥が見つかった場合は、開発チームが修正して再テストを行い、実装レベルまで達しているかを確認します。最後に依頼側が行うのが受け入れテスト。その他のテストはエンジニアやプログラマーなどが行います。
上の図はV字モデルと呼ばれ、開発工程をV字に置き換えたものです。要件定義で決めた内容が正しく実装されているかは、隣の総合テストで検証します。詳細設計の内容を検証するのは単体テスト。このように、それぞれ各工程の内容を検証するテストを行います。
関連記事:システム開発のテスト工程を徹底解説!
⑥完成~運用保守
サービスが完成したら、あとはインターネット上へ公開するだけ。いよいよ運用のスタートです。
運用 |
サービスの監視 |
---|---|
日常メンテナンス |
|
保守へのエスカレーション |
|
保守 |
障害の原因究明・復旧 |
サービスの改善提案・実施 |
サービスは作って終わりではありません。公開後も安定的に稼働させるために、運用・保守を行う必要性があります。具体的には、サービスの管理・監視をしたり、必要に応じて修正作業や追加機能の実装などを行います。
関連記事:システム運用とは?作業内容、保守との違い、運用会社選びの重要ポイントをわかりやすく解説
サービス開発に必要なスキル
続いて、サービス開発に必要なスキルを解説します。自社に十分なスキルがありそうか判断するための指標としてください。
プログラミングスキル
フロントエンド |
HTML、CSS、JavaScript |
---|---|
バックエンド |
Java、PHP、Ruby、Python |
サービス開発には、プログラミングのスキルが必要です。プログラミング言語は200種類以上が存在するといわれていますが、世界中で使われている主要言語は20〜30種類ほど。そのなかから、作るプログラムの特性に応じて適切なプログラミング言語が選択されます。
Webサービスでは、JavaやPHP、Ruby、Pythonなどが主に使用されます。また、フロントエンドで用いられる言語としては、HTMLやCSS、JavaScriptが代表的です。
必ずしもすべての言語を習得している必要性はありませんが、まずはひとつの言語を習得したうえで、必要に応じて他の言語の習得も進めていくと良いでしょう。
フレームワークの知識
画像引用:Ruby on Rails
フレームワークとは、上の画像のようにサービス開発の土台となるソフトのこと。サービス開発では、扱う言語によって用いるフレームワークが異なります。
プログラミング言語 |
フレームワーク例 |
---|---|
Java |
Jakarta EE(旧 Java EE) |
PHP |
Laravel |
Ruby |
Ruby on Rails |
Python |
Django |
JavaScript |
React |
フレームワークを活用することで、サービス開発の工数やコストを大幅に抑えられます。上記の表のように、プログラミング言語ごとに用途の異なる複数のフレームワークが存在しています。
データベースに関するスキル
データベースとは、サービスに関わる情報(データ)の集まりのこと。たとえばAmazonのようなショッピングサイトなら、顧客情報や注文情報をデータベースで管理しています。
データベースを扱うためには、データベースを操作するための言語である「SQL」を習得したり、データベーススペシャリスト試験の合格を目指して知識をつけたりしながら、スキルを高めていく必要があります。
デザインに関するスキル
サービスの画面を美しく使いやすい見た目にするためには、デザインに関するスキルが必要です。UIやUXを意識して、サイト全体の配置や色彩、ボタンなどのパーツを作ります。
用語 |
意味 |
---|---|
UI |
ユーザーとの接点。サービス・機能を利用する際の接点を指す。 Webシステムにおいてはブラウザに表示される画面デザイン (画像、テキスト、アイコンなど)操作性などのことを言う。 |
UX |
ユーザー体験。サービス・機能を使うユーザーの体験全てを表す。 UIによって得られる体験もその中に含まれる。 |
動きをデザインするためにはプログラミングの知識が必要になるため、デザインに加えてプログラミングやシステムに関する知識も持っている必要があります。
サービス開発にかかる費用
サービス開発の費用相場を種類別・機能別で紹介します。自社の予算内で作成ができそうか判断するために参考としてください。
種類別の費用相場一覧表
種類 |
特徴 |
費用相場 |
---|---|---|
学習サービス |
漢字や英語、算数などを |
50~300万円 |
コミュニティサービス |
掲示板やチャット機能で |
100~500万円 |
ライブ配信サービス |
スマホでリアルタイムに 費用に幅がある。 |
120~2,300万円 |
SNS位置情報系 |
ランニング・歩いた距離に応じて 消費カロリーを計算するサービス。 友達や家族のいる位置を 地図で表示するサービスなど。 |
300万円~ |
マッチングサービス |
検索によりパートナーを探し、 |
400~1,500万円 |
ゲームサービス |
ストーリー設計やキャラクターデザイン |
800万円~ |
フリマサービス |
オンライン上でユーザー同士が 売買を行えるサービス。 |
1,000万円~ |
上記の表の通り、相場といっても幅があり、機能の多さや作成したいサービスの規模などによって費用は大きく異なります。
ノーコード(プログラミング不要)で開発できるプラットフォームを使えるものは、150万円~200万円に抑えられます。プログラミングが必要なものは、500万円~600万円ほど。さらに特別な機能が求められるならプラス100万円ずつしていくイメージです。
上の表のように、マッチングサービスやゲーム、フリマサービスなどは高度な機能も求められるため、費用が高額です。
機能別の費用相場一覧表
種類 |
費用相場 |
---|---|
他アプリとの連携 |
5~40万円 |
ログイン機能 |
10~20万円 |
通知機能 |
10~100万円 |
位置情報機能 |
12~25万円 |
メッセージ機能 |
20~40万円 |
決済システム |
20~50万円 |
サービス開発では、機能を追加するごとにも費用が発生します。ひとつの機能を追加するだけで万単位の金額がかかるため、追加の開発や大規模な修正が発生しないように要件を明確にしておくことが大切です。
サービス開発の基礎知識まとめ
Webサービスの開発工程や必要なスキル、費用相場などを解説しました。
- 「サービス開発」とはブラウザを使って利用できるサービスを開発すること
- リクエストをサーバーが処理してWebブラウザに表示させることで動作する
- プログラミングやフレームワーク、データベース、デザインに関するスキルが必要
- 機能や作成したいサービスの規模などによって必要な費用は大きく異なる
上記を踏まえた上でサービス開発のための十分なノウハウやリソースが自社にないなら、外注を利用するのがよいでしょう。
外注する場合は、自社の導入目的や予算に合わせて開発会社を選ぶことが大切。選定に迷う方は、システム幹事にご相談ください。予算や目的から最適なツールや会社をご紹介します。相談料などは一切かかりません。
Q. サービス開発とは何ですか?
サービス開発とは、ブラウザで利用できるサービスを開発することを指します。「Webサービス開発」「ITサービス」と同じ意味で使われている場合が多いです。の特徴があります。
Q. サービス開発とは?
サービス開発とは「ブラウザを使ってインターネットにアクセスして利用できるサービスを開発すること」です。詳細は記事内で紹介していますので、ぜひご覧ください。
この記事を書いた人
七瀬 ユウ
専門分野: Webライティング
新卒で大手Slerに入社し、基幹システムの開発・プロジェクトマネジメント業務に従事。転職後、WEB広告企業でセールスライターの経験を経て、現在はフリーランスWEBライターとして活動中。「読者目線で分かりやすい記事を届ける」をモットーに執筆します。
このライターの記事一覧