吃自己的狗食( eat your own dog food)是一种比喻的说法. 对于软件开发公司而言, 意思就是自己要尽量多用自己开发的软件.
唯有这样, 才能知道它是不是存在问题;而唯有重度的使用, 我们才知道它到底方不方便使用.
现实情况
而令人遗憾的是, 软件开发人员常常不是自己开发软件的用户. 有很多情况下, 可能就是上司交给我们一个任务, 需求往往也是客户拟好的. 作为一名开发人员, 我们只是把开发当作一项任务, 一项"工作"而已.
经常的情况是我们对软件的使用场景不熟悉, 也不知道软件为什么设计成这样, 我们常常只是机械地完成客户交给我们的任务.
如果某个特性客户提到了, 那它才会出现在最终的产品中;如果很不幸的客户没有提到, 又或者我们与客户之间存在沟通不良(这种情况太普遍), 那么这个特性就在我们的产品中消失了!而这个对最终的用户来说可能是很重要的, 而我们之所以对这样一个特性的遗漏毫无感觉, 一个很重要的原因就是我们并不吃自己的狗食!