编程给产品工作的几点启发
在做其他类型的工作时,我们也能够从中获得一些关于产品的感悟。作者通过编程,总结了几点关于产品工作的启发,将编程感悟应用于产品工作中,应当如何做?一起来看看作者的总结吧。
一、背景
学习了PYTHON基础编程,初衷:
- 具备一些技术能力,可以更好地理解产品的工作原理、实现方式,特别是深入了解某些复杂功能;
- 理解技术人员所说的语言,就能减少沟通成本,提高工作效率;
- 培养严谨的思维方式和抽象思维能力。编程需要根据具体的业务需求来构建系统的逻辑体系,通过推理、演绎等方法,思考各种相互关系并合理组合。
过程中,总结了几点给产品设计带来的启发,如下:
二、正文
启发1:确定性
编程的学习体验非常不同。编程规则严谨,在编写程序过程中,一旦出现语法或逻辑错误,程序运行结果就会报错,并告诉你错误出现在哪里。
每次报错就像是错题本,只是这个过程并不需要人为记录。
产品设计中信息架构设计过程与编程较类似。需要将业务需求进行抽象来构建信息结构,如要设计一个购物网站,从用户的行为出发:用户选购商品,支付完成订单。
- 商品类:包括商品的属性(名称、描述、价格、库存等),以及与用户相关的操作,例如:添加到购物车、收藏、浏览历史等;
- 订单类:包括订单的属性(用户、金额、时间等),以及与订单相关的操作,例如:创建订单、支付、退款等;
- 用户类:包括用户的属性(账号、密码、个人信息等),以及与用户相关的操作,例如:登录、注册、修改密码、查看订单等。
通过类的抽象,可以更清晰地组织信息,让信息结构更加清晰、有序,但产品设计本质上不同于编程,有更多的不确定性。
- 在产品设计上,新手往往是凭借自己的感觉去设计产品,如果没有一些指导,再加上团队缺乏对结果的关注,是很难察觉并改正的,就会一直处于错误的循环体内;
- 而编程本身就是一个老师,手把手教你,用一种0和1的思维,错就是错,对就是对。
产品设计如何像编程一样呢?让设计具有可解释性,保持逻辑自洽?
- 设计产品时,每一项功能、操作都具有明确的用途,以用户的角度,将每个功能、操作一 一列举,展示需求背后的本质;
- 将产品的功能和使用场景串联起来,以用户视角体验并优化流程。
启发2:掌握设计语法,用思路构建产品
学习编程的过程其实可以概括为两个部分:语言规则和思路。这两个方面相互依存,都是编程的基础。
首先,语言规则是指掌握编程语言的基本语法。可以将其类比为人类语言的语法规则,例如英语中的主谓宾、单复数等。通过学习编程语言的语法规则,可以搭建出一个符合要求的程序框架。
其次,思路是指如何构建程序的整体思想。类比为人类语言,就是如何将语法规则整合在一起,形成合乎逻辑的语言表达。
将编程技能映射到产品工作中。设计框架和设计原则就是产品设计的语言规则,例如用户五层、反馈原则、易记忆原则等。这些原则和框架可以为产品经理构建产品。
思路则是探索用户诉求背后的本质,挖掘本质并使得产品贴合用户的使用习惯,构建一个易用的流程,让用户可以方便地使用产品。
启发3:思考阶段和编程阶段
在学习编程的过程中,陋习之一就是边思考边写代码。虽然看似能够快速得到结果,但往往会导致代码反复调整等情况,其实还降低了编程效率。
如何提高编程效率?其中,一个方法就是将编程分为两个阶段:思考阶段和编程阶段。在思考阶段,先考虑需求理清程序的逻辑,才开始进入编程阶段,即实际的代码编写。这样可以提高编程效率,将编程技能映射到产品工作中。
在产品设计过程中也要避免边写原型边思考需求的做法。先进行用户群、用户需求调查等前期工作,保证对产品需求有充分的理解和准备。在此基础上才能开始绘制原型。这样可以避免产品设计、产品开发过程中出现频繁调整的情况,保证产品开发的效率和项目质量。
启发4:内容预置
在PYTHON中有很多内置函数,这些函数可以直接拿来使用,不需要额外编写代码,这样可以大大提高编码效率,减少开发周期和成本。
同样地,在产品设计过程中,我们也需要预设一些用户经常使用的内容,以便简化用户操作流程。如设计[网页访问控制]功能时,我们预置了一些高频和敏感的网页,让用户无需自己添加,节省用户操作成本。
启发5:拆分
学习编程时有些题目刚开始会感到束手无策。但如果将整个任务拆分为若干个小的、可操作的任务,就可以更好地理解和开发,开发效率会更高,即将大的问题分解为小的难点去解决。
像编程一样,产品设计也应该将一个大的设计问题分成若干个小的模块去解决。
可以避免在设计中出现比较明显的遗漏点,比如说某些功能被忽略等情况。且这种方式可以让我们更加有针对性地去进行迭代。
本文由@Eden 原创发布于人人都是产品经理。未经许可,禁止转载。
题图来自 Unsplash,基于 CC0 协议
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。提供信息存储空间服务。
不是哦,产品经理……
您本身是技术吗?
是的
编程的理念和产品设计的基本过程竟然有这么多的相通之处,通过互相借鉴和学习就能收获很多的启发和进步。