昨天看了鬼脚七《关于产品经理的四点思考》,很有感触。2009 年从做前端类库 KISSY 开始,越来越体味到对技术人员来说,拥有一颗产品心也非常重要。
下面说的产品,特指基础技术类产品,比如类库、框架、开发者工具、内部平台等。很多公司,有一定规模后,都会有专门人员投入基础技术类产品的研发。这类产品,不会直接面向最终用户,但会影响开发效率,以及最终产品的稳定、质量、性能等指标。
对于基础技术类产品,要做好很不容易。下面是我的一些思考,欢迎讨论。
1. 去做产品,而不是项目
在本厂,有不少华丽丽的项目,但隔半年或一年后,就销声匿迹了。想通过一两个项目来造就基础技术类产品,基本上不太可能。
项目最多种下一棵小树苗,树苗要长大,更需要平平淡淡的日常工作。平时一点一滴灌溉,不断去施肥修正,树苗才能长成大树。
产品人的心中永远没有“做完了”。产品有黑夜有白天,有欢喜也有泪水,产品人心中最重要的是梦想与坚持。
2. 学会欣赏,而不是颠覆
看见已有系统的缺点往往很容易。看见缺点后,经常会看不见缺点背后的大量优点。对于复杂系统,保持现状往往是最正确的选择。当然,这不代表着不去做改进,或不能去颠覆。
绝大部分决策,要解决掉现有系统的不足,更需要的往往是延续现有系统的优点,否则很容易做出看似勇敢却路漫漫的决策。
3. 少做、做好、做通
要懂得说不,有所放弃,有所坚持。少做是为了多做,是为了不做。对基础技术类产品,保持适当的慢,才能确保以后的快。
坚持做少,才有机会做好。好不光体现在技术上,还要与场景紧密结合,真正服务好使用者。
做通是在做好的基础上,能用技术驱动创新,能触类旁通,能由点及面。由深度带来广度,以一渗百。通是平台化、体系化。
4. 顺势而为,而不是逆流而上
对技术人员来说,逆流而上很吸引人,但充满着危险。顺势而为是保持对业界的关注。技术变化很快,新思想、新潮流未必代表着什么,但保持对社区的适量关注,适时跟进,往往能节省团队的大量时间。
比如,对前端开发来说,我们可以继续延续 Ant 或 Maven 等工具方案。但如果能看到Node.js的兴起,能适时跟进 Grunt 等社区,那么我们的很多工作,都可以省掉。通过业界的成熟方案,稍加定制,就可以达成目标。
顺势而为可以让团队走得更快,不光速度快,心情更是愉快。
5. 追求小而美,打造生态圈
很多基础技术产品,做出来相对容易,维护起来可是一场噩梦。你所在的公司,是否会有某一两个系统,常年需要那么一两个固定的人员或团队持续维护?
好的产品成年后,应该能自我前行。SeaJS 的目标是希望能把 SeaJS 做“死”。“死”代表着稳定,也代表着重生。稳定是功能增无可增,减无可减,bug 接近零。重生是社区之美,就如 jQuery 一样,原始作者 John Resig 可以安心去创业,jQuery 能通过社区的力量不断自我前行。
小而美是事物的形态,小意味着成本、可替换性、可维护性等各方面的优势,美意味着功能的完备与稳定。就如 Shell 的命令一样,一旦成熟之后,可以十几年甚至永远不用再更新。
生态圈的形成,可以让良币驱逐劣币,适者生存。生态圈也代表着解放,世界上不缺聪明人也不缺勤快人,缺的是一种机制,能让这些聪明又勤快的人积极主动地一起来共建生态。打造生态圈,无论是在公司内还是整个业界,都非常重要。一旦形成了,生态圈里的产品就都会都有了生命,活跃灵动起来。
最后,想分享 Amazon 掌门人杰夫·贝索斯的一句话:It is always Day 1(永远是第一天)。无论是做得很差,还是压根儿就还没开始做,只要开始,就有机会。如果已经做得很好,也不代表以后会好,每一天都是第一天。