|
最近读到 Warren Harrison 在 IEEE Software 上发表的一篇文章:"Eat your own dogfood",很巧的是又读到 ZDNet 的一篇文章 "Google eats its own dogfood with GData"。
"Eat your own dogfood" 的另外一个可换用的短语是 "Eat your own cookie",意思很简单,就是“自产自用”。好处是可以自己体会一下自己做的东西,如果自己不满意,只好“己所不欲,勿施于人”,努力改进,直到自己满意。不过我的观察,很多软件项目不算 "garbage in, garbage out" 但至少是 "quick and dirty",自己做的东西,能当甜美的"饼干"吃的,比较少,倒是比较多的是“狗食",给别人品尝的,好在下个版本里改进。
开源项目是最能体现这个观念的,平台、语言、工具、数据库,没有就自己做一个,都是给自己用,或者自娱自乐,不管是饼干还是狗食,味道都还算好。
不过话说回来,如果只是自己吃这个“饼干”,长久下去,也有问题,不了解客户的感受,不接触别人/竞争对手的做法,只怕自己的“饼干”变成“狗食”,然后再慢慢地变成“狗剩”,被淘汰出市场。
Google 是一个有趣的公司,它的开发方法中,据了解,首先文化上是扁平的,每个人都能够提主意,公开、透明,有一套机制来评比和排序。然后小规模团队,快速开发、验证,既讲究自己吃,也讲究不时地请目标用户一拨一拨地来测试、反馈,差不多了,发布自己的冬冬,还“永远 Beta”,希望这个饼干的美味一直新鲜下去。
以后,我们的开发管理过程也学学这个,除了请别人来品尝饼干,自己也多吃吃自产的狗食,避免被归到“狗剩”那一拨里 :)
|
一共有 3 条评论
让草根来得更猛烈些吧。
对于某些小范围的open source,十几个developer,几个committer,对自己产品的激情和热度很容易维持;当开发规模过大,设计开发细粒度分离,早期的想法被很多人无数次review、讨价还价、折中后已经面目全非,到实现的时候这块狗粮能激起的兴奋点已经大打折扣了。
我想等Google成长到几万人的时候,可能也会有同样的问题。当敏捷到达一定程度上不得不Rup的时候(技术上和政治上的需求),狗剩就该出现了。
看上去这是一个给管理者的难题。