童话说说技术创业美文职业
投稿投诉
职业母婴
职场个人
历史治疗
笔记技能
美文纠纷
幽默家庭
范文作文
乐趣解密
创业案例
社会工作
新闻家居
心理安全
技术八卦
仲裁思考
生活时事
运势奇闻
说说企业
魅力社交
安好健康
传统笑话
童话初中
男女饮食
周易阅读
爱好两性

一篇文章读懂程序猿和产品经理的爱恨情仇

10月26日 霸王亭投稿
  记得之前参加团建活动,是真人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个页面拼凑出来,发现根本不好用,所以又推倒重来。
  如果研发经常来问你某个地方该怎么做时,你就要反思是不是需求文档写得不够好了。
  第二,要说明每个需求背后的原因。
  这个在上面表达过,程序员明白了需求背后的原因,会选择更合理的方案去完成。
  千万别提你别管为什么了,而是不管他问不问这个功能为什么要做成这样,都要告诉他为什么。
  熟悉基本的研发背景和研发能力
  产品经理到底需不需要懂技术是我被问到的关于产品经理的问题中的TOP5。
  这个问题我的回答是:要按照需求,了解基础知识,并不需要知道实现细节。
  了解基础知识、不需要知道细节是指产品经理应当知道最基本的一些理论。
  比如做安卓操作系统,要知道安卓原生提供了哪些控件,这样在设计方案时可以尽量使用它们。在代码实现时,调用一个控件可能只需要几行代码,但自己重写一个功能界面,可能就是成千上万的代码量了。
  比如是在手机网页上的产品,要知道哪些交互是在H5上较容易实现的,而哪些交互是实现效果非常糟糕的。如果依照在iOS上的动画效果来要求H5,开发成本可能会是指数级上升的。
  按需,是说对于产品经理,千万不要买《iOS入门指南》、《安卓开发手册》或者《H5设计实例》来学习,除了装点下书架不会有别的意义。
  因为本身开发的指南和手册,讲述的全是实现细节,对你清楚安卓的基本控件或者H5的常用交互完全没有帮助;同时,不同的产品有不同的特性,也有不同的代码特点,你只需要了解你负责产品的技术背景即可,有的同学居然决定从C语言先开始看,简直是让人扼腕。
  以上是我的一些理解。希望对大家能有所帮助。
投诉 评论 转载

场景是决定产品的胜负手现在很多人都在谈论场景这样一个概念,那么我们来谈一下我们到底在聊场景的时候说了些什么?场景对我们的设计又能起到什么样的作用?能给到我们一些什么样的启发?先来看一下场景的定……谁在被“打脸”?跟着微信产品经理做一个“正确”的产品决策一、谁在被“打脸”1985年,可口可乐在百事可乐的营销战逼迫之下,在纽约宣布更改其行销了99年的饮料配方,大力推行“新可乐”计划,没想到遭到举国反对,仓皇之下可口可乐决定……来自业务部门的需求,该如何跟需求方沟通?互联网公司中,产品部门的需求主要来自于两方:一是来自于产品内部自己的二是来自业务部门,至于说到业务部门具体指哪些,可能是产品运营人员和公司高层,也可能是来自于市场或者……我最近做产品的一些感悟时间的指针已经来到了2015年的12月,我在不禁感叹时间过的太快,也在反思自己2015年的目标是否都达成了?我的答案当然是否定的不知道大家进展如何呢?一定要做到一日三省吾身啊!……都在讲从人性出发,你真的知道怎么落实?五步法挖掘产品需求最近因为马化腾的一篇内部演讲,导致技术频频出来撕比产品经理。确实,马化腾,张小龙,雷军,周鸿祎等都是具有技术背景,作者也是。但是诚然,不会技术的产品经理做不好产品吗?不一定吧,……一篇文章读懂程序猿和产品经理的爱恨情仇记得之前参加团建活动,是真人CS。我们一共没几个产品经理,但有几十个程序员。所以场面估计你也能想象出来了并不是刺激的对战,而是惨绝人寰的群殴。被BB弹打成狗(哎,原来不就……项目管理实践一页纸项目管理前段时间负责了一个小的项目管理,有幸在领导推荐下接触了克拉克坎贝尔的《一页纸项目管理》,并结合项目的实践,谈一谈一页纸项目管理的作用。什么是一页纸项目管理一页纸项目……数据科学领域的职位划分以及职责技能随着数据科学领域的招聘信息越来越多,范围也越来越广。Datacamp根据最新的数据科学相关招聘信息,全面的了解各个行业之间数据科学领域每个职位角色之间的差异,以及所赋予的工作职……起于起点,不只起点起点学院成都课后感悟成都两天的线下培训结束了,有很多不舍,有很多感悟。思绪一发散开来,提笔记录这两天的欲望就像工作中希望写一个完美的RD文档交给程序员那样强烈。周六上午,短暂暖场后,……如何在开发资源不足情况下进行敏捷开发?许多产品经理可能会经常面临这样的问题:公司现有技术资源不足以支持自己的产品设计和迭代周期,导致不得不妥协。而Boss或客户还不断要求采用小步快跑,快速迭代的方式看到产品成果,这……这5种产品经理的思维方式,你具备了几种?最近好多小伙伴说我好久没有更新文章,其实我是在思考。思考我应该如何来写这个有抽象又具体的概念:思维。互联网中每个角色都有自己的思维,比如:产品思维:解决用户痛点的思……手把手教你GrowthHacking增长营销(一):如何打造在《GrowthHacking初创团队如何“零”成本开始做营销》的系列文章中让大家了解了什么是“GrowthHacking”,从今天开始,我们将结合大量实战案例,从产品、用户、……
写给1岁的产品经理产品岗位不是你想的那样【知乎精选】产品经理怎么判别一个功能需不需要实现?Duang,转型产品经理特技产品背后不可靠的数字产品经理:傻逼、苦逼和牛逼,只差一个转身社区产品的设计本身就是立法关于产品设计的成本核算拿两千块的薪水也要有一万块钱的范儿产品经理最重要的能力是让正确的事情接着发生。互联网广告系列1:运营高手教你八招玩转互联网广告!RethinkDB创始人教你打造一个伟大产品我有个改变世界的点子,就差你帮我做App了

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找作文动态热点娱乐育儿情感教程科技体育养生教案探索美文旅游财经日志励志范文论文时尚保健游戏护肤业界