世界を動かす技術を、日本語で。

スケールしないことをやる (2013)

概要

  • Y Combinator でよく伝える「スケールしないことをやる」重要性
  • 初期ユーザー獲得 は手作業で地道に行う必要性
  • スタートアップ初期の脆弱性 と成長過程の誤解
  • ユーザーへの徹底したサービス と体験向上の重要性
  • 狭い市場から始めて熱量を高める戦略 の有効性

スケールしないことをやる意義

  • スタートアップは 創業者自身の努力 で成長を加速させる必要性
  • 自動的に成長する企業は稀 で、最初は手作業でエンジンを回す作業が不可欠
  • Stripe の初期はユーザーを一人ずつ手動で獲得した事例
    • Collison installation と呼ばれる、即時にユーザーのPCでセットアップする手法
  • 創業者が手動でユーザーを獲得 することへの抵抗
    • 恥ずかしさや面倒さ数の少なさ への過小評価
    • 複利的成長 の力を見誤る危険性
  • 最初は手作業でユーザー獲得、成長に合わせて自動化へ移行

初期の脆弱性と成長の誤解

  • Airbnb も初期は創業者自らがニューヨークでユーザー獲得
  • スタートアップ初期は非常に脆弱
    • 短期間の努力 が成否を分けるケースも多い
  • 外部の評価 (投資家やメディア)の誤認
    • 自分自身が諦めてしまう ことが最大のリスク
  • Microsoft のBill Gatesも初期の可能性を過小評価
  • 「今は小さいが、正しい努力をしたらどこまで大きくなれるか」 という視点が重要

初期ユーザーの発見と獲得方法

  • 自分の課題を解決するプロダクト なら、同じ課題を持つ仲間探しが基本
  • それ以外の場合は 初期ユーザー層を観察し、熱心な層を特定
    • 例: Pinterest のBen Silbermannがデザインブロガーイベントでユーザー獲得

ユーザーを喜ばせるための徹底した工夫

  • Wufoo の手書きサンクスカードのような、 非効率でも印象的な対応
  • 初期ユーザーが「最高の選択だった」と思う体験 を提供
  • エンジニア出身創業者 はカスタマーサービスに不慣れな傾向
  • 「スケールしない」ことへの不安は 現状では問題にならない
  • 大企業ではできないレベルのサービス が小規模なら可能
  • 既存の常識を超えた体験 を考えることの重要性

「Insanely Great」な体験の本質

  • Steve Jobs の「insanely great」精神の解釈
  • 初期はプロダクトよりユーザー体験に全力投球 するべき
  • 不完全な製品でも、ユーザーとの密な対話で補完
  • 初期ユーザーとの直接的なフィードバック が最も貴重
  • 完璧主義よりも早期リリースと学習サイクル が重要

狭い市場で火をつける戦略

  • Facebook の初期戦略: Harvard限定 で熱量を高め、徐々に拡大
    • 小さな市場での圧倒的な支持 が成長の起爆剤
  • 初期は狭いターゲットに集中 し、熱量を蓄積する重要性

このように、 スタートアップ初期はスケールしない地道な活動 が成功の基礎となり、 ユーザーとの密な関係構築 が後の成長を支える鍵となる。 大きな成功の裏には、非効率で労力のかかる初期活動 が必ず存在する。

Hackerたちの意見

これがHacker Newsで最初に見た投稿だった。たまに再投稿されるのを見ると嬉しいな。懐かしい気持ちになる。

ポールを叩いてる人が多いけど、まあそれも仕方ないかな。ただ、あんまり役に立たないしポジティブでもないよね。これは「早すぎる最適化はしない方がいい」とか「自分よりずっと大きな会社の真似をしない方がいい」っていう、結構いいエッセイだと思う。これには3つの利点があるよ。1つ目は、創業者として手を動かすこと。全体的には非効率かもしれないけど、直接体験してフィードバックを得られる。2つ目は、「スケールする何か」の初期コストを避けられるから、早くフィードバックが得られる。3つ目は、初めのうちは他と違うことが大事。だから「スケールしないことをやれ」っていうのは、ポイントを強調するための言い回しで、文字通りに受け取るべきじゃない。

ポール・ハードリーを叩いてる人が多いけど、「多い」ってほどでもないよ。ネガティブなコメントは3つくらいで、そのうちの1つは記事自体を批判してるだけでポールのことじゃないし。良いポイントを挙げてると思ったけど。

成功しているビジネスや価値のあるビジネスが、必ずしも何百万、何十億のユーザーを持っているわけじゃないってことも大事だよね。私は会社の内部ツールに関わってるけど、自分たちの環境がどれくらい大きいか分かってるし、パフォーマンスに敏感ではないし、自分たちが引き起こさないランダムなスパイクもない。だけど、チームにすべてを最適化しようとする人がいて、その人は自分だけが知ってる新しい言語にコードベースを全部変えちゃったんだ。数ミリ秒を節約するためにね。彼以外は誰も気にしなかったし、誰も気にしてなかった。彼の最適化はリスクを生むだけで、彼だけがサポートできるものを作ってたから、彼が辞めたとき、管理側の要求で全部捨てちゃった。もう少しシンプルで遅ければ、他の誰かが手を加えるのも楽だったかもしれない。

「早すぎる最適化をするな」とは大きな違いがある。「早すぎる最適化」というのは、スケールしたバージョンが最適であることを示唆している。達成するためのリソースコストが見合わないかもしれないけど、それを無視すればそれがベストだと。対して「スケールしないことをやれ」は、スケールしていないプロセスが最適かもしれないってことを示唆している。例えば(これも記事にあったと思うけど)、CEOに直接連絡先を渡す代わりに、共有のカスタマーサービスや営業の受信箱に送信される一般的なフォームを使うのは、製品を売るためのプロセスとしてはずっと良い。問い合わせフォームはスケールするけど、早すぎる「最適化」ではない。別の言い方をすると、スケーリングは悪い。もう少しニュアンスを加えると、必要悪だ。複雑だし、リソースを多く消費するし、顧客との距離を生む。もちろん、ビジネスの目標や環境によってはそうなることもあるけど、それがプロセスの質を低下させないわけではない。だから「早すぎるプロセスの劣化を避けるべき」って言った方がいいと思う。

「自分よりずっと大きな会社のように振る舞おうとしないで」これはいいポイントだね。

成功した会社を作ったことがない人もたくさんいるよね。

多くの人が、一夜にして成功したいと思っているけど、その重圧に耐えられなくなったり、勢いを失ったりすることを心配しているんだよね。だから、水平スケーリングの必要が出る前に、すごくスケーラブルなものを作ろうとする。僕は垂直スケーリングが過小評価されていると思う。モノリシックなバックエンドにリソースを追加するだけで、製品をどうスケールさせるかを理解するための時間を十分に稼げるんだ。もっと重要なのは、ユーザーが求めている製品の強みを再考する時間が得られること。それによって、何をスケールさせるべきかを理解できるようになる。ユーザーが本当に製品を愛してくれれば、パフォーマンスが不安定でも許してくれるよ。初期のTwitterは、すごく不十分なアーキテクチャ(Railsアプリ)で作られていて、よく落ちたりしてたけど、「フェイルクジラ」を覚えてる?それでも、ユーザーはどんどん集まってきたんだ。なぜなら、重要なことをちゃんとやっていたから。僕にとって、初期段階は簡単に反復して、ユーザーを喜ばせる要素を見つけることが全てだと思う。スケーリングは無視して、実験して、ユーザーの声を聞いて、話をしよう。うまくいったら、その時にスケーリングを考えればいい。予想外のタイミングで起こるかもしれないし、最適化できないこともある。テクノロジーは道具であり、楽器なんだ。ストラディバリウスを持っているのは素晴らしいけど、まずは良い音楽が必要だよね。

「自分よりずっと大きな会社のように振る舞おうとしないで」これは、あらゆる段階の組織にとって本当に良いアドバイスだと思う。コンサルタントとして、スタートアップや小さな会社が、自分たちが法人だからといって必要ないポリシーを採用して自分たちを縛ってしまうのを防ぐために多くの時間を使っている。そういうポリシーは、最低でも数百人が関与している組織でしか意味がないからね。k8sからnosql、過度に制限されたセキュリティポリシーまで、いろいろあるよ。Netflixの従業員ハンドブックが、このポイントを強く印象付けてくれた。小さいうちは、良い人材を雇っているなら、実際にスタッフにリアルな責任を委譲して、彼らの判断を信じることができる。リスクが許容できないレベルに達するか、問題が明確になるまでは、すべてを厳格なルールにする必要はないんだ。

要するに「持っていない問題を解決するな」ってこと。

私の理論では、3つの状態があると思う。「スケールしない」「スケールする」「アンチスケール」だ。「スケールしない」は、自分のモートを越えて強化すること。「スケールする」は、アプリが十分な話題性を持っていて、顧客が新しい顧客を呼び込む状態で、あとは新しいマシンを追加したりデータベースをシャーディングしたりして需要に応えるだけのこと。「アンチスケール」は、現代のウェブでみんなが嫌がるものに変わること。例えば、情報機関があなたのチャットアプリがテロリストに使われていることについて話したいと言ってくるとか、都市があなたのライドシェアやテイクアウト配達アプリへのアクセスをライセンスしたいと言ってくるとか、特定の法律があなたの会社を狙って通過すること。あなたがアプリの創業者として十分に知られていると、人々があなたについてのミームを作ったり、あなたの動きを追跡したりすることもある。世界を支配する必要はない、ただお金を稼げばいい。世界を変えようとする人は、しばしば悪化させることが多いから、ただ役に立つものを作ってみて、もしかしたら世界もそれを好きになってくれるかもしれない。

お金を稼ぐだけでいい。指標(例えば利益)が目標になると、それは良い指標ではなくなる。 -- グッドハートの法則。

関連情報。他に? Ask HN: PGの「スケールしないことをやれ」のマニュアル例? - https://news.ycombinator.com/item?id=38010992 - 2023年10月(316コメント) スケールしないことをやれ(2013年) - https://news.ycombinator.com/item?id=26086196 - 2021年2月(31コメント) PG:「スケールしないことをやれ」- 具体例は? - https://news.ycombinator.com/item?id=25898671 - 2021年1月(2コメント) Ask HN: あなたのB2Bスタートアップで「スケールしないことをやった」方法は? - https://news.ycombinator.com/item?id=15290433 - 2017年9月(9コメント) スケールしないことをやれ(2013年) - https://news.ycombinator.com/item?id=14957007 - 2017年8月(37コメント) スケールしないことをやれ - https://news.ycombinator.com/item?id=6041765 - 2013年7月(207コメント)

HNに見せる: スケールしないことをしたスタートアップのディレクトリ - https://news.ycombinator.com/item?id=41490865 - 2024年9月(12件のコメント) HNに聞く: スケールしないことをした本物の創業者のハックは何ですか? - https://news.ycombinator.com/item?id=18400020 - 2018年11月(267件のコメント) なぜ私たちはスケールしないことをしているのか - https://news.ycombinator.com/item?id=6102285 - 2013年7月(34件のコメント)

スケーラビリティは過大評価されている - https://news.ycombinator.com/item?id=34656776 - 2023年2月(232件のコメント)

ストライプは、私たちが資金提供した中で最も成功したスタートアップの一つで、彼らが解決した問題は緊急性のあるものだった。もし誰かがユーザーを待っているだけだったら、それはストライプだっただろう。でも実際、彼らはYC内で積極的な初期ユーザー獲得で有名なんだ。これが12年前の話。彼ですら、こんなに成功するとは想像できなかっただろうな。投資できる方法があればよかったのに。

スタートアップについて書かれた中で、一番重要なことかもしれない。新しいことをする際にも適用できるけど、スタートアップの場合、細部が大事なんだ。目標はスケールすることだけど、スケールしないことを順番にやっていくことでそこにたどり着く。

最近ポッドキャストで聞いたことがすごく響いたんだけど(意訳すると)、「慣性がスタートアップにとって最大の問題。世界は君を必要としていないと思っている…それを逆転させなきゃいけない。ゼロから勢いを作り出さなきゃいけなくて、創業者がやるべき最も重要なことは、慣性を逆転させることなんだ。文字通り、物理的な意味で。世界は静止していて、君が勢いを生み出さなきゃいけない。」これを考えると、スケールしないことをやるのが理にかなってくる。最初は、すでに動いている機械を最適化しようとしているわけじゃない。エンジンを動かすこと自体を目指しているんだ。PGの言いたいことは、スケーラブルな成長は後から来るってこと。まずは、そのものを手動で動かさなきゃいけない。手動でやるのは効率的だからじゃなくて、誰も君を探していないときに traction を得る唯一の方法だからなんだ。それが、実際に何がうまくいくかを学ぶ方法であり、一人ずつユーザーを増やしていく方法であり、スケールする価値があるものを証明する方法なんだ。

手動でやることの最大の価値は、実際に学べることだと思う。あるクライアントは、重要な金融や株式市場のニュースをまとめた素敵なリストを作っていて、それはニッチな製品の一部だったけど、みんなそれを気に入ってた。ある時、彼はすべてを自動化しようと考えたんだけど、それがあまりキュレーションされなくなって、スパムっぽくなって、価値を失ってしまった。結局、製品も同じようにダメになった。確かにニュースは増えたけど、キュレーションや編集が減って、信号対ノイズ比が悪化したんだ。実際、彼らが手動でやっていたことの方が、範囲は小さくても価値があった。多くの会社はそれを理解していなくて、早すぎる最適化に走ってしまう。もう一つの例を挙げると、あるクライアントが競合の価格を手動でチェックするためのスクレイパーを自動化したいと言ってきた。僕は彼らが望んでいたよりもずっとシンプルなものを作った(彼らはちゃんとしたフロントエンドのアプリが欲しいと思っていたけど、実際にはデータをエクセルのスプレッドシートにする方が良かった)で、彼らは満足していた。でも、しばらくして、彼らは体験の一部を失っていることに気づいた。競合を手動でナビゲートすることで、カタログの新しい見せ方や新しいトレンド、製品を見つけて、実際に競争から学んでいたんだ。最終的に彼らはそれに気づいて、手動でやることに戻り、価格分析のためだけに僕のスクレイパーを残した。でも、ほとんどのクライアントは、製品や問題の前に自動化を優先して、重要な学びの機会を逃しているんだ。

すべての初期段階の創業者や、早い段階のチームメンバーにとっておすすめの読書だよ。私たちがやっていることの一つは、15人以上になった今でも、新しいサインアップがあったら必ず電話をかけること。理由はこれだよ:1) どうやって私たちを見つけたの? 2) 始めるのに助けが必要? 3) (暗に:私たちは気にかけている)多分、これがうまくいくのは、私たちがB2Bプラットフォームだからだと思う。でも、私たちのターゲットグループはソフトウェア開発者で、意外にもこれらの電話は本当に良いものなんだ。最初の「いや、何かを売るために電話しているわけじゃないよ」っていう段階を乗り越えればね :)

pgが間違ってるとは全然思わないし、ビジネスを運営してるわけでもないから、これはただの独り言なんだけど、プロジェクトの楽しさの大部分は、どうやってスケールさせるかを考えることなんだよね。もちろん、ソフトウェアのスケーリングについては、このフォーラムではあまり説明が必要ないけど、コードをメンテナブルにして、たくさんのユーザーと一緒に動かすのは本当に面白くて楽しいと思う。でも、ソフトウェアだけじゃなくて、他のプロジェクトでも「もしこれを百万回やらなきゃいけなかったら、どうやって楽にできるかな?」って考えるのが楽しいんだよね。例えば、何十人分の食事を一度に作る方法を考えるのは、実際にはそんな状況がないとしても、結構楽しめる。OctoFarmを使って3Dプリントの部品を大量生産する方法を考えるのも楽しいし、実際には一度に一つの部品しか必要ないんだけど。工業用のCO2容器やソーダ用の樽を買うのも、なんかクールな気分になれる。うーん、スケーラブルじゃない方法でやらなきゃいけないのは、なんか楽しさを奪われる気がするけど、それがpgの言いたいことなのかな。