以前经常用学生问我:产品经理需要懂技术吗?如果不懂技术,怎么跟开发交流?
我的回答通常是:不需要懂技术。
但是这么回答完,看学生的神色,似乎总有一种“我产品做的少,你不要骗我”的既视感。
其实我懂学生为什么会问这个问题,以及他们为什么会对我上述的答案不怎么满意。因为现在太多不专业的公司面试产品经理时喜欢问:你懂技术吗?这让很多人产生或则附和“产品经理必须懂技术”的观点。
所以,面对学生这个问题,我通常会补充几句:这个“技术”是指什么技术?如果指的是代码,那么产品经理不需要懂。市面上那么多优秀的产品经理,也不是个个都懂代码。但是“技术”这个词包含太广了,代码只是其中的一部分,并不属于产品经理需要掌握的技能。
那么,哪些技术是需要产品经理懂的呢?
产品经理要懂的技术
我们得先聊聊产品的职责,再来谈产品经理应该掌握什么技术。
对于产品经理而言,要做的就是把产品的需求传递给开发人员,由开发人员去实现。至于如何实现,用什么代码技术,那是开发的事,跟产品经理没关系。那么,产品经理如何去传递自己的需求呢?
产品经理与开发之间沟通的桥梁是一个叫PRD的玩意儿。PRD,也叫产品需求文档,是产品经理用于描述产品需求的(废话一句)。通俗来解释,就是通过文字和图形等内容来表达产品的逻辑,并传达给开发和设计人员,将这些逻辑呈现在用户面前。
只要这份PRD文档没毛病,那么开发就可以理解产品经理的意思并执行。所以,一份合格的PRD文档才是产品经理需要掌握的技术。
PRD文档如何输出
PRD文档里包含的内容很多,包含产品结构图、业务流程图、原型、交互说明等等。一切可以传递产品需求的,都可以出现在文档里。
比如业务流程图,是用来确保产品的逻辑是通畅的,也让开发、测试明白产品如何运行;结构图是用来让开发、测试和UI洞悉产品全局和整体框架的。
这里面,核心部分是页面原型以及对原型的交互说明。光有原型还不够,因为原型只能传递可视化的需求,而更多的需求和逻辑则是非可视化的,因此需要附加交互说明。
什么是交互说明?
所谓交互说明,就是将产品所有的可视和非可视的逻辑规则,通过文字的形式描述出来,是开发人员的工(shuai)作(guo)依据。一份合格的交互说明是可以有效的提高团队沟通消息,降低沟通成本,避免风(si)险(bi)。
交互说明怎么写?
交互说明是产品页面规则的描述,那到底有哪些规则需要描述呢?在这里,我们从两个维度展开:数据和操作。
对一个页面而言,给用户的体验就是两件事:能看到什么?能做什么?前者,我们称为数据,后者我称为操作。因此,交互说明就是要描述出一个页面有哪些数据,即数据规则,能做什么操作,即操作规则。
数据规则
数据,什么是数据?在数据规则里,汉字、数字、字母、字符、图片、视频、音频、这些都是数据。在交互说明里,对数据规则的描述要包含以下几点:
1. 数据怎么来的?是后台上传,用户行为还是前台写死的数据?
2. 数据的显示有什么限制?比如字符长度、显示尺寸、行数等限制。
3. 数据在不同状态下的显示有什么区别?比如登陆和非登陆的状态、会员和非会员的状态、可用和不可用的状态、互斥状态、不同网络条件等。
4. 数据是否存在为空的情况?如果是,为空怎么显示?比如头像,如果用户没有上传头像,该怎么显示?
操作规则
操作,什么是操作?在操作规则里,要说明用户在页面能做什么,操作反馈如何。操作+反馈才是完整的交互规则。在交互说明里,对操作规则的描述要包含以下几点:
1. 用户能做什么操作?比如输入、点击、滑动等。
2. 操作后有什么反馈?比如跳转新页面、弹框、toast、面板切换、动画效果等。
3. 不同状态下的操作有什么限制?比如登陆和非登陆的状态、会员和非会员的状态、可用和不可用的状态、互斥状态、不同网络条件等。
4. 不同状态下的操作反馈有区别吗?具体有什么区别?
而对于开发和测试而言,他们希望从产品经理这里获得的信息,也就是这两样。因为开发的工作分为后端和前端:后端负责提供数据、接口传递;前端负责交互效果实现、页面效果;测试则需要确保这些逻辑都能实现。这些实现的前提,都是必须有明确的数据来源和清晰的操作规则流程。产品经理能做到这些,也就是掌握了这个岗位应该具备的技术,也能流畅愉快的跟开发沟通。
至于代码,who care?
总结
对于不同的产品经理而言,PRD文档的格式、具体内容会不一样,但是原则是一样的:清晰的传递产品需求。而产品的需求核心由数据规则和操作规则组成,按照刚上述的思路去描述,可以保证对产品需求的全覆盖,你也不怕被开发怼了。