做过程序员的产品经理是一种什么样的存在?

记得之前参加团建活动,是真人 CS。我们一共没几个产品经理,但有几十个程序员。所以场面估计你也能想象出来了......并不是刺激的对战,而是惨绝人寰的群殴。

被 BB 弹打成狗(哎,原来不就是狗吗)的一个产品经理急中生智,大喊:『我以前也写过代码!我是自己人!』

其他正在施暴的程序员面面相觑,表示十分感动,但仍然拒绝了他的求情,继续按在地上打了半个小时。

......

我在哈工大读书,学的是计算机,写了六年代码,毕业后做的却是产品。

所谓对程序员和产品经理之间的调侃,主要原因无非就在两方经常有矛盾出现,而矛盾出现显然是因为双方一边是需求提供方,一边是需求实现方。矛盾的类型也简单,就是大家提到的这么几种。同时写过代码,又做过产品的我,实际上仍然没有很好的通用法则,能解决所有矛盾。

不过做过产品总监一职后,的确理解完全不同了。产品工作和研发工作都是我的管理范畴之内,看事情的角度就完全不一样。

过去做程序员,总觉得提供的需求更改很烦、给的需求不合理很烦、给的截止时间不合理很烦。

做产品经理的时候,也会觉得程序员总是推卸责任、完成得不及时或者不够好。

其实从整体的工作配合上来看,出现问题是难免的,关键是如何预防、如何解决。

......

以下是一些切身体会得出的经验性建议:

对于研发人员:

做好更改需求的准备

很多固执的程序员会把改需求当成错事。

改需求?你怎么不早想清楚?

改需求?你知道我工作量多大吗?

改需求?那我不干了。

实际上,在互联网产品这个领域内,改需求肯定会是家常便饭。

我没有做过统计,但我接触到的已经成立一年的公司,几乎都经历过大改版,也就是代码全部重写。这对研发团队来说自然很痛苦,但却是不可避免的。

互联网的需求更替是频繁的,一方面是大环境随时在发生变化,去年你还在刷微博,今年已经是朋友圈了。另一方面,需求获取的渠道也是多样的,产品经理可能会有新的发现和新的判断,未必都是之前没想清楚。

当然,如果需求都是老板从什么《易经》中得到感悟、从云卷云舒花开花落里得到启示,让你手忙脚乱给他改来改去,那也没意思了。

既然改需求是经常会出现的,那就要求还是得做好更改需求的准备。有这么几种方法:

1.1 提高代码的可复用性、可扩展性等等

让一些产品中很可能会用得到的各种控件、功能模块做成可复用性很强的代码,在产品增加类似功能,或者修改原有类似功能时,将会大有裨益。

可扩展性则是各种接口、数据库以及底层结构不要写死,尽量用可扩展的方式写。比如现在有五个分类,不要写死就五个,要写成 n 个分类,目前是五个。

嗯,这是常识了,但有的程序员还是会比较随意,写代码没有远见。

其他的代码特性,如果有利于降低产品的更改和优化成本,也要加深关注。

1.2 根据产品规划来做好充分准备

每个功能的实现方法都有很多,怎么选择并不是只看当下的成本如何,而是要关注未来产品的整体规划。

可能目前要完成功能 A,有 1、2、3 多种方案,方案 1 成本最小。但未来要完成 A、B、C、D 很多功能,方案 3 更有利于整体成本最小。那就要选方案 3 未雨绸缪。

多跟产品团队交流,了解未来产品要做成的样子、哪些功能会是必须的、哪些功能是可能会有的,多从长远来看。

1.3 合理预留出修整的时间

首先,不要把研发时间就当作完成时间。研发功能只是一部分,测试、改 BUG 以及处理意外情况的时间都要预留出来。

有两种情况要多预留出修整的时间。

一种是研发团队自己对功能没有把握,可能是全新的功能,可能是比较难做的功能,可能出现许多 BUG 和功能实现糟糕的情况,那就要多预留出时间。

另一种是产品团队表示对功能也有疑虑,比如在提供需求时表示这个功能很有可能要调整,或者对功能本身信心不足,那也要多留时间做调整。

理解需求,防止返工

研发团队通常会缺少对需求的理解,尤其会出现这种情况的就是外包团队。我听说过太多花了几十万请外包团队,结果开发的结果特别不满意,不能拿来用。合同又已经签好,还得给钱,就是赔了夫人又折兵。

有的技术团队和产品团队都坐在同一间办公室了,居然都经常缺乏沟通。技术团队不知道当前做的功能是给谁做的、是提供什么功能、满足用户什么价值的。

这些不是很高深的理论,也不需要深入学习,只需要通过产品经理做些了解,就能少挖一些坑,也就不会轻易返工。

比如,有的产品页面可以是提前加载缓存,也可以是每次都刷新,但要看用户平常是在 WiFi 环境下用还是在移动数据下用,这是产品经理清楚的。产品经理在功能细节上不会想到实现层面这么具体,所以就需要研发团队去理解刚才说的需求,做一些判断。

另外,如果是在开发之前就意识到做出来的功能会跟产品经理想象的不同,那就必须及时提出来,千万不要等开发完成,大家都觉得不靠谱,再重做,那样不管对谁来说成本都太大了。

善于用数据、理论以及通俗的解释来进行沟通

程序员最应忌讳的就是说『这个做不了,说了你也不懂』、『这个太难,懒得跟你解释』。产品经理听完肯定会觉得是推卸责任。

正确的方式是:用通俗易懂的客观事实来解释。

嗯,这个弹窗做不了。

为什么现在做不了?是因为代码实现可能要花三个月。

为什么这么久?是因为需要调用底层驱动层面的东西。

为什么要调用底层驱动的东西?是因为安卓系统原本的框架和协议就是这么定的。

如果想看协议,我可以给你找出来。

这样一步一步往下解释,把所有理由说明白,别没有耐心,只要产品经理是讲理的,他会理解你。

他听懂了你的解释,也会有利于他找出另外可接受的一种解决方案。

哦,我懂了,这个用弹窗形式太复杂。

那我们换作跳转到普通页面吧。

这样问题就解决了。

对于产品:

产品经理要在不断的迭代和更改需求的风险中被程序员认可乃至尊重,我觉得最重要的还是『讲道理』。切忌说出『我不管,反正得做完』或者『老板就这么定的,我也没办法』这样的操蛋话。

对产品功能有规划,并提供给研发

对自己的产品都没有大致规划,是产品经理的大忌,也是出现问题的主要原因。

一年后产品成熟了要给用户解决怎样的问题?

未来半年内产品要做成什么样子?

三个月内产品应该主要提供哪些功能?

这一个月的产品具体方案是做哪些?

这些都要认真去考虑并且规划。

当然,长远的产品规划在很多情况下(市场变化、团队更替、产品转向)确实用途不大,但越短期的规划,对研发团队越有帮助。

正常来说,预估三个月内产品的功能还是完全可以的,除非老板和产品经理都没想明白产品到底该做成什么。

把这些规划想明白,并传达给研发团队,让他们在现在的代码里就给未来的功能留下空间,是最好的避免代码重写的方法。

提供需求要足够具体

这要求产品经理做到两点:

第一,让产品需求文档特别特别具体。

具体并不是说,要按照大公司的 PRD 去完成。而是说,不要缺东西。对于需求文档来说,页面逻辑、页面布局、功能逻辑和每个功能的使用细节,都要存在。并不只是画个交互图就叫需求文档了。

你给了研发 5 个页面,结果研发做着做着,来问你,好像缺了个页面。你补完一个,研发做了一会儿发现又缺了一个...最后七零八碎的 10 个页面拼凑出来,发现根本不好用,所以又推倒重来。

如果研发经常来问你某个地方该怎么做时,你就要反思是不是需求文档写得不够好了。

第二,要说明每个需求背后的原因。

这个在上面表达过,程序员明白了需求背后的原因,会选择更合理的方案去完成。

千万别提『你别管为什么了』,而是不管他问不问这个功能为什么要做成这样,都要告诉他为什么。

熟悉基本的研发背景和研发能力

『产品经理到底需不需要懂技术』是我被问到的关于产品经理的问题中的 TOP 5。

这个问题我的回答是:要按照需求,了解基础知识,并不需要知道实现细节。

了解基础知识、不需要知道细节是指产品经理应当知道最基本的一些理论。

比如做安卓操作系统,要知道安卓原生提供了哪些控件,这样在设计方案时可以尽量使用它们。在代码实现时,调用一个控件可能只需要几行代码,但自己重写一个功能界面,可能就是成千上万的代码量了。

比如是在手机网页上的产品,要知道哪些交互是在 H5 上较容易实现的,而哪些交互是实现效果非常糟糕的。如果依照在 iOS 上的动画效果来要求 H5,开发成本可能会是指数级上升的。

按需,是说对于产品经理,千万不要买《iOS 入门指南》、《安卓开发手册》或者《H5 设计实例》来学习,除了装点下书架不会有别的意义。

因为本身开发的指南和手册,讲述的全是实现细节,对你清楚安卓的基本控件或者 H5 的常用交互完全没有帮助;同时,不同的产品有不同的特性,也有不同的代码特点,你只需要了解你负责产品的技术背景即可,有的同学居然决定从 C 语言先开始看,简直是让人扼腕。

以上是我的一些理解。希望对大家能有所帮助。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,651评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,468评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,931评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,218评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,234评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,198评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,084评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,926评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,341评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,563评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,731评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,430评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,036评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,676评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,829评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,743评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,629评论 2 354

推荐阅读更多精彩内容

  • 每天进步一点点点点点点点点点点点点点点点点点点点点点点点点点点点点点点~~从开始只能写几句话、模仿别人的观点,到现...
    一个帅气的名字呀阅读 18,083评论 4 31
  • 先说项目开发过程中团队人员的分工协作。 一 人员安排 毕业至今的大部分项目都是独立完成,虽然也有和其他同事协作的时...
    SnowflakeCloud阅读 10,768评论 3 59
  • 张爱玲 雨,像银灰色黏湿的蛛丝,织成一片轻柔的网,网住了整个秋的世界。天地是暗沉沉的,像古老的住宅里缠满着蛛丝网的...
    卑微的善良阅读 331评论 0 0
  • 在风的倒影里,微醉欣赏 鱼跳出了鱼缸,摆打着尾巴 这满树的叶啊,会意上窜下潜 犹如深渊,海洋 空气欢快流淌 瞳孔还...
    忠志_3d7b阅读 168评论 1 3
  • 今晚继续读《好绘本如何好》,虽然敏感度不高且对内容并不是十分感兴趣,读着稍为费劲,但为了不要给宝宝盲目买绘本,且还...
    暖暖的魔羯麻麻阅读 127评论 0 0