怎样的产品,才能与开发愉快交流?
作为产品,怎样才能与开发愉快交流?这是一个在产品圈被反复提及的问题,最常见的回答就是——懂点技术。
那么,作为产品明白那些技术,理解到什么程度,才能够愉快地与开发沟通呢?在这里,作为专业相关,了解一点技术的产品新人,结合目前的产品经验,将涉及到的问题和大家进行一下分享。
一、从开发角度写需求文档
做产品,提需求、写文档是每天的日常,但是想给开发写出一个不需要反复补充的需求文档,还是有很多地方需要注意,如果带着这只是个简单需求的想法,在和开发沟通时就容易“原形毕露”。
例如“简单的”展示用户名、头像:
是否会在其他页面展示?(开发需要考虑复用性)
会不会有没设置头像的用户?网络不佳获取不到头像时,需要显示默认头像吗?(空异常处理)
用户点击头像的操作始终是进入用户主页吗?点击自己进入的个人主页,和其他用户查看的是不是不同的页面?(确认点击逻辑)
头像可能加性别、挂件等标记吗?展示逻辑是什么?资源的获取是本地,还是根据运营活动需要动态更改的?(扩展性与是否写死)
...
这些问题新PM看起来,可能是下个版本甚至是未来才要考虑的问题,但对于开发,可能未来调整会带来很大的成本。
再比如“简单的”未读条目显示红点:
显示数字只有个位数吗?两位数需要新的样式还是显示“。。。”?(边界情况)
红点的消除逻辑是怎么样的?点击进入一层该层的红点就消失吗?还是必须要进入最内层阅读未读内容,红点才全部消失?(显示逻辑)
...
作为新PM,提需求时很容易忽略这些,开发上关注的细节问题。在这里,对于常见问题稍作总结,供大家参考。
1.数据考虑来源与呈现
页面的数据是动态更新还是写死?需要及时更新的数据,如可能需要根据运营活动变化的图片(Uber车型的节日样式)等数据就适合动态更新。
如何处理空数据与超范围?例如无地址的情况,相比一片白色,提示图文配合清晰的操作引导就会提升体验。而对于文字显示,超长内容是否全部显示,如果隐藏是否需要展开样式,也是可能存在的问题。
2.交互考虑限制与关联内容
例如输入时,要考虑是否必填?是否限制数据(输入手机时只使用数字键盘)?输入后立刻校验,还是提交时统一校验?校验失败如何提醒?
在提交、确认等操作后,要考虑是否需要立刻刷新关联内容?如回复后,需要立刻刷新页面以展示自己的回复。
在进行选择后,是否会对关联内容进行限制或筛选?如商品的库存,会根据选择型号改变;如果取货方式选择快递,收货日只能选择2天后。
3.流程考虑边际情况
全局上,对于网络环境等原因造成的获取不到数据的情况,是显示默认、缓存内容并尝试后台刷新,还是提示用户网络情况不佳,等待用户手动刷新?对于弱网情况,也要考虑是否需要加载动画,设置网络超时时间与错误提示。
具体流程中,对于用户操作,除了成功与失败,还有超时,无网络,多次错误重试等特殊情况。如,对于机票等变动频繁的库存、价格信息,订单需要超时取消释放库存,支付前还要二次验证以保证库存。在需要保证严格安全性的情况下,短信验证码单次尝试即失效,需重新发送。
二、了解开发相关术语
与开发最基础的沟通技巧,就是听懂一些常用术语,当然,这也基本上是每个互联网人的必备素质。从基础的 tab、banner、push,到开发常提到的crash(崩溃、闪退)、log(日志)、native(原生)、wording(文案措辞),甚至安卓常用的 toast 好像都没有对应的中文..
当然,这些都只是基础,在不同技术领域有更多术语,想要有更多了解的,建议查看一下Android与iOS的官方文档,从常用控件开始了解。
这样,当你在UI出图前描述地区选择的需求时,如果能够对iOS开发说出,这边需要一个 Picker View,而不是费劲的描述需要一个上下滑动的滚轮,沟通成本就会大大降低。
三、考虑开发实现方案
作为产品,与技术沟通的最佳方法就是从开发的角度考虑问题,除了产品方案本身,还要考虑实现的难度。
当BOSS看到其他应用的用户很活跃,要你加个私信功能时;当应用内容逐渐丰富,想加入搜索功能时;当看到头条类应用推荐很精准,也想加入推荐系统,猜你喜欢时...
当你完善了这些需求,和开发对文档的时候,可能开发已经尝试了几百次用意念杀死你了。
私信功能要求实现用户间的即时通信,对于技术和资源都有很强的需求,一般都是采用环信、融云等第三方SDK,而且由于私信与APP用户体系的关联性较强,即使集成第三方的开发也需要一定时间。
而不同级别的搜索功能实现起来难度差别极大,即使像知乎这种体量的公司,在全文搜索的质量上也曾经饱受诟病。
至于推荐系统,基于内容的推荐需要元数据的积累(将对象属性拆分,如电影可以有风格、导演、主演等),而基于协同过滤的推荐更是需要大量用户数据来进行训练(根据数据分析出类似用户或类似对象进行推荐),没有足够的技术很难驾驭。
四、找到“技术无法实现”的真正原因
虽然对于开发,我们可能只有很浅的了解,但是当开发说”这个需求,# S@D%F,技术无法实现"时,也不要真的被一堆可能很难理解的名词难住。作为PM,不是要理解各种技术,而是要明白“技术无法实现”背后的潜台词:
1.首先,可能是在给定时间内,开发成本太高:像是“我们做个简单的相关推荐吧”这种需求,除了无法实现,开发又能说什么呢。这就要求PM在沟通中,尽量理解功能的开发难度,与开发共同探索出集成第三方、调整实现方式等,既能满足需求,又能有效降低开发成本的方案。
2. 其次,可能开发觉得这功能不靠谱、不应该做:经常提出“灵机一动”的需求,不经过详细的思考,开发就会习惯性的拒绝自己不能理解的需求。这就要求我们对于每个需求都要反复考虑,力求文档完善,至少在与开发沟通时,不要经常说出“这个再考虑吧”、“这里要再加一个”。
3. 最后,才是真的技术无法实现:需求的功能超出了系统给出的权限,例如iOS想实现安卓的自动读取短信验证码(本身也是高危操作,国内基于安卓的系统也很多会进行拦截)。这时,就要与开发进一步协调,共同考虑可能的实现方案,探索出iOS的锁屏歌词(按照歌词时间更换唱片封面)等“产品黑科技”。
找到真正原因, 才能找到解决办法。
以上,就是对于与开发交流方法的一些总结,希望大家都能找到一套适合自己的方法。也许,对于开发来说,“可以愉快交流”,就是对于一个产品的最大褒奖了。
作者 kuanso
关键字:产品经理
版权声明
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!