大きく考え、速く学び、耳を傾ける:WordPressSaaS製品の構築からの私の教訓
公開: 2017-04-191年半前、次のサイドプロジェクトがどうなるかを考え始めたとき、それが成功することは想像もできませんでした。 一部の人にとっては小さいように見えるかもしれませんが、誰かにあなたの製品を十分に信じさせてあなたにお金を与えることは、あなたが誇りに思うべき大きな成果です。
しかし、それは簡単ではありません。 最初の顧客を獲得するには、献身、努力、そして運が必要です。 老子が言ったように、「千マイルの旅は一歩から始まります」。
問題を特定する
あなたがビジネスを構築することができる前に、あなたは製品を必要とします。 製品を作る前に、問題が必要です。 解決する必要のある問題を見つけることはあなたの旅の最も難しい部分かもしれないので、それであなたの時間をかけてください。 今まで考えたことがありますか:
「<問題>に<もの>があったらいいのに」?
あなたが持っている場合、他の人も持っている可能性があります。 これは、製品のアイデアを検討し始めるのに適した場所です。
私が多くの失敗した製品を通して学んだことの1つは、成功したいのであれば、自分が抱えている問題を解決するのに大いに役立つということです。 私がまだフリーランスのWordPress開発者だった頃、クライアントホストのテーマとプラグインを更新する問題に遭遇することがよくありました。 いつも大変なことだったので、WordPressのアップデートシステムに接続できると、とても楽になると思いました。 Kernlはこの問題から生まれ、製品の中核を形成しました。
Kernlの中核として、私はそれを使いやすいWordPressSaaS製品にしたかったのです。 私の疑惑は、人々が自分の更新インフラストラクチャを実行することを本当に望んでおらず、信頼できるプロバイダーに喜んでお金を払うだろうということでした。 プラグインまたはテーマのZIPファイルをアップロードするだけで、残りはGoogleが処理します。 コア製品のスコープを厳密に保つことは、私が価値の提供に集中するのに本当に役立ちました。
問題スペースに既存のプレーヤーを配置することは、問題の検証として機能します。ツイート
問題を特定するというトピックについては、市場の規模について少しお話ししたいと思います。 誰かがあなたの問題を解決する製品をすでに作成しているからといって、あなたの解決策の余地がないという意味ではありません。 あなたが彼らがより良くすることをし、あなた自身を差別化することができれば、あなたは顧客を得るでしょう。 また、問題スペースに既存のプレーヤーを配置することは、問題の検証として機能することにも注意してください。
小さく始め、大きく考えますが、常に終了します
私たちのコミュニティでは、人々が「リーンスタートアップの方法論」について話すのをよく耳にします。 人々は彼らが従うリーンスタートアップのどの部分を選んで選ぶ傾向があります、そして私も例外ではありません。 私は間違いなくそれを正確に守っていませんでしたが、私が確実にしたことの1つは、作業を開始する前に、Kernlを可能な限り最小の出荷可能なピースに蒸留することでした。
特に自由な時間にこれを行っている場合は、任意の増分でフィニッシュラインを通過するのは困難な場合があります。 覚えておくべきことの1つは、繰り返しても問題ないということです。 Kernlの最初の増分を出荷したとき、それは完璧ではありませんでしたが、プライベートプラグインとテーマの更新を提供するという私が言ったことを実行しました。 最初の増分の間、私はまだ実行する必要があることの実行中のバックログを保持しました。 それは常に成長しているように感じました、そしてそれは悪いことではありませんでした。 やるべきことは常にたくさんありますが、集中し続けることが製品を前進させるものです。
Kernlの「ビッグバン」リリースを試みたのは失敗でした。 分析製品を作成しようとしましたが、うまくいきませんでした。 私は自分が構築している機能を信じていませんでした、そしてそれは私の減少した献身とモチベーションに現れました。 1か月の作業の後、私は損失を減らし、すべてを削減しました。 それは重要な教訓であり、私が終わらせたくないのであれば何かを始めるべきではないということを思い出させてくれました。 残念ながら、私の時間は自由ではありません、そしてそれを要求する他のものが常にあります。
「バイクシェッドは何色ですか?」
一年ほど前、同僚が私に「バイクシェディング」という用語を紹介してくれました。 Bikesheddingは、パーキンソンの凡例の法則のメタファーとして造られた用語です。 原子力発電所の建設に取り組んでいるエンジニアのグループがいるという話がありますが、彼らは時間を賢く使って原子炉の設計について議論する代わりに、発電所の前の自転車置き場の色に時間を費やすことになりますなれ。
私の日常の仕事では、些細なトピックについて議論していることに気付いたときはいつでも、「バイクシェディング」という用語を使用します。 質問に対する答えが本当に重要でない場合、または提案された解決策のいずれかが問題ない場合は、1つを選択して次に進みます。 自由な時間にSaaS製品を作成する場合、決定的であることは非常に重要です。 Node.jsとPHPのどちらを使用するかは、顧客は本当に気にしません。どちらかを選択して、それを選択してください。
自由な時間にSaaS製品を作成するときは、決断力を発揮することが非常に重要です。
顧客にとって、結果は同じであり、時間を節約できるため、顧客に直接影響する機能に取り組むことができます。 いずれにせよ、決定的であり、自転車に乗らないでください。
あなたを速くする技術を選ぶ
開発者として、私がテクノロジーAまたはテクノロジーBを選んだ理由を聞いてくれる人と何時間も話し合うことができてうれしいですが、製品を構築するときはおそらく問題ではありません。 よく知っているテクノロジーを選択して、仕事に取り掛かりましょう。 あなたがそれに速く構築することができるならば、それはほとんど常に正しい選択です。
Kernlでの私のテクノロジーの選択は、プロジェクトの私の目標を反映しています。 成功するWordPressSaaS製品を構築し、その過程で技術的なことを学びたかったので、Kernlを主に理解しているテクノロジー(フロントエンドにAngular 1を備えたバックエンド用のNode.js)で構築することにしました。 これらのテクノロジーはどちらも邪魔にならず、私はそれらを使って非常に生産的でした。
開発するときに考慮すべきもう1つのことは、技術的負債です。 あなたが速く動き、最初の増分を提供しようとしているなら、技術的負債を引き受けても大丈夫です。 技術的負債には、予想外のときに醜い頭を育てる方法があることを覚えておいてください。 将来のある時点で、それを返済する必要があることを期待してください。 Kernlのプレアルファおよびアルファフェーズでは、手動の展開プロセス、コールバック地獄、不良インフラストラクチャ、およびユニットテストや統合テストなしの形で大量の技術的負債を引き受けました。 最初の数人の顧客を獲得する過程で、私はそれで大丈夫でしたが、彼らがKernlに依存し始めたら、可能な限り最高のサービスを提供できるように、それを返済しなければなりませんでした。
WordPressSaaSのマーケティング
あなたが開発者であるときにマーケターになろうとするのは難しいかもしれません。 私は個人的に非常に個人的な人です。 私は他の人とうまくコミュニケーションを取りますが、自分自身や親しい友人や家族と一緒に時間を過ごすことを好みます。 あなたがあなたの製品を売り込んでいるとき、あなたは不快な拒絶感を乗り越えることを学びます。 誰もがあなたがしていることを好きになるわけではなく、あなたはそれに対処する必要があります。
Kernlは当初、「ShowHackerNews」の投稿とRedditのいくつかの投稿を通じて販売されていました。 その後、Twitterで関連キーワードを検索し、直接人と交流しました。 このプロセスは非常に手作業で労働集約的でしたが、数人の有料顧客を獲得するのに十分うまくいきました。
製品を始めるのに少し運がかかることもあります。 ちょうどその時、私はKernlを立ち上げていました。私の主なライバル(WP Updates)は、いくつかの怪しげな取引でサードパーティに売却されました。 彼らのユーザーコミュニティはこれに腹を立て、さらに彼らのサービスがダウンして数日間戻ってこなかったときはさらにそうだった。 その機会が私のドアをノックしていることを認識して、私は不平を言っているすべての人にツイートし始めました。 これは私が今まで受けた中で最高の顧客の流入でした。 これらの人々は彼らが信頼できる製品を必要としていました、そして私はKernlをその製品にすることを決心しました。
しかし、私は途中でいくつかの失敗をしました。 私はグーグルアドワーズでいくつかの実験を実行しました、しかしそれらは決してうまく変換するように見えませんでした。 2か月後、私は広告の掲載をやめ、他の選択肢を追求することにしました。 現実的には、Kernlをマーケティングするための最良のアプローチは、コンテンツマーケティングを介することだと思います。 これは多くのことになる可能性がありますが、WordPressの開発者固有の記事がたくさんある素敵なブログがあると、多くのトラフィックと潜在的な顧客をKernlに向かわせるのに役立つと思います。
あなたの顧客に耳を傾ける
私が何年にもわたって学んだことの1つは、顧客に対応することが非常に重要であるということです。 Kernlに関しては、私は可能な限り迅速に対応しており、顧客は一般的にそれを高く評価しているようです。 お問い合わせには、回答がなくてもすぐに対応するように心がけておりますので、お客様には問題が認識されていることがわかります。
迅速なコミュニケーションに加えて、Kernlの顧客に詳細な回答と説明を提供するようにできるだけ頻繁に努めています。 95%の時間、他の開発者とコミュニケーションを取っています。状況が逆転した場合、なぜ何かが起こったのか、それを修正するために何が行われているのかについてもっと知りたいと思います。 過剰なコミュニケーションだと考える人もいるかもしれませんが、コミュニケーション不足よりもコミュニケーション過剰の方が良いと強く感じています。
お客様との会話から学んだ最も重要なことの一つは、安定性の必要性でした。
Kernlのローンチのベータフェーズ全体を安定性と自動化に捧げることにしました。Tweet
Kernlの初期の顧客ベースの大部分は、ダウンタイムの問題のためにWP-Updatesから移行しました。サービスを維持できなかった場合、Kernlをその観点から見始めたくありませんでした。 そのことを念頭に置いて、私はKernlの立ち上げのベータフェーズ全体を安定性と自動化に専念させることにしました。 その2〜3か月の間に新機能は作成されませんでしたが、大幅なリファクタリング、自動テスト、およびインフラストラクチャの改善により、Kernlはアルファ版よりもはるかに優れた製品になりました。
現実的な目標を設定する
以前のSaaS製品の試みとは異なる、Kernlへのアプローチ方法はたくさんあります。 私にとって最も影響力のあるものの1つは、現実的な目標を設定することでした。 「3か月の終わりに1000人の顧客と5万ドルの収益が欲しい」とは言いませんでした。 代わりに、「Kernlからのお金だけで、月に1回、妻を素敵な夕食に連れて行ってもらいたい」という短期的な目標を設定しました。 その目標が達成されたら、私はもう少し大きな目標を設定しました。「車の支払いをする」+最初の目標です。
私にとっては、手の届かないところにある目標を設定することが重要でした。 それは私が努力することが達成可能であると私が信じた何かを私に与えました。 もちろん、私がKernlに対して持っている他のより大きな目標もあります(Kernlを私のフルタイムの仕事にする)が、それらはまだ遠い道のりです。 やる気を維持したいのであれば、短期的に努力する何かを持っている必要があります。
前向きに考える
KernlをWordPressSaaS製品として使用する旅のある時点で、壁にぶつかり始めたような気がしました。 顧客を獲得するのが難しくなったのかもしれませんし、私が十分に努力していなかったのかもしれませんが、Kernlは関連性を維持するために何か新しいものが必要だと感じました。 そのように感じ始めたとき、私はさらに先を考え始めました。 「価値の高いWordPressエコシステムに導入するのに役立つものは何ですか?」と尋ねました。 「このアイデアは、KernlをWordPressエコシステムを超えて拡張できますか?」
Kernlの当初の目標は、プライベートWordPressプラグインとテーマの更新を提供することでしたが、Kernlが成長するにつれて、開発者が展開ワークフローを最新化するのを支援できると思いました。 Kernlがリリースされてから、デプロイするプッシュ(GitHub、BitBucket、GitLab)、Slack通知、Webhook通知などを追加しました。 しかし、次の機能をもっと大きくする必要があると感じました。 ボルトオン以上のもの。 まったく違うもの。
Kernlの次の大きな目標は、これまでに設定した中で最も高い目標です。Kernlを機能フラグのプラットフォームとして使用します。 デプロイを行う必要なしに、一定の割合の人、個人、または全員にデプロイをゆっくりと展開できます。 この時点ですべてのサーバーとフロントエンドの作業が完了しているので、製品の拡張性と非常に使いやすいことを確認するために、製品をゆっくりとドッグフーディングしています。 また、WordPressエコシステムの内外の開発者をターゲットにしていますが、これは楽しいチャレンジになるでしょう。
製品ビジネスを持っているということは、あなたが常に動いている必要があることを意味します。 イノベーションをやめた瞬間は、新しいプレーヤーが宇宙にやって来て顧客を連れて行く瞬間です。