还记得以前发过一篇文章《程序员和产品经理是怎么互相看的?贬低还是赞扬?》,里面谈到了我在现实生活中所看到的这两个角色是如何看待自己及对方的工作职责的。实际工作当中,也听到很多程序员和产品经理之间的互相抱怨,如果我问有什么办法能缓解他们之间这种水深火热互不相容的紧张关系吗?很多人同意这么一个观点:只有懂技术的产品经理才能和程序员和睦相处,他们互相理解,产品经理不会整天提出那些天马行空、乱七八糟的点子,因为他知道这用技术不好实现或根本实现不了。
是的,我本来非常赞同这样的观点,甚至心里想做几年程序员后如果有机会一定当产品经理试试。直到我看了一点《像外行一样思考,像专家一样实践》这本书后,突然觉得自己好像犯了一个很严重的错误,也让我想起了去年跟一位导师的谈话,该导师正在计划做一个产品,让我帮忙出一些点子。
导师:我觉得这块对用户体验来说很重要,有了这个,用户就只需要关注他周边的点而不需要关注整个他基本接触不到的大块区域了,我调研了下发现到现在还没有人做这样的事情,我们可以尝试一下。
我:这么一个重要的功能都现在都没有人去做,要么是用户根本不关心没有必要做,要么是从技术手段上很难实现或根本实现不了。我们这个应该属于后者,因为从技术角度上看,……(blabla说了一堆我认为的技术难点、复杂性、不可行性等)。
(还没等我说完……)导师:等等,你不要从技术的角度去看待这些问题,你就先假设这些技术都不是问题,你尽管提出自己觉得用户体验好的或一些必要功能的想法,从产品的角度去看。
(在我一阵愕然不知所措的时候……)导师:我们需要有跳跃性思维。
我当时心里不是很理解:就算提出了好点子,如果从技术上实现不了,不是瞎忙活了吗?
不过当我读了下《像外行一样思考,像专家一样实践》这本书后,觉得自己的思维完全被颠覆了,该书叫我们在提点子的时候要像个不懂技术的外行一样尽管想些有趣的、很酷的点子,先别管这些想法能不能用技术实现,你就先假设不管什么技术问题都能实现,由于没有相关知识和经验的束缚你才能够想到别人想不到的点子,这与我导师当时的说法如出一辙,我们思想的根源应该是“我想要这样”而不是“能不能实现”,这也让我明白了为什么很多技术人员经常会想象力匮乏,缺少创意了。但等你想法都穷尽的时候,就要将这一条条想法进行评估实践了,这时候你要表现的像个专家,全面动用你的技术水平、调研能力、沟通交流等等手段来评估这个想法可不可行、如果可行有哪些技术方案、进而选出最优方案着手实现。这个阶段同样非常重要,你不仅需要根据自己现有的技术能力来判断还要全面调研已有的技术,毕竟每个人的能力有限,也许你认为的实现不了换个人就实现了,这也反过来说明了为什么要有外行人的思维,如果你的每个想法都被绑架在自己有限的技术水平上,那这个想法能有多少创新呢?
按作者的话来说,解决问题需要两大必要条件:首先要有外行人的好思路,如果方向不对,再怎么努力也无法达到目的地;同时,扎实的基础、毅力、效率也是非常重要的,否则就只能是空中楼阁、纸上谈兵。
有人可能觉得这说的很空洞,其实不然,书中用了大量实例来说明这个事实,比如大陆漂移学说就是个绝佳的例子,其最初的想法简直是异想天开但最终还是被定论了。当然还有其它非常有趣的例子和值得深思的观点和实践手段,这不是一本纯谈思维和观点的书而是一本例子很多、实践性很强的书,看下目录就知道了。
这也是为什么我说“有时候产品经理不懂技术更好”,因为他可能比思维禁锢的程序员想出更多很酷很炫很人性化的点子,当然,如果能有一个“像外行一样思考”的程序员做产品经理那肯定是最完美的选择,毕竟如果他的点子你经过全面评估后确实实现不了,相信他能比不懂技术的产品经理更能理解你、相信你。
希望作为程序员的我们每个人都有一个丰富的跳跃性思维,知易行难,加油吧。