はじめに
BASE株式会社でシニアエンジニアを務めているプログラミングをするパンダ(@Panda_Programと言います。本連載は「フロントエンドカンファレンス沖縄2022」で私が発表した内容[1]を記事として再構成したものです。
対象読者
本連載の対象読者は、個人開発に興味があるソフトウェアエンジニアの方です。
個人開発の楽しさはモノづくりの楽しさ、個人開発のメリットは事業の仕組みを学べること
個人開発は一見すると、自分の時間を使ってソフトウェア開発をするという大変な作業のように思えます。実のところは、さながらDIYのようにモノづくりそのものに熱中する楽しさを味わえます。ソフトウェアエンジニアを職として選んだ頃の、純粋にコードを書いてシステムが動くのが楽しいという初心に帰りながら、仕事とは無関係に自分の作りたいものを作る楽しさと喜びは小さいものではありません。
私はかつて、幸福には3種類あるという話を聞いたことがあります。一番小さい幸せはテレビで娯楽番組を見るなどの暇つぶし、中くらいのものは美術品や名作映画など良質な作品を味わうこと、そして最上の幸せは何かを作り出す創作行為だそうです。個人開発は創作行為であるため、それに熱中していると楽しさや幸福を感じやすいのでしょう。
個人開発は単に楽しいだけではありません。他にも大きなメリットが存在します。それは、世の中に存在するビジネスの仕組みをいつの間にか理解できることです。
個人開発でソフトウェアを作るのは、誰かに使ってもらうためです。そして、たくさんの人に使ってもらえるようなヒットするサービスを生み出すためには、ソフトウェアエンジニアリングだけではなく、少なくとも4つの観点が必要だと私は考えています。以下では、それぞれの観点を紹介していきます。
使えるサービスを生む出すために必要な観点──イノベーションとマーケティング
イノベーション - あなたの独自の組み合わせが発明につながる
個人開発の第一歩は、何を作るかを考えることです。何を作ればいいのか知りたい場合、イノベーションの観点を学んでみてください。イノベーションの原義は「新しい結合」です。アイデアは何もないところから生まれるわけではありません。既存のあるものと既存の別のものを組み合わせる、その組み合わせ方そのものが独自のイノベーションの源泉なのです。
そうは言っても、初めての個人開発で何を作ればいいかわからないという話をよく聞きます。それに対してよくあるアドバイスは、自分の困りごとを解決するようなプロダクトを作ると良いというものです。これはある程度的を射ていると思います。なお、この考え方の背景は後述します。
一方で、第三者があなたに「これを作って」と具体的に指示したものを作ることは、個人開発の趣旨にあまり添いません。あなたの独自の視点から、今の世の中に必要だと思われるものを作ってリリースしてください。そして、自分にこれといったアイデアがないと思ったら、イノベーションについて調べてみてください。それがアイデアを生み出す助けになるはずです。
ただし、そのアイデアが当たらないことは頻繁にあります。アイデアは多産多死モデルだからです。つまり、1000回バットを振って3つだけホームランが打てる性質のものであり、ほとんどは日の目を見ることなく消えていきます。このように、アイデアが当たる確率が低いことを産業界では千三(せんみ)つという言葉で表現しています。
思いついたアイデアを形にして世に送り出すことは可能ですが、そのサービスが多くの人に長く使われ続けるとは限りません。初めて作ったサービスが大ヒットする確率は低いでしょう。このため、次こそはと思いながら何度もトライすることになると思います。しかし、やみくもにアイデアを探しても報われることはないかもしれません。少しでもアイデアが当たる確率を高めていきたいのであれば、次に紹介するマーケティングの観点は必須です。
マーケティング -「良いものを作れば売れる」は間違い
個人開発においてマーケティングとは、自分が開発したサービスのマーケット内の立ち位置とターゲットとなる顧客の解像度を上げるための最良の手段です。エンジニアの皆さんは仕事でマーケティングを意識することはないかと思います。新規事業の担当者でない限り、仕事では特定のプロダクトを提供するマーケットと顧客ターゲットが定まっているため、WhoとWhatが決まっているからです。このため、どのように作るのかというHowに仕事上エンジニアが集中できるわけです。
しかし、個人開発でヒットするサービスを生み出したいのであれば、どのように作るかよりも何を誰のために作るかというWhatとWhoこそが重要な要素です。そこで、マーケティングという戦略思考を取り入れると、マーケットや顧客に対する解像度を上げることができます。
先ほど、「自分の悩みを解決するようなアイディアを形にすると良い」といったアドバイスがあることを紹介しました。これは、自分が感じている課題が普遍的であり、それを解決するアプローチが優れていれば多くの人に使ってもらえるサービスになるはず、という考え方が背景にあります。
しかし、このアドバイスはマーケティングの観点が抜け落ちています。それは、自分の悩みが普遍的であれば実は競合のサービスが既に存在している点と、反対に競合が存在しないのであれば、そもそもマーケットと顧客が存在せず、みんな失敗した可能性がある点です。
競合がいること自体は、マーケットが存在することを意味するので必ずしも悪い証拠とは言えません。しかし、競合がいるマーケットに考えなしに飛び込むことはオススメしません。競合がいるマーケットの中で自分のサービスの独自性や競合優位性を確立する、つまり独自の立ち位置を見つけるために、マーケットセグメンテーションの考え方を紹介します。
マーケットをセグメントに分ける
ここではコーヒーを例に挙げます。コーヒーは既に各種の競合があり、そして数多くの消費者がいる非常に大きなマーケットです。このコーヒーマーケットをさまざまな軸で分類してみます。
コーヒーと一言でいっても家で飲むものと、出先で飲むものは同じではないはずです。さらに自分用やギフト用、ホットかアイスか、仕事で気合いを入れるためのものやプライベートでリラックスするためのものなど、さまざまな分類が可能です。
コーヒーのブランドには多種多様なものがあります。このように分類してみると、実はそのどれもが生活の中の特定の場面を狙った商品であることに気づきます。このようにマーケットを細分化していくと、必ず自分のサービスがマッチする場面が見つかるはずです。 つまり、自分のサービスを利用してもらう場面を考え抜けば、後発組の個人開発であってもレッドオーシャンで勝負しなくていい可能性があるのです。
「良いものを作れば売れる」という考え方は一般に広まっています。ただし、個人開発では「良いもの」の定義を「最新のイケてる仕組みで動いているソフトウェア」ではなく、「顧客の課題を解決する最適なアプローチのサービスが、ターゲットとなる顧客に適切に届けられていること」と読み替えなければなりません。
つまり、作り方がどれだけ優れたものであっても、顧客の課題を解決しなければ、それは良いものとは言えないのです。ある課題を見つけたら、マーケットを選定して顧客の解像度を上げ、プロダクトのイメージとなるブランド作りをし、顧客の不満や不便、不平など課題を解決するサービスを作ることを目指しましょう。