漁師は木を植え、企業はソフトウェアを公開する
- 前半ではドッグフーディングについて
- 後半で開発者としてドッグフーディングをするという視点
という流れになっています。
最後にタイトルを回収しますが、タイトルに引っかかったという人は流れも含めて読みいただければと思います。
この記事を書くきっかけになったのは、個人開発者界隈で有名なのTAKUYAさんのツイートです。
毎日自分で使う とは? おれはドッグフーディングできていない
それは上記のツイートの 「毎日自分で使う」 という本当の意味は文字面通りではなく、もっと深いと思っています。
本当に生活に必要としていて、お金を払って使いたい。ヘビーユーザーになれるのか?という話です。
「毎日自分で使う」のは表面上は簡単でしょうが、サービスで提供する機能を網羅的かつ深い部分でそれを実践できる人はどのくらいいるでしょうか?
私はそういう意味では自分の作ったサービスを毎日使えていません。理由は "自分は"必要としていないサービス だからです。
私は普段開発の仕事をしているので使うサービスは開発関係が多いですが、自分のサービスのユーザーはECサイト運営者や事務職の方です。
だけど困っている人がいて、ありがたいことに仕事で使ってくれる人やお金を払って使ってくれる人がいます。
自分は必要じゃないけど、困っている人がいて、それを解決できるから解決する。ということを続けています。
TAKUYAさんはいわゆるドックフーディングをしてアプリを高い水準まで引き上げ、プロダクトを磨き続けています。
ドッグフーディングはいいプロダクトを作るためにとっても大切な行為です。
ユーザーの気持ちが解像度高く理解できるので、改善するにしても迷いなく改善できるはずです。ユーザーの痒い所に手が届く新機能を追加できるはずです。
私は作ったサービスを自分自身必要としていないことにコンプレックスを感じていました。
ドッグフーディングして成長しているサービスをみて「いいなあ 羨ましい」と日々思っています。
もちろん最低限は自分でも使いますよ?しかしその目的は動作確認するためのテストであって、本当に使う とは程遠いです。
一応本とか読んで、これまでユーザーの解像度を上げるために考えられることはやったつもりです。
- 友達に使ってもらったり
- ユーザーにアンケートを送ったり
- データ分析したり
- GAやhotjarなどのサービスを使っていろんなイベントを計測したり
確かにこれらは改善に繋がりました。
しかし、テキストやデータで得られるインサイトは自分が本当に使うことによって得られる非言語の情報量に比べるとごく一部にすぎないのです。
意味がないとは言いませんが、ガチのドッグフーディングに勝るものはないでしょう。
「ああ、おれはドッグフーディングができないな」 と日々悶々としていました。
この問題に対して今までなんとなく見ないフリをしていましたが、このツイートをきっかけにもう少し深く考えました。
解決策はありませんが、自分なりの回避策を見つけました。
どうすればドッグフーディングできるのか
1年ほど前にサービス開発の中でコアの処理をOSSのライブラリ化しました。
公開からしばらく経って、少しは他の開発者に使ってもらえるようなライブラリになってきました。
ある日、サービスで使っている他のUIもOSS化して欲しいと要望がありました。(Template design & code generator source)
期待に応えようと現在作業中です。そこで気が付きました。
サービスでは自分はユーザーになることができなかったけど、
作ったライブラリはサービスから切り出して、ライブラリ化した後それをサービスで使うので、ここならおれは開発者であり、ユーザーになれるぞ と。
憧れのドッグフーディング!!ができるじゃないか!!
サービスにはユーザーがいますが、それを作っている開発者もライブラリなりフレームワークなりプログラミング言語からするとある意味ユーザーです。
自分を含む開発者をユーザーとして考えると、ライブラリを作り、それをサービスで使うことでドッグフーディングできるということに全く気が付かなかったのです。
また、OSSにすることで自分だけでは発見できなかったことが知識として溜まっていくこともあります。
例えば韓国語フォントで利用してくれた人がいてそこでも知見が得られました。(About using Korean.)
他にも文字組み周りのバグやQRコードのバグがあったのですが、それを解決してくれたりこれまでOSSの素晴らしさ、楽しさを感じてきました。
結果的にライブラリはブラッシュアップされサービスに戻り、既存ユーザーもその恩恵を受けることができそうです。
もし韓国語フォント対応します となれば新しい韓国フォントを利用したい新しいユーザーに価値を届けることができるかもしれません。
一般的なドッグフーディングじゃないけど、うまく回りそうな気がしてきたぞ!
今はライブラリの開発をリニューアルするために夜な夜なコードやドキュメントを書いています。
おわり サービスがライブラリを作る流れは開発サイドのドッグフーディングである
自己流のものを考えついたぞ!というときには大体もう他の人がやっています。
皆さんもご存知だと思いますが、既にこの流れは海外ではかなり前から当たり前にありました。
規模が違いすぎてあれですが、Reactもfacebookから生まれていますし、サービスを磨き続ける上でも非常に大事な、ドッグフーディングが開発サイドで完成しています。
プロダクトやサービス主体でOSSを公開したり、サポートし、結果的にプロダクトやサービスを改善するという流れはオープンソース好きの自分からするとただただイケてるだけではなく、非常に合理的だったのです。
もちろん、日本でも同様の動きがあります。
Vue界隈で有名なkazuponさんの記事にもプロダクトとOSSについて書かれており熱い気持ちで拝見しました。
OSS とプロダクトを通して互いにフィードバックし合うことで、双方のシナジーによって互いに貢献してきました。
2022年から「より」オープンソースにフォーカスします
それではタイトルの回収をしますね。
下記の画像をご覧ください。
「森が消えれば海も死ぬ」
現在、漁師たちが山の木を育てる「漁民の森」運動が全国で進められているそうです。
森の生態系を守ることで結果的に海で多くの魚が育ち、漁ができます。そのため漁師たちは山に木を植えるのです。
この関係と企業がOSSを支援する関係が似ているなと思いました。
オープンソースコミュニティが盛り上がれば企業はいろんなケースが網羅されたソフトウエアを使ってより高品質はプロダクトを開発できるはずです。
高品質なプロダクトは世の中を少しでもよくできる可能性があります。
技術的に応用が効くような処理など、個人でも企業でも気軽にOSSにして色んな人に使ってもらえるようになると面白いと思います。
サービスではドッグフーディングできないという開発者でも、開発サイドのドッグフーディングを体験することができますし、この流れはオープンソースコミュニティをもっと盛り上げると思います。
非常におこがましいですが、facebookになった気持ちで有用なライブラリを公開してOSSコミュニティーに還元できたら素敵だなと思っています。
このマインドが一般的になればこれからはもっと優秀な企業発OSSライブラリが出るはずですし、企業に勤めているOSSの開発者がもっと一般的になるかもしれません。
どうもでした。
Discussion