解构产品经理的技术思维

产品经理需要懂技术懂到什么程度?产品需要的是技术思维,不是写代码的技术能力。下文将详细讲解技术思维的构成和培养。

解构产品经理的技术思维

01、什么是产品的技术思维

产品的技术思维,表现在产品功能设计过程中,是:评估技术可行性思维、全局思维、降级思维、安全思维。

解构产品经理的技术思维

1、评估技术可行性

1)考虑需求需要的角色是否满足

假如你提的是一个数据分析需求,需要的人力可能会包括:数据计算/数据挖掘,后台、前端、设计。如果缺少其中一个角色,需求可能没法实现。

2)按照功能的逻辑,思考是否能走通,遇到技术知识盲点,可咨询下开发

举个例子:

背景:个人自助注册入驻某个平台,填完手机号码等信息提交后,需要人工审核资质,审核通过后用户可通过微信扫码登录。

需求:审核通过后,在平台公众号发模版消息给审核成功的人(前提已关注公众号)。

我们来解剖下这个功能流程:

用户填手机号等信息->提交审核->获取注册用户的openid->调用微信接口给用户发模版消息。

获取注册用户的openid该如何获取?这里的技术盲点可能是获取用户openid这个逻辑,由于用户必须扫码登录后才能拿到openid,所以没法在用户注册成功后直接给他发模版消息。

3)考虑需求依赖的上下游

依赖的上下游指的是实现这个需求的前置依赖。包括这个前置依赖的输入输出、处理能力、稳定性等。举个例子:想实现可自定义外观的小程序葵花码功能。这个功能的前置依赖是调用微信开放平台的生成二维码功能,但是由于该api没有自定义外观的参数,比如自定义镶嵌文字、自定义背景图案等,所以该功能的自定义外观需求是没法实现的。

4)如果是调整功能的需求,考虑是否需要向上兼容

向上兼容指的是兼容老版本,如果老版本功能因为新功能而受影响,需要根据具体情况选择,是继续给老版本功能提需求兼容改进,还是放弃新功能的部分子功能来兼容老版本。

2、全局思维

1)关注局部和整体的平衡

局部和整体的平衡指的是局部的视觉、交互要和整体保持统一。举个例子,同一个平台使用的确认弹出框组件都是同一款组件,这个组件有模态框,一个标题,一个内容框,还有取消和确认按钮。但是该平台其中一个功能使用了不同的确认弹出框,它没有模态框,标题左边有icon,按钮名字是取消和确定。局部和整体没有保持平衡,显得比较突兀。

2)关注依赖的第三方能力

如果某个功能依赖了第三方能力,要看对第三方的依赖性和依赖度,还有第三方的处理能力。比如一个审核通过就给国际用户发短信的功能,该功能依赖了腾讯云的发短信能力,该功能需要第三方具有支持国际短信发送能力,支持短信额度较高的能力,短信发送失败的回调能力,服务的稳定性等等。

3)异常流程

异常流程的产生者有以下几种:

执行者

执行者指的是平台的用户,如果用户没有按照规则输入或者执行,可能会有以下异常:输入为空、输入非法字符、输入重复单词、重复操作等。

设备环境

设备环境指的是用户的手机机型、浏览器类型等硬件设备和网络环境。

在不同的手机机型和浏览器类型下,前端大概率会有兼容性异常,在弱网情况下的界面表现异常。对于兼容性异常,如果是整个技术框架不兼容,可直接提示用户更换浏览器。如果是某个属性不兼容,可降级换种样式。在弱网情况下如果页面静态资源返回异常,前端是展示个空界面,还是在离线状态下用户仍然可以看到正常的界面(利用离线缓存),这些都需要产品经理考虑。

平台处理能力

平台处理能力指的是前后端程序的处理能力。包括接口请求高并发、接口报错、请求频率超过限制、接口超时。对于以上几种异常,产品应该要提供对应的错误内容提示。

第三方处理能力

如果平台某个功能依赖了第三方能力,但是第三方接口报错,应该提示给用户第三方接口异常。如果第三方接口经常报错,可以考虑更换另一个第三方接口。

业务逻辑的边界

业务逻辑的边界指的是某个功能没有被考虑到的边界情况。

举个例子:

一个审核单子的业务功能,单子的流程状态有待审核、审核中、审核成功、审核失败4个状态。

假设同时有2个人审核同一个单子,A用户审核状态为成功,B用户审核状态为失败。假设审核成功和审核失败状态不可逆,此时应以第一个状态流转为准,后来者更改状态时,应提示状态流转异常,请刷新后重新操作。

流转状态是否可逆、出现状态流转冲突异常时的提示语,是产品都应该要考虑的。

4)考虑扩展性和复用性

如果你是平台型的产品,功能的扩展性和复用性是必须要考虑的点。比如提供一个SDK给其他开发者使用,需求是SDK新增一个接口,那么需要考虑:

  • 接口需要有版本控制,如果后面迭代了一个差不多一样的功能接口但是又不能兼容老接口时,应该能给用户自由选择版本接口。
  • 接口需要预留未来可能需要使用的字段。

3、降级思维

降级思维指的是当某个功能依赖的资源不足以维持它正常运行时,把核心功能提取来,把次要功能以其他方式实现的思想。

举个例子:2015年春晚微信的摇一摇红包,由于同时并发人数较多,有上亿级别的访问量,服务器压力过大,为了保证核心功能的正常使用,后面采用了降级的办法处理。

我们来看下摇一摇红包里面有几个功能:

摇红包->拆红包->红包实时入账

这个功能一开始时,逻辑是这样的:用户摇一摇,拆完红包后,红包是实时入账的。但是由于参与人数较多,很可能会造成网络拥塞,许多用户可能连摇一摇红包界面都进不去,为了减少请求次数,缓解服务器压力,后来采取了优雅降级的方案,把红包实时入账功能改成异步的形式,红包金额在7天之内入账,这样金额就可以分批入账了。

4、安全思维

安全思维指的是产品在设计功能时,要考虑到平台信息的安全。

1)用户信息

用户姓名、密码、手机号码、身份证号、住址等。

存储在数据库的密码、身份证号、手机号码建议加密。

2) 业务信息

订单数、交易金额、pv、uv等。

平台敏感业务信息,应该控制好可查看这些信息的人的权限。

3) 资金安全

用户资产、余额等。

需要对资产额度做加密保护

4) 权限

已登录用户的权限、不同角色的权限、白名单权限。

不同的功能,应按照业务做好权限控制。

02、如何培养技术思维

1、要有基本的技术素养

1)常用技术术语要知道

web前端、app客户端、后台、数据库、同步、异步、回调、组件、控件、框架、接口、cdn、兼容、脏数据、频率、渲染、适配等。

2)基础知识要了解

解构产品经理的技术思维

2、多思考功能的逻辑

在提需求时,建议多思考功能的逻辑。锻炼逻辑思维能力。

3、专注新技术带来的机会

新的网络,新的硬件,新的存储技术等都可能隐藏着新机会。

本文由 新媒体之家 作者: 产品的技术小课 发表,其版权均为原作者所有,文章内容系作者个人观点,不代表 新媒体之家 对观点赞同或支持,未经许可,请勿转载,题图来自Unsplash,基于CC0协议。
2

发表评论