ビルドインパブリックという開発手法

2025/03/28

昨今のWebサービスは作ることよりも使ってもらう方が難しい。技術の進化により作ること自体はかなり簡単になった。小慣れた機能や美しいデザインも作れる。難しいのはサービスを知ってもらい、そして使い続けてもらうことである。

「ビルドインパブリック」という手法がある。これはリリースしたサービスの開発状況や改善の様子をXやブログで公開していき、それによりサービスのユーザーを増やしていく方法。自分の使っているサービスの新機能が出来上がっていく様子を知れるのは何となく面白い。リリース時点では機能が足りてなくても、その後すぐに追加されそうであれば利用を続けてもらえる可能性もあがる。そんな事情もあり、特にXなどでコミュニティが形成されている開発者に向けたサービスなどではビルドインパブリックがよく用いられている。

認知してもらうには継続的な発信が必要だが、自分の開発しているものであればネタには困らない。そういう意味でビルドインパブリックはよくできた手法だが、個人的には落とし穴もあるように感じる。開発で難しいのは後方の互換性を保つことで、新しい機能をリリースする際に他のシステムや過去データが壊れないように気をつけるのは思った以上に難しい。公に発信するとなるとトピックが欲しいので次々とリリースすることに力学が働くが、突貫で作ってしまうと負債になり後半の開発にブレーキがかかりだす。では作り込んでから一気に出せば良いかというとそうでもない。市場のタイミングを逃すリスクがあったり、リリースしないとそもそも反応がないので誰も必要としていないものを作り込んでいる可能性がある。結局はバランスということになり、どこに重心を置くかは開発チームの性格によって違いが出る。

日本だと有名なのはInkdropというサービスを開発しているTakuyaさん。開発の様子や考えなどを発信しながらファンを増やされている。見た目上はブログを書くだけなので簡単に見えるが、その内容が芯を喰ったものであったり、その人なりの考えがあって読み応えがあったりでないとすぐに人は離れてしまう。そして何よりまず魅力的なプロダクトがあるというのが大前提。そもそも価値のないプロダクトでは周りをどれだけ豪華に飾っても真に響くことはない。それに良いプロダクトであればそれ自体に宣伝効果がある(クチコミで広がる)。まずはコアのプロダクトに集中、そして次に広める。どちらも大事だが、順番があることは忘れないようにしたい。


AI開発はいちいち未来に思いを馳せて忙しい

2025/03/27

AI激動期で変化が激しい。AIを上手く活用すれば誇張なしに10倍以上の速さで作れるということで、最近は作る対象そのものよりも「AIの活かし方」の議論が増えていると感じる。AIとのチャットだけでWebサービスを作ることを「Vibe Coding(バイブコーディング)」というらしい。細かいところは気にせずバイブスで実装する。世界中のコードから学習したAIは、バイブス任せでも自分より良い実装をしばしばしてくれる。

AIについて調べながら実装していると、未来の広がりに気を取られて目の前の仕事から意識が剥がされるというのがよくある。将来はこういうこともできそうだ、こういう世界もありそうだ等と考えるのはとても楽しい。しかし手を止めていては前進しないし、その妄想もどこまで実現するかは分からない。世界の研究や論文を追っていけば妄想の精度も高いかもしれないが、リリースされたサービスだけを見て先まで語っても核心にまでは辿り着けない気もしている。

今自分は「ビジョンを考える人」なのか「実装者」なのか、モードを切り替えて作業する。実装者のときはもくもくと作業する。ビジョンを考えるときはとことんまで広げる。実装を進めることでそのビジョンが本当に合っているか確認することにもなる。この2つはフェーズでは区切れず交互に訪れるもの。手を動かす、手を動かす、頭を働かせる。これくらいのリズムで作れば方向を間違えずに前進できる。


「朝1分、人生を変える小さな習慣」を読んだ

2025/03/26

朝1分、人生を変える小さな習慣」を読んだ。習慣に関する本はとても多い。みんな自分の習慣を変えたい(そして変えられない)のだろう。自分も色んな習慣本を読んでいる。単純なので本に書かれたことを気に入ってすぐ実践するが、3ヵ月くらいすると元の生活に戻ってしまう。でも3ヵ月は持つので、3ヵ月ごとに習慣の本を読めばそれなりに生活を整えられることが分かった。習慣本には共通する内容が多いけど、それはいつも自分に刺さってくる。

この本では人生を前向きにするための30個の朝の習慣が述べられている。印象に残ったものをいくつか書く。まずは「ポジティブシンキングするよりも、物事を軽く受け止める練習をする」というもの。前向きに考えるのは良いことだが、ポジティブシンキングをしなければいけないと思ってしまうと事実を歪めて認識することになる。本当は自分は辛いのにポジティブで覆ってしまう。表面は明るいけど内面では落ち込んでいる。こういうズレが自分を疲れさせてしまう。軽く受け止めるというのは、簡単にいうと「そういうこともあるよね」で終わらすこと。ミスして上司に怒られた。そういうこともある。上司に怒られてムカついた。そういうこともある。誰かにムカついているネガティブな時間はやめよう!人生をハッピーに!とはベクトルが違う。ただ受け流す。物事をありのままに捉えられることが心の平穏を生む。

次に、何かに取り組むことについて。うまくなりたいことは数多くある。それなのにすぐ諦めてしまうのはなぜなのかか?考えてみると、その根底には人よりも早く成果を挙げたいという欲がある。競争社会で育った私たちは無意識に人と自分を比べてしまう。最短で最大の成果を出す「ハック」を探してしまう。物事に取り組むことは時間がかかる。他人と比べず、日々コツコツと自分のペースを保って取り組むのが良い作法。

最後に、自分の中の小さな子供について。大人になっても自分の心の中には小さな子供がいる。何かをやって褒められたら嬉しくてもっとやるし、厳しい評価をされたらやる気をなくして拗ねてしまう。内なる声を聞けるのは自分しかいない。自分がかけて欲しい言葉を考え、それを自分にかけてやる。自分がやったことを過小評価しない、卑下しない。頑張ったところはちゃんと自分で認めてあげる。他人に自慢ばかりしていると品位が下がるが、自分に声をかける分にはいくらしてもしすぎることはない。


今が「途中」だと思えば気が楽になる

2025/03/25

どんな結果にも運の要素は含まれる。例えばWebサービスを作っていて、どれだけ技術力があり、どれだけデザインを作り込んでも時期やタイミングが悪ければヒットしないこともある。「絶対に当ててやる」と気合い十分で挑んでもコントロールできないことはある。自分にできることは完成度を高める、作ってるものが本当に役立つか考え続けて改善するなど、自分のコントロールできる中で最善を尽くすところまで。

「絶対に当てる」をゴールにすると運要素が絡み、達成できないときに自分を責めることになる。こういう時は「いまは道の途中」だと考える。もしリリース後に誰からも注目されなくても、届けたい人に届くまで続ければ良い。仮に作ってるものが大炎上してしまっても、次に作るものでその教訓を活かせばいい。ゴールからの逆算ではなく積み上げで考える。昨日より今日に出来ることが増えていればそれで良い。

絶対はないと分かりつつ、それでも99%を目指して頑張る姿勢もある。それも尊重されるべきだと思う。その方が自分が燃えて楽しいならそれで良い。しかし後がないような状況に自分が追い込まれてしまうならそこまで切り詰めなくても良い。幸せとはゴールすることではなく、ゴールに向かう道中にこそある。目標に向かって進む過程そのものを楽しめる状態でいたい。


自分がかけて欲しい言葉を自分でかける

2025/03/24

家族や友人、恋人など自分の身近な存在であっても自分のことを100%知ってもらうことはできない。各々がこれまで形成してきた価値観があり、その窓を通してしか世界を見ることはできない。例えば何か悩んでいたとき、それを相談するともらえるのはその人の立場からのアドバイス。これは自分が心から欲しかった言葉ではない場合が多い。しかし相談を聞いてくれてアドバイスまでしてくれるのはありがたいこと。少し違和感のあるアドバイスをそのままやってみることもあるが、やはりしっくりこない。

自分がかけて欲しい言葉は自分がすでに知っている。なら自分で自分に声をかければいい。紙に自分の悩みを書き出す。次に別の自分に切り替え、その悩みに対するアドバイスを書いていく。自分がかけて欲しい言葉はなんなのか。具体的な解決策なのか、自信を失っていて肯定して欲しいのか、寂しくて誰かに側にいて欲しいのか。スラスラと書いていくうちに自分の心が回復していくのが分かる。その言葉はピッタリ自分向けの言葉なので、無理に自分をズラして合わせる必要もない。

自分に自信が持てないとき、過去の誰かの発言がトラウマとなってる場合が多い。小さい頃に母親からかけられた言葉など、自分が大切に思っている人からの言葉ほど強く刻まれる。それも同じく紙に書き出し、冷静な今の自分で分析する。自分に植え付けられた価値観は本当に正しいのか?その言葉をかけた人はどういう世界が見えているのか?「親も同じ人間で間違えることがある」と理解できた時が真の親離れの時期だと最近本で読んだ。人は自分の見える世界で考える。自分にとって何が大事かは、自分が決めなければいけない。