ウェブアプリ・スマホアプリ新規サービスの作り方
ウェブアプリ・スマホアプリの新規サービスを作るときの開発手法とスケジュール・予算について説明していきます。
はじめに
弊社は新規開発を中心に、開発を進めてきた経験から、とてもありがたいことにウェブアプリ・スマホアプリの新規開発依頼を受けることが多くなってきました。
しかし新規サービスのウェブアプリやスマホアプリの開発は、仕様やスケジュールの変更も多く、そのため予算の立て方も簡単ではありません。
仕様の変更内容によっては追加費用が発生したり、万が一、納品が遅延したりすると、お互いの調節も大変です。
そのため弊社では、新規サービス開発を少しづつ改善してきました。
この記事では、新規ウェブアプリ・スマホアプリにオススメの開発手法や陥りやすい失敗、スケジュール、予算の立て方などを説明します。
想定しているご依頼内容
中小規模の新規ウェブアプリケーション・スマートフォンアプリケーション開発案件を想定しています。
開発チーム規模2-5人程度、開発予算300-1000万円程度
開発手法
新規サービスのウェブアプリ・スマホアプリは、まだ製品として存在しません。
ご依頼者様は、まだ存在しないサービスの市場調査・検証を行い、開発の企画を作成しています。
当然サービス・製品が存在しない状態での市場調査・検証は、簡単ではなく、予測の領域も必ずあります。
この時点で、下記のようなリスクが考えられます。
- 新規サービスにニーズがなかった
- ニーズはあったが、ウェブアプリやスマホアプリで解決できなかった
- 市場調査で製品がなかったため、本来の結果が得られていなかった
このように開発する新規サービスが、ユーザーに必要とされないリスクがあります。
サービス開発開始時には、このようなリスクを完全になくすことは出来ません。しかし、事業としては、当然無駄なリスクは少ない方が良いです。
そこで実際には、開発と検証を繰り返しながら、サービスを作り上げていく方法を行います。
検証と開発を同時に行なっていくことで、新規サービスをユーザーのニーズに合わせながら作り上げていくことができます。
途中で、想定外の結果が出てもすぐに修正することができます。
MVPとアジャイル開発
では、具体的にどのように開発を進めていくのでしょうか。
キーワードは「MVP」と「アジャイル開発」です。
MVPとは
MVP(Minimum Viable Product)とは、簡単にいえば、顧客に価値を提供できる最小限の製品や、それを使ったアプローチのことをいいます。
いわゆるリーンスタートアップに沿った考え方で、早急に市場の反応を得るための方法です。
新規製品開発では、まずこのMVPを作り上げることを目標とします。
ご依頼者様のヒアリングを行い、製品の本質的な価値を洗い出し、まずは最小限の製品を作り上げます。
MVPを作成後、再度市場調査を行い、必要であれば修正を行います。
アジャイル開発とは
アジャイルとは『すばやい』『俊敏な』という意味で、反復 (イテレーション) と呼ばれる短い開発期間単位を採用する。 1つの反復の期間は、プロジェクトごとに異なるが、1週間から4週間くらいであることが多い。
アジャイル開発手法では、各反復が終了するごとに、機能追加された新しいソフトウェアをリリースすることを目指す。
参考:wikipedia
つまり、短い期間で区切って機能ごとの開発を追加していく開発手法のことです。
MVPを作成後、アジャイル開発を進めていきます。
新規サービスの機能を全て洗い出し、優先度・カテゴリー・指標・開発のコストを作成します。
洗い出した機能を、優先順位順に並べて、実装の順番を決めます。
一つの機能を実装ごとに指標を検証し、十分な結果が得られるか確認します。
アジャイル開発を行うことは、優先順位の高い機能からリリースして、ユーザーに検証できることや予算や期間が限られている場合、先に重要な機能からリリースできることがメリットになります。
スケジュール
MVPとアジャイル開発を取り入れれば、大まかなスケジュールを立てることは簡単です。
MVPのリリース時期、MVPリリース後の市場調査の結果対策、アジャイル開発によって細分化された機能のアップデートを考慮して、開発にかかるスケジュールを作成します。
コスト
MVPとアジャイル開発では、全ての機能を一気に作り上げるわけではありませんので、開発費用は作成した部分まで必要となります。
はじめに開発の費用・時期の大まかな目安はお見積書を作成して、MVPまで作成する場合のコスト、アジャイルで目標の機能まで作り上げた場合のコストといったようになります。
新規開発のリスクは軽減できる
新規開発は、既存のサービスと比べるとうまくいく可能性は高くはありません。失敗の原因は様々ですが、全てのリスクをなくすことは不可能です。
また、十分な検証ができないことも多いため、どうしても不確定要素が多くなりがちです。
大切なことは、検証を行いながらサービスを作り上げて上げていくこと。そして間違った場合、すぐに修正できる開発を行なっていくことです。
コストや時間の無駄を省くことで新規開発のリスクを軽減することが大切です。