产品经理是干嘛的?我当下的理解是他是提出方案,解决问题的一群人。创业者转型做产品人,把我这一年半新悟出的道与理,送给大家!
需求背景:写过2年代码,创业期间做过2年多产品经理,按理说截止当下,我应该有3年半的产品经理工作经验。但是,没有在大公司系统学习过,所以才有了想去大公司专心潜修一段时间的做法。
此文产品经理方法论,仅供参考,请不要完全模仿,产品经理要有自己的灵魂!道理我是悟出来了,但其中每点并不是我现在就能完全做到哈,请不要对我道德绑架,谢谢各位大佬。闲话少说,猛料奉上
一、思维模型
思维模型是我们部门老大邓总监经常对我们说的一个词语,那么什么是思维模型呢?
广告(广而告之):这一年半的成长,很感激您不断的旁敲侧击,各种打磨,谢谢。
我所理解的就是,每个人自己在做产品思考问题给出解决方案的时候,形成的一套固有的思维方式,而且因人而异,每个人都必须形成自己的思维模型,没有强制要求每个人的思维模型一模一样,但可以参考借鉴别人好的思维模型,从而悟出自己的道。
定义:用技术MVC架构思考解决问题。【我的思维模型】
解析:
M:数据库底层,也就是事务的本质。
V:表现层,体现在原型界面上,也就是我们所有人看到在各种载体(网站、APP、小程序、公众号)上UI设计好的页面。
C:业务逻辑层,也就是各种事务之间,各个业务流程的流转。所以,我思考问题的顺序是:先挖掘此需求背后事务的本质以及他的价值,再分析涉及到的各环节的业务流程,最后用原型界面将整个事务过程串联起来。
因为是技术出身,所以我希望将经典的MVC技术架构与我做产品经理时,思考问题的方式进行完美的结合;我不知道我是不是第一个提出使用mvc架构作为思维模型思考问题的产品,但我不希望我是最后一个。
二、工作方法
1. 如何需求调研
(1)了解问题现状:问清楚需求方遇到什么问题,要解决什么问题,不爽在哪里,痛在哪里,不解决会怎样?最后,将需求加以记录,并与需求方确认。
(2)现有业务流程:问题是出现了,那么当下你们是用什么方式规避这个问题的呢?现在你们的业务流程是怎样的呢?希望在流程上做哪些优化呢?
(3)功能价值:这个问题解决后,对你有什么好处,产生什么价值?
(4)可行性分析:排好优先级,及时反馈结果。做还是不做,都要给合理解释;并不是需求方说的全部就是需求,要自我加以过滤;他说的痛,是不是以偏概全,要追究问题的本质,他到底要解决什么问题?
2. 如何需求评审
(1)产品出原型+规则:
评审之前,必须自己独立想清楚此次需求所有涉及到的规则。虽然,可能未必有些情况自己考虑完全周全,但必须自己用心深度思考一番。否则,召集其他项目组成员,是极其不负责任的行为。
这里,与我以前做项目经理时候的思维方式,完全不同。相当于是我要改变以前固化的思维模型,此中过程,有些困难,还好我挺过来啦。
自己初步画的原型和规则,得先跟需求方单独过一下,确认是否达到初步预期。如果没有的话,那就要及时调整出新的原型+规则,循环往复,直到需求方满意为止。
(3)产品初步技术原型评审(可多次):
需求方搞定,那么就要单独搞定项目组中得技术成员(前端、后台、测试、UI等),技术与需求方关注的是不同的视角。需求方,是告知其有这样的页面和规则。技术,会问为什么有这样的页面和规则,能否解释清楚明了。技术提出的问题,你解释不清楚,那就要修改原型+规则,直到任何一个技术都没有问题为止,此轮评审才算结束。
(4)产品组织项目组所有成员正式评审:
需求方与技术都搞定了,那么召集项目组所有成员,组织大会议室,进行系统当前版本的正式评审,就水到渠成了。最后调整完毕的原型+规则,必须同步给项目组所有成员,如果此次正式评审仍有疑问,那么又要重新调整原型+规则;如果没有疑问,那么项目评审成功,顺利推进到开发阶段。
(5)项目排期:
产品与技术讨论项目排期,并将最终确认的上线时间,汇报给需求方。如果有延期风险,必须事前告知需求方并给出合理理由。
(6)上线验收:
测试验收需求后,进入产品+需求方验收阶段,此时一般在灰度环境,不会影响正常线上数据。双方同意上线后,测试走上线流程,项目当前版本上线成功。
3. 如何自我开展工作
(1)遇到问题,先至少想个解决方案,再和别人沟通
不要无脑去与别人讨论一个你没有想清楚的问题。如果实在没想清楚当前问题,你可以去请教相关人员,再自我探寻答案。
(2)事事有反馈
出于尊重,任何人任何事,都要给予反馈。即使当下没有解决方案,即使当下很忙。消息已读未回复,容易给人造成误解,也容易让别人失望。
(3)多听少说,不要插话,不要强加个人观点
此点更像是为人处世之道,要懂礼貌。实在要插话,请先说句:不好意思。有时候,产品经理组织会议,作为主持人,必须要打断大家偏离主题相关的话题,必须要有控场能力。这不是不尊重人,我们只是想让会议变得更高效有价值,产品经理的会议多而复杂,如果不会控场,那会浪费极其多的时间;别人讨论的时候,不要用自己的主观意识诱导别人、误导别人。特别是需求方的吐槽,让其畅所欲言,让其说个痛快。然后,自我再总结挖掘问题的本质。
(4)时刻关注问题现状、业务流程、功能价值
这三点缺一不可,很重要很重要很重要。公司当初系统改造的时候,我就吃过不少亏,就是因为自己当初还是个小白产品,没有自己的思维模型,没有关注问题现状、当下业务流程、功能的价值,为后来自己所做的产品,挖了不少坑。结果,上下游系统嵌套太深,坑也是越陷越深,好不酸爽。
(5)对上下游系统必须要有所了解
这点,也是感悟很深。很多时候,各个系统的产品,都是只关注自己那一亩三分地,想需求想问题,没有把涉及到的上下游系统考虑进去。导致的结果就是,在自己系统没有什么问题,结果串联上下游系统就暴漏各种问题。
有些时候,也能理解,自己系统的需求不断,加班加点赶原型写规则,哪有时间去了解其他系统哦?不过,时间犹如X沟,挤挤还是有滴,各位老铁。
(6)控制好情绪,别激动
产品,被人质疑,背锅侠,被人diss,那再正常不过的啦。
你会不会做产品?你做的什么垃圾产品?我要换产品,你不行。你会不会画原型?你有没有想清楚?这个项目做出来有什么意义?你是什么垃圾?
老铁,淡定,阳光总在风雨后滴,干巴爹!
(7)多换位思考,保持同理心
不同的人,你要切换自己成为不同的角色,争取与其保持同频,明白其所思所想,这点很难,我也就说说,目前感觉依然差之十万八千里
(8)对过程和结果都要负责
很多时候,咱们明白对过程要负责。但是,结果其实我们更要负责。产品上线了,就算是完成任务了吗?后续能不迭代就不迭代?产品的死活,与我无关,反正我已经做好了。
这些想法,我认为都是不对的。我们只是做了0到1,1到100,依然是任重而道远,要有产品人该有的情怀,要创造更多的社会价值。
(9)自己做的产品一定要比任何人熟悉
自己做好的产品,一定要将输出物弄完整。至少有原型+规则+操作手册,如果有视频那就更好了。一来便于传承,二来便于后期自己回忆。有时候自己负责的系统有点多,部分功能忘记细节,有资料的好处就体现的淋漓尽致,希望各位产品多为后人栽树,让其乘凉。
4. 如何与项目组成员合作
(1)我们应该互相尊重,相亲相爱形同一家人
可能因为是技术出身的产品吧,我更希望与技术是相亲相爱的情况,而不是网络上报道的相互拳打脚踢的情况。这点因人而异吧,反正我不会跟技术反目成仇。
(2)站在用户的角度去写代码
我时常提醒自己项目组的技术,不要死写代码,多思考下他背后的意义。如果你是用户,你会用这个功能吗?价值何在?有的技术就做的特别好,根本不用我提醒,反而很多时候能给予我极大的帮助。
(3)有锅我来抗
产品,很多时候是背锅侠。有时候,项目组其他成员的锅,我觉得没必要去追究,就是咱们的锅。单独再去找出问题的项目成员沟通,让其注意就好。
(4)不会为难你,但请别给我挖坑
说实话,如果我要较真,技术同事评估的工期,我自己都能评估的出来(之前创业时几乎天天给客户评估工期)。我并没有干涉技术评估的工期,并不是放任不管,而是对他们的尊重,各自评估自己的开发时间,我心中自然有一杆秤。但是,不要总是快到上线的时候才告诉我要延期。评估工期,不是儿戏,请认真对待。我喜欢,未雨绸缪,提前告诉我任何风险,这样我好把控项目进度。
(5)所有新需求必须经过我同意
所有需求,必须经过我这边过滤。部分小改动,需求方有可能直接跟技术沟通。但必须告知我,我同意才能改,不同意我会告知需求方与技术原因。
5. 如何与项目组之外同事合作
(1)关键人物沟通
外部团队协作,一定要找到关键人,能拍板、有话事权、决定权的人,这样沟通协调事情事半功倍。
(2)借助外力
如果外部团队相关关键人不配合,那么请求上级领导协助,并告知此事来龙去脉。反正,逐级往上汇报,直到此事有个处理结果。不要害怕得罪人,我们是做事的人,对事不对人。
(3)所有正式的决定必须有据可查
所有正式的决定必须有资料保存(公司邮件等),便于日后以防双方忘记,或者扯皮。
三、常遇到的坑有哪些
(1)历史数据
任何一个系统改造的大难题,我就深深地被其困扰过。要把按照以前旧规则的几万条旧数据匹配系统改造后的新规则,而且还要保证这些数据上下游系统能够跑通,此种过程是极其困难和麻烦的。
(2)技术没空,导致项目延期
有的时候,被这样坑,也是无语的很。本来大家都沟通好的上线时间,突然技术跑过来说我这边没空搞你这个项目,要搞其他更重要的项目,你的项目要延期()此时,心中一万个策马奔腾)。一次还好,一次又一次,你爽吗?你的需求方爽吗?
(3)遗漏的技术bug
测试小哥哥小姐姐其实很给力,没有他们把关,一个项目上线肯定更多问题。但百密也有一疏,上线后仍有技术bug情况,也是有的。如果重要紧急的,要求团队成员加班加点必须解决;如果不重要紧急的,也别太为难人加班加点,双方定个宽松点的优化时间期限就好,技术都是很好的一群人,不要为难他们。
(4)需求变更
又一个老大难问题,需求变更导致的风险,是很麻烦严重的。不过,要根据自己的经验与能力判断,此次需求方变更需求的影响范围。如果影响不大,那能改就改;如果影响较大,那必须报风险;如果是影响思维模型中的底层数据架构,那必须报严重风险。
(5)紧急需求
最怕这类人,不讲理还霸道,整个项目正常的上线流程又不是不知道,但还要提出我现在就要,一周之内就要这种不懂互联网项目正常上线流程的无理要求。谁的事不急,谁的需求不重要?你现在要,我也给不了,小需求我可以快速评估,尽快上线,尽量做到能今天上线绝不拖延到明天。但是,大需求该怎么走流程还是得怎么走。
(6)影响上下游系统
上面已提过,再次强调其重要性。我觉得此牵一发而动全身之事,应该是整个项目组的成员,都要去考虑,而不只是产品经理。
(7)部分原型规则遗漏
这个锅,是产品经理的,考虑问题不周全。但是,我觉得不完全是,项目是有需求方、所有项目组成员一起评审的,大家都没发现,咱们不小心漏掉也是无心之举。只能通过不断刻意练习,尽量避免这种问题的发生咯。
(8)项目组临时换人
项目开发到一半,技术突然离职或者被其他项目借调,导致项目突然报风险,也是很容易让人措手不及。如果技术离职,得找人尽快接手咱们的项目。如果技术被借调,咱们产品得去了解具体原因,想解决方案。最终目的,保证项目正常上线。
(9)修数据
数据在,各上下游系统中流转,难免出现一些错漏的数据,在系统上已经是无法修改的了。这种时候,只能通过技术手段,后台修改该部分问题数据,保证数据正常流转。
(10)杂事缠身,无法专心出原型+规则
很多时候,咱们会被各种杂事干扰自己正常的工作。各个需求方的需求都很急,但却被各种杂事、会议拖慢了项目正常进度。很多事很多问题,不得不处理;很多会议,不得不参与。此时,高效的处理问题并给出解决方案,高效的讨论会议并达到会议目标,尤其重要。这一点,仍然坚持对事不对人原则。
(11)各系统需求边界划分不清
估计很多产品,自己都没搞清楚自己做的系统目的是什么,只要需求方提出来的需求就接进来,根本不在乎自己系统的定位是什么,边界是什么。这样做,没错。但是,需求方提出的是其他系统的需求,你是不是应该找其他系统产品聊聊,将各个系统边界划分清楚?我是觉得很有必要的
(12)岗位职责划分不清
很搞笑的一点就是,我目前所在的公司,我所负责的产品,同时担任产品经理、客服、日常运营维护三个岗位职责,却拿着一份产品经理岗位的工资。产品经理是做什么的,我是搞清楚了,可貌似我们公司有些人没搞清楚
四、项目延期该怎么办
看到这里,相信大家也发现了,项目最大的风险就是项目延期。因为延期,导致的后果,可大可小,这点因项目而异。那么,该如何解决呢?
(1)查明原因
导致项目延期的原因:离不开需求变更、原型+规则考虑不周全、技术bug、项目工期评估有误、突然更换项目组成员等等。是其中哪个原因,还是哪几个原因,找出来,然后对症下药,争取下个版本或者其他项目,不要再犯。
(2)定解决方案
出现问题不可怕,可怕的是连产品经理都手足无措,没有解决方案。
(3)上报风险
项目都报风险,导致延期了,如果该知道的人还不知道相关原因的话,那就说不过去了。而且,必须给出大家合理解释。
总结
感谢这一年半以来,所有对我给予帮助的公司同事,有点进步,余下的时光,请多多关照。