ドッグフーディング
自分の作った物を自分で使う事
ドッグフーディングしてないプロダクトが、ドッグフーディングしてるプロダクトに勝つ方法は、大量の資本を投下した場合だけ
良いところ
クソ機能を使って困っている自分を想像できる
苦労して実装すると、その努力を無駄にしたくなくなってしまう
ダメな機能だとわかっていても、がんばったからmergeしてリリースしたくなってしまう
自分で使わないと、プロダクトに対して他人事になる
解決したい問題が「難しい機能を作っている自分」にすり替わる
クソ機能でも、がんばったから記念にmergeするようになる
そういうのをスパッと止められる
「がんばった努力を無駄にしない為にmerge」をしなくなる
使うのは自分だから、これから未来永劫そのクソ機能に苦しめられるのも自分になる
質が上がる
ドッグフーディングはよく「開発者が自ら使う」と表現されるが
「ユーザーが、気に入らない所を自分で直す」とも言える
使う人と作る人が同じなので、要望という
言語化プロセスで重要な情報が欠落しない
UserScriptのような仕組みを用意して、ユーザーに作らせるという変形版ドッグフーディングでも可能
楽をする為には苦労をいとわない
毎日何度も使う物は徹底的に磨き上げる
ちょっと実装に苦労するけど、自分が使う時間の方が長いから作ろう
という気持ちになる
もしドッグフーディングしないなら、金・モラル・技術的興味の3つ以外でモチベーションが出ない
しかしそれらは質とは関係ないし、逆に有害な場合もある
1. お金
だいたい何やっても定額なので、改善のモチベーションにはならない
2. モラル、プライド、良心
できない理由を並べる事でも多少は保護できる
3. 技術的チャレンジ
特定の技術を使う事が目的になると、使い勝手が二の次になるので危険
つまりドッグフーディングしないプロダクトは、ドッグフーディングしてるプロダクトに絶対勝てない
ただし滅茶苦茶にお金を積んだ場合は除く
複数のユーザーが矛盾した
要望を出してくる場合がある
落とし所を見つけれるのは実際に使っている人だけ
筋の通った一貫性のあるアプリケーションデザインになる