この疑問を本記事で解決します。
- Webサービスの作り方を8ステップで解説
- Webサービスは当初の計画通りに進まない
- Webサービスを作ったあとは機能改善とユーザーの声集め
- Webサービスを作って、世の中に価値を提供できる人生を楽しもう
こんにちはヒロキです。
2005年にITビジネスで起業して以来、100以上のWebサービスをリリースしてきました。2016年にはスポーツファン向けの応援アプリもスマホアプリでiOS、Android両方からリリースしました。
こうしたオリジナルのWebサービスを多数リリースしてきた経験から、本記事では
- 初心者がWebサービスを作る方法
- Webサービスをリリース後にやるべきこと
を共有しようと思います。
実際に私の14年間のノウハウ全てをまとめていきますので、情報の信頼性は担保できると確信しておりますので、ぜひ最後までご覧ください。
Webサービスの作り方を8ステップで解説【初心者でも実践できます】
基本的に、完全初心者でもWebサービスを作って、リリースできる方法を具体的に解説していきたいと思います。
結論は以下の8ステップです。
- あなたが使う技術を明確にする
- 競合サービスを徹底分析する
- 理想的な機能を全て洗い出す
- 競合と差別化できる強みを決める
- 強みに沿ったコア機能を決める
- 構築のスケジュールを組み立てる
- 機能別にTO DOリストを組み立てる
- プログラミングを開始する
以上です。
個別に解説していきます。
分かりやすくイメージできるように「プログラミング学習」というキーワードを狙ったサービスを開発事例に出したいと思います。
①あなたが使う技術を明確にする
まずはじめに、Webサービスを作る前段階として「あなたができること」を明確に理解する必要があります。
これをスルーした状態で勢いだけで走り始めてしまうと、最終的に「あれ?どうすれば作れるんだっけ?」と迷走してしまいます。
Webサービスを作るには
- バックエンドの構築(サーバーやデータベース環境の構築)
- フロントエンドの構築(UI・UXを考えた操作性やデザインの構築)
- デプロイはどうやってするのか(テスト環境から本番環境への移行など)
といった手順が必須になります。
ここを理解していないと、今から考えるWebサービスの構想案は全て「絵に描いた餅」で終わります。
まずは、バックエンドやフロントエンドの構築についての理解を深めましょう。
この辺りは【初心者の教科書】Web系プログラミングの学習前に読むべき基礎まとめで詳しく解説していますので、合わせてご覧ください。
さらに「自分はフロントエンドはできるけど、バックエンドはできないぞ」と思えば、バックエンドができるエンジニアをチームに誘い込む必要もあります。
この問題については優秀なエンジニアが採用できない会社の悩みを解決【人材確保の法則】をどうぞ。
②競合サービスを徹底分析する
まずは「プログラミング学習」というキーワードでWebサービスを作る場合に、既存の競合するサービスを徹底的に分析していきます。
そもそも「Webサービスを新しく作る」にも、全く同じ中身のサービスがすでにある場合は無意味ですよね。
後述しますが、既存のサービスよりも「確実に秀でているポイントがある」「こっちのサービスの方がユーザーは使ってくれる(乗り換えてくれる)」といった優位性が必要です。
と考えても、プロゲートと同じなら、プロゲートを使えば良いだけです。
まずは、徹底的に既存サービスを分析して
- なぜ、このサービスをユーザーは選んで使っているのだろうか?
- どういった機能が人気のポイントなのか?
- このサービスには何が足りないのだろうか?
といった視点も含めて、考えていきましょう!
この競合分析の期間は最低でも1ヶ月は必要です。
※競合分析は重要な作業なので長い場合は1年くらい分析を続けるケースもあります。
アイデア出しのポイントは、自分1人の視点だけではなく「プログラミングを学習したい初心者」の意見だったり、一緒にWebサービスを作るチーム全員の他方面からの視点を混ぜていきましょう!
③理想的な機能を全て洗い出す
競合分析が出来れば、頭の中で
- このサービスがあれば、競合よりも魅力的なサービスになる
- この機能を盛り込めば、多くの人が使ってくれるサービスになる
といったイメージと期待感が持てるはずです。
こうした思考を持ちながら、理想的な機能を全て書き出していきましょう!
この段階では「とにかく理想を盛り込む」だけでOKです。
理想的な機能と合わせてターゲットユーザーも絞り込もう
この段階で重要なことは「誰に、このWebサービスを使って欲しいのか?」といった明確なターゲットを決めることです。
そうすれば、そのターゲットユーザーが求める理想的な機能を考えることができるはずです。
- プログラミング初心者なのか?中級者なのか?
- 小学生なのか?高校生なのか?サラリーマンなのか?
- 男性なのか?女性なのか?
- 都心部で生活する人か?地方で生活する人か?
年齢、性別、趣味趣向、生活スタイル、学習意欲のレベルなどなど。
ターゲットを決めるポイントは「自分が一番深く理解できる相手を選ぶ」ことです。
例えば、このブログであれば「都心部で働いているサラリーマン」をターゲットにして、彼らのニーズ(副業収入を得て生活を安定させたい)を理解した上でプログラミングスキルを身につけましょう!と提案しています。
訴求したいターゲットが明確に決まれば、そのターゲットに必要なサービス機能は明確になります。
とにかく、理想的な機能を洗い出していきましょう!
④競合と差別化できる強みを決める
洗い出した機能の中から、競合とは差別化できるオリジナルの強み(要素)を考えていきましょう!
この強みが明確であるほどにユーザーはあなたのWebサービスを選んでくれます。
例えば「小学校低学年の子供に特化したプログラミング学習サービス」であれば、その子供の親が欲しい情報(プログラミングを勉強することで有名な学校に入学できるなど)だったり、子供が集中して取り組める仕組み(アニメを盛り込むなど)など、差別化ポイントが変わってきます。
自分が得意なこと × 自分がやりたいこと
から導き出された答えを明確にしていきましょう!
ここで生み出されたオリジナル要素の強みに対して、次にコアとなる機能を決めていきます!
⑤強みに沿ったコア機能を決める
ここが最重要ポイントになりますが、想定するターゲット層に対して、自由に洗い出した機能から「この機能があるからこそ、このWebサービスを使われる」というコアとなる機能を明確にしましょう。
機能は多ければ多いほど、良いというわけではありません。
というよりも、シンプルに「1つの強みに沿った機能」だけでも良いくらいです。
iPhoneが登場した際に、日本の携帯電話を凌駕した理由は「機能性のシンプル」にあったはずです。多機能なサービスを全て使いこなせる人はほとんどいません。
プログラミング学習であれば、どのような機能が必須でしょうか?
どのような機能があれば、既存の競合に打ち勝てるでしょうか?
例えば「都心部で働いているサラリーマン」なら、仕事が忙しくて勉強できる時間がほとんどないと思います。
そんなターゲットユーザーにとって「どんな機能がセンターピン」になるでしょうか?
⑥構築のスケジュールを組み立てる
サービスの全体構想や、強み、コア機能が決まれば、次は「どうやって作っていくか?」のスケジュールを組み立てます。
- サービスの仕様を設計
- 全体の画面デザインを設計
- 想定するサービス内容でのサーバー構成・データベース構成
- フロントエンドの実装日程
- バックエンドの実装日程
- エラー潰しなどのベータ版のリリース
- テストユーザーで機能性チェック
- 本番リリース
とりあえず、ざっくりで良いので全体間のスケジュールを組み立てます。
この全体間の流れがない場合は、大半のプロジェクトが最初から座礁しますので、かなり重要な作業になります。
丁寧に取り組みましょう!
⑦機能別にTO DOリストを組み立てる
ここからは実際の作業を構築する人員(チームメンバー)含めて、作業の振り分けを行います。
全て自分1人で構築する場合は必須ではありませんが、それでも「フロントエンド構築は1週間必要」など、厳密に目標を決めておくことは重要です。
実際に作業を進めていくと「1週間では無理だな!リスケが必要だぞ」といったことが頻発します。
特にチームで開発する場合は、1つの工程の遅れが全体の遅れに繋がりますので「何となく決めるのではなく、それぞれの意見や現実的な作業日数を確認しながら」決めていきましょう!
⑧プログラミングを開始する
上記で決めたTO DOをスケジュールに沿って作業していきましょう!
作業は問題なく前進すれば楽しいと思いますが、必ず想定外のエラーや苦悩もあります。
この生みの苦しみがあるからこそ「Webサービスが立ち上がった時の喜び」は大きくなります。
エラーに詰まった場合はプログラミングエラーを解決する具体的な4つの方法と最適なググり方もどうぞ。
プログラミングを勉強したいけど何を勉強したら良いのかわからない...
独学で勉強しているけど、よくわからない...
そんな方も多いと思いますが、朗報です!
有名プログラミングスクールのテックアカデミーの講座を
無料で受講することができます!
パソコンさえあれば、自宅で学習をすることができます。
30秒で登録が終わります。
いつまで無料で体験できるかわからないので、
今すぐ無料体験に登録してみてください!
» TechAcademyの無料体験に申し込む
【断言】Webサービスは当初の計画通りに進みません
Webサービスの開発前に、先述した8ステップを厳密に作り込んでも、それでも計画通りにスケジュールが進むことは、ほぼありません。
理由は下記の通りです。
- 人が作るものには必ずエラーが出る
- 設計そのものにミスがあることに気づく
- 他のスケジュールが入ってきて混乱する
実際に、全て経験してきたので、対応方法だけ説明します。
人生は思い通りにならないことを想定しておきましょう
当然のことですが、人生は全て自分の思い通りに動きません。
想定外のハプニングやトラブルが必ず割り込んできます。
だからこそ、計画を丁寧に作り込むことも大切ですが、それと同じくらいに「作った計画を修正する」ことも重要です。
例えば、私がアプリサービスを作る際に、以下の出来事がありました。
私:サービスの仕様設計を完璧に作ったぞ!
私:1週間後「違う!ここの機能を変えた方が良いサービスになるぞ」
私:さらに2週間後「すでに開発が始まっているけど、この機能のUIをデザインから変えるべきだ!
エンジニア:すみません!スケジュール遅らせてください!機能が変わりすぎて作り替えです(汗)
私:ええーーっ!そんなにおおごとなの?予算もあることだしなー!どうしよう!
とにかく、人の心は1日寝れば変わってしまいます。
断固たる決意で設計書を作り込んでも、見る視点だったり、他人のアドバイスが入れば変更することも多々あります。
開発するエンジニアにとっては予想外のことが起きますが「プロジェクトは想定外こそ想定内」といった余裕ある思考を持って、取り組んでいきましょう!
Webサービスを作ったあとは機能改善とユーザーの声を集めよう
無事にWebサービスをリリースできれば、ここからが「ある意味で本番」です。
苦労してWebサービスを考えて、開発してリリースしたので、この時点で燃え尽きてしまう人も多くいますが、リリースはあくまでスタートラインに立っただけです。
やるべきことはたくさんあります。
- ユーザーを集める
- 利用ユーザーから改善点や意見を集める
- 機能の改善を行う
どれだけ徹底的にバグを潰しても、ユーザーの想定外の使い方などでエラーが出てきます。
さらに利用するユーザーそのものを集めることも簡単ではありません。
広告宣伝費を使って集めるのか?
SNSの口コミを使って集めるのか?
インフルエンサーに使ってもらって告知してもらうのか?
とにかくユーザーを集めることは簡単ではありません!
さらに、利用してくれるユーザーの中から「こういう機能を入れて欲しい」や「この機能が使いにくい」といった改善案も届くはずです。
というか、ユーザーからの改善の指摘は積極的に集めるべきです。
最初は自分自身の頭の中だけで作られたサービスや機能が、実際にユーザーが使うことで本質的なユーザー目線のサービスとして機能できているのか?が分かります。
考え抜いて作ったコア機能は、本当にユーザーに選ばれる理由になっているのだろうか?
その他に別の機能は必要になるのだろうか?そのための開発はどうすれば良いのか?
考えることは山ほど出てきます。
Webサービスとは「あったら良いな」を形にするだけでなく、形にした後は「そのサービスを無料で提供していたとしても、使うユーザーの時間を奪っている責任」をしっかりと持った上で運営していきましょう!
作って、その後は放置するくらいなら、最初から作らない方がマシですよね。
Webサービスを作って、世の中に価値を提供できる人生を楽しもう
最後に記事をまとめます!
- Web開発は8ステップでリリースしましょう
- ざっくり決めてOKですが、絞り込んでいきましょう
- 最初から完璧に作るのは不可能ですよ
- 作りながら改善、ユーザーに使ってもらいながら改善です
- 予想外こそ想定内で、余裕を持って開発しましょう
- リリースした後はユーザー集め&利用者の声が資産です
とにかく、この記事通りに思考を深めてスケジュールを組めば、誰でもWebサービスを作ることができます。
私自身が100以上のWebサービスをリリースした際は、全てこの思考プロセスで進んでいきました。
「何となくで開発をしてみる」だと、大半が挫折してしまいます。
効率良く、さらにリリース後のユーザーの反応を楽しみにしながら、プログラミングを始めていきましょう!
人気記事Webライターを副業にして月10万稼ぐ具体的な手順【初心者向け】
人気記事【サラリーマン向け】未経験が月50万以上稼ぐフリーランスWebエンジニアを目指す方法【副業でもOK】