/images/news/kaopiz-news-cover.png
NEWS
【Webアプリ開発】外注の流れを解説!フレームワークはどう選ぶ?
calendar
2023.03.24
repeat
2023.03.30

【Webアプリ開発】外注の流れを解説!フレームワークはどう選ぶ?

「 webアプリ開発 流れ を知りたい」
「Webアプリ開発を外注したい」
「開発言語やフレームワークの選び方を知りたい」
新規サービスとして Webアプリ開発 をしたくても、具体的な進め方まで把握している企業様は多くありません。
この記事では、Webアプリ開発を検討中の企業様向けに、Webアプリ開発の流れをご説明します。
開発を成功させるためには、多様なスキルセットを持った開発企業への依頼が得策です。コスト・スピード・品質を追求するベトナムのオフショア開発企業「カオピーズ」が解説します。

目次

Webアプリとは?~他のアプリとの違い~

Webアプリとは?~他のアプリとの違い~?

Webアプリは、ブラウザから利用するアプリケーションのことです。PC・スマホ・タブレットのブラウザから、いつでも利用できるメリットがあります。

Webアプリには以下のような種類があります。

  • 通販サイト(Amazonなど)
  • ポータルサイト(Yahoo!Japanなど)
  • SNS(Twitterなど)
  • 動画配信サイト(Netflixなど)
またWebサイトやPCアプリと混同されがちですが、以下のような違いがあります。

Webアプリ アプリケーション機能を持つもの。ユーザーは自分のアカウントでログインして使用することが多い。
Webサイト アプリケーション機能を持たないホームページやコーポレートサイト。例えばこの記事は、㈱カオピーズのコーポレートサイト内のページです。
PCアプリ Windows PCやMacなどのパソコンにインストールするアプリ
スマホアプリ App StoreやGoogle Playからダウンロードし、iPhone・Androidスマホで使用するアプリ

Webアプリ開発の手順は大きく6つ

Webアプリ開発の手順は、大きく6つに分かれます。
1.【アプリ要件】のヒアリング
2.【開発言語とフレームワーク】の選定
3. 【デプロイ環境】の選定
4.【開発モデル】の選定
5.【契約形態(請負型・ラボ型)】の選定
6.【お見積もり・ご契約】

これは外注時のステップですが、社内検討の段階でもこの流れを参考に進めることができます。

はじめに、開発したいアプリの仕様を決めます。自社にWebエンジニアがいる場合、開発チームを組み、開発言語やフレームワークの検討まで進めます。

自社で開発チームを組めない場合はアプリの概要を決め、早めに外注企業へ相談するのも有効な手段です。アプリの目的や規模に応じた、最適なアドバイスを受けることができます。

ここから、6つの手順をひとつずつ解説します。

手順①【アプリ要件】のヒアリング

クライアントから開発の相談を受けた開発企業は、はじめに徹底的なヒアリングを行います。およそ、以下のような項目について意識合わせを行います。

  • アプリの目的・完成イメージ
  • 「オンラインストア」「SNS(ソーシャルネットワーキングサービス)」「動画配信」など、アプリケーションの目的と完成イメージを明確にします。

    この際「USP(Unique Selling Proposition)」と呼ばれるサービスの独自性・強みがあると、ユーザーに提供できる価値が大きくなります。

  • アプリの機能・性能
  • アプリがユーザーに提供する機能を洗い出します。機能をはっきりさせておくと、開発ボリュームも明確になります。

    また、近年はアプリの応答速度や利便性も重要視されています。参考にしている既存サービスがあれば、いくつかピックアップしておくとイメージが明確になります。

  • 公開・非公開と利用者数
  • Webアプリはインターネット上に公開もできますし、社内システムとして非公開にすることもできます。サービスの規模・利用者数に応じてプラットフォームやインフラの検討を進めます。

    手順②【開発言語とフレームワーク】の選定

    手順②【開発言語とフレームワーク】のご提案?

    Webアプリは、プログラミング言語でコーディングして開発します。また、「フレームワーク」と呼ばれるひな型を活用すると、開発が迅速かつ効率的に行えます。

    フレームワークはプログラミング言語ごとにたくさんの種類があり、フロントエンド用(ユーザーに見える部分)とバックエンド用(ユーザーに見えないサーバーサイド)があります。

    フロントエンド用フレームワークの代表例

    バックエンド用フレームワークの代表例

    ※ 関連記事:カオピーズの技術力
    ※関連記事:Web開発 | トレンドや言語・フレームワークについて解説!

    言語とフレームワーク選びの規準
    上記以外にもフレームワークは数多く存在し、新しいものも続々と誕生しています。開発言語を含め、どれを選択すべきかわからないというクライアント様もたくさんいらっしゃいます。

    選択肢は豊富にありますが、およそ以下のような規準で開発言語・フレームワークを選択すると良いでしょう。

  • 機能が網羅されているか

  • アプリで必要な機能が備わっているフレームワークを選ぶと、開発期間・開発コストを大幅に削減できます。

    例えばDjango(Python)では、「ユーザー認証」「サイトマップ生成」「コメント機能」などWebアプリでよく使われる機能が既に備わっています。

  • 既存サービスでの実績

  • 人気サイトで使用されているフレームワークは実績もさることながら、改善も頻繁に行われているため、安心して使用できます。また、開発者向けのコミュニティの有無も重要なポイントです。

    Djangoで作られたサイト YouTubeInstagramほか
    Laravelで作られたサイト 時事通信ニュースほか
    Railsで作られたサイト クックパッド食べログほか

  • デプロイ環境での動作可否

  • デプロイ環境とは、Webアプリを動作させるためのサーバー・OS等の総称です。オンプレミスなどデプロイ環境が決まっている場合は、適合するフレームワークを選択する必要があります。

    手順③【デプロイ環境】の選定

    手順③【デプロイ環境】のご提案?

    前述のとおり、Webアプリを配置する環境を「デプロイ環境」と呼びます。サーバー・OS・データベース・ネットワークなどがこれに含まれます。

    以前は、企業が自社で環境を構築する「オンプレミス」が主流でした。しかし2006年ごろから「クラウドコンピューティングサービス」が普及し始め、今では多くの企業がクラウドコンピューティングサービスを活用しています。

    2023年現在、人気のクラウドコンピューティングサービスは、以下3つです。

    これらのサービスを活用することにより、クライアント企業様の負担を大幅に削減できます。また環境構築も短時間で済むため、スピーディーな開発が実現可能です。

    ※ 関連記事:AWS か Azure か: 大手クラウドサービス会社の徹底比較【最新版】

    手順④【開発モデル】の選定

    主なWebアプリ開発の進め方には、「ウォーターフォールモデル」と「アジャイルモデル」の2種類があります。サービスの内容や規模に応じて、適切なモデルを選定します。

    ウォーターフォールモデル
    アプリ要件が明確な場合、ウォーターフォールモデルが最適です。最初に決めた仕様通りのアプリケーションが完成します。

    基本的にクライアント企業様は開発工程に関与する必要が無いため、専門知識に不安がある場合にもおすすめのモデルです。

    ただし一度決めた仕様を遵守する手法であるため、仕様変更が発生すると追加費用が必要になるというデメリットがあります。

    Kaopiz Waterfall Development Style?

    アジャイルモデル

    アプリ要件の変更が見込まれる場合、アジャイルモデルが最適です。企画・設計・実装・テストを短いスパンで繰り返すことで、仕様変更に柔軟に対応します。

    このモデルでは、クライアント企業様にも開発工程への積極的な関与が求められます。そのため、ある程度の専門知識や開発経験のある企業様におすすめのモデルです。

    仕様変更に柔軟に対応できる反面、方向性をコントロールしないと当初の目的から外れてしまうリスクがあります。

    Kaopiz Agile Development Style?

    ※ 関連記事:システム開発の工程を徹底解説!開発モデルの種類も紹介【必見】

    手順⑤【契約形態(請負型・ラボ型)】の選定

    手順⑤【契約形態(請負型・ラボ型)】のご提案?

    開発を外注する場合、必ず契約を交わす必要があります。一般的なソフトウェア開発では、「請負型契約」と「ラボ型契約」のどちらかを選択します。

    請負型契約
    請負型契約では、外注先企業(開発企業)は定められた納期までにWebアプリを納品する必要があります。納品後も、不備があれば対応する責任を負います。

    このように、開発側に成果物の品質に対しての担保責任が伴うことから、アプリ要件が明確な「ウォーターフォールモデル」での契約に適しています。

    ラボ型契約
    ラボ型負契約では、外注先企業は開発業務の遂行に対して責任を負います。わかりやすくいうと、専任の開発チームを一定期間確保する契約です。

    開発チームと直接コミュニケーションを取りながら進行する契約形態であるため、アプリ要件の変更が見込まれる「アジャイルモデル」での契約に適しています。

    ※ 関連記事:ラボ型開発
    ※ 関連記事:請負型開発とラボ型開発 の違いについて

    手順⑥【お見積もり・ご契約】

    ここまでの手順で双方が合意すれば、お見積もりへと進みます。また、お見積もりと前後して機密保持契約(NDA)・基本契約(請負かラボか)の締結も行います。

    外注候補が複数ある場合、以下の点を比較検討した上で開発企業を選ぶことをおすすめします。

    開発企業選びの注意点

    • 類似システムの開発実績があるか
    • エンジニアのスキルセット(言語・フレームワーク・デプロイ環境等)は充分か
    • 品質保証情報セキュリティ 体制は整っているか

    まとめ

    今回はWebアプリ開発の流れと外注の進め方について解説しました。

    • 最初に徹底したヒアリングでアプリ要件をすり合わせる
    • 開発企業はクライアント企業様に対し、最適な提案を行う
    • 多様なスキルセットを持った開発企業への依頼が得策

    Webアプリ開発はトレンドが目まぐるしく入れ替わっているため、用語やツールの把握も難しいと感じる企業様が多くいらっしゃいます。

    カオピーズでは豊富な実績をもとに、貴社に最適な開発手順をご提案致します。ご不明点がございましたら、お気軽にお問い合わせください。

    お見積もり・ご相談はこちら

    よく読まれている記事

    https://kaopiz.com/wp-content/uploads/2024/05/HP-21.png
    ブログ
    24.05.06
    賃貸管理システム|メリット、機能、およびクラウド開発の利点
    賃貸管理システム の選び方とクラウドの利点を徹底解説。効率化、コスト削減、セキュリティ強化など、クラウドベースの賃貸管理システムが不動産管理にもたらす多数のメリットを紹介します。不動産業務を次のレベルに引き上げるためのキーガイドです。
    https://kaopiz.com/wp-content/uploads/2024/05/HP-20.png
    ブログ
    24.05.06
    出退勤管理 | システムを導入すべき!ポイントやメリット・デメリットを解説
    出退勤管理 は企業が必ず実施すべきものです。給与の支払いなどに影響するものであるため、毎日、正確に記録して管理することが求められます。一般的には適切なシステムを導入する必要があるため、その際のポイントやメリット・デメリットを解説します。
    https://kaopiz.com/wp-content/uploads/2024/05/HP-19.png
    ブログ
    24.05.06
    労務管理システムを導入すべき?必要な理由や得られる効果を解説
    労務管理システム を導入することで、従業員の労働環境を素早く管理できます。近年は法律の変化により、管理項目が増えているため、担当者はシステムで効率よく管理しなければなりません。導入の理由や得られる効果、注意点などを解説します。