2

编程给产品工作的几点启发

 1 year ago
source link: https://www.woshipm.com/zhichang/5818366.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

在做其他类型的工作时,我们也能够从中获得一些关于产品的感悟。作者通过编程,总结了几点关于产品工作的启发,将编程感悟应用于产品工作中,应当如何做?一起来看看作者的总结吧。

7ca80ef6-da8e-11ed-b69c-00163e0b5ff3.jpg

学习了PYTHON基础编程,初衷:

  • 具备一些技术能力,可以更好地理解产品的工作原理、实现方式,特别是深入了解某些复杂功能;
  • 理解技术人员所说的语言,就能减少沟通成本,提高工作效率;
  • 培养严谨的思维方式和抽象思维能力。编程需要根据具体的业务需求来构建系统的逻辑体系,通过推理、演绎等方法,思考各种相互关系并合理组合。

过程中,总结了几点给产品设计带来的启发,如下:

启发1:确定性

编程的学习体验非常不同。编程规则严谨,在编写程序过程中,一旦出现语法或逻辑错误,程序运行结果就会报错,并告诉你错误出现在哪里。

每次报错就像是错题本,只是这个过程并不需要人为记录。

产品设计中信息架构设计过程与编程较类似。需要将业务需求进行抽象来构建信息结构,如要设计一个购物网站,从用户的行为出发:用户选购商品,支付完成订单。

  • 商品类:包括商品的属性(名称、描述、价格、库存等),以及与用户相关的操作,例如:添加到购物车、收藏、浏览历史等;
  • 订单类:包括订单的属性(用户、金额、时间等),以及与订单相关的操作,例如:创建订单、支付、退款等;
  • 用户类:包括用户的属性(账号、密码、个人信息等),以及与用户相关的操作,例如:登录、注册、修改密码、查看订单等。

通过类的抽象,可以更清晰地组织信息,让信息结构更加清晰、有序,但产品设计本质上不同于编程,有更多的不确定性。

  • 在产品设计上,新手往往是凭借自己的感觉去设计产品,如果没有一些指导,再加上团队缺乏对结果的关注,是很难察觉并改正的,就会一直处于错误的循环体内;
  • 而编程本身就是一个老师,手把手教你,用一种0和1的思维,错就是错,对就是对。

产品设计如何像编程一样呢?让设计具有可解释性,保持逻辑自洽?

  • 设计产品时,每一项功能、操作都具有明确的用途,以用户的角度,将每个功能、操作一 一列举,展示需求背后的本质;
  • 将产品的功能和使用场景串联起来,以用户视角体验并优化流程。

启发2:掌握设计语法,用思路构建产品

学习编程的过程其实可以概括为两个部分:语言规则和思路。这两个方面相互依存,都是编程的基础。

首先,语言规则是指掌握编程语言的基本语法。可以将其类比为人类语言的语法规则,例如英语中的主谓宾、单复数等。通过学习编程语言的语法规则,可以搭建出一个符合要求的程序框架。

其次,思路是指如何构建程序的整体思想。类比为人类语言,就是如何将语法规则整合在一起,形成合乎逻辑的语言表达。

将编程技能映射到产品工作中。设计框架和设计原则就是产品设计的语言规则,例如用户五层、反馈原则、易记忆原则等。这些原则和框架可以为产品经理构建产品。

思路则是探索用户诉求背后的本质,挖掘本质并使得产品贴合用户的使用习惯,构建一个易用的流程,让用户可以方便地使用产品。

启发3:思考阶段和编程阶段

在学习编程的过程中,陋习之一就是边思考边写代码。虽然看似能够快速得到结果,但往往会导致代码反复调整等情况,其实还降低了编程效率。

如何提高编程效率?其中,一个方法就是将编程分为两个阶段:思考阶段和编程阶段。在思考阶段,先考虑需求理清程序的逻辑,才开始进入编程阶段,即实际的代码编写。这样可以提高编程效率,将编程技能映射到产品工作中。

在产品设计过程中也要避免边写原型边思考需求的做法。先进行用户群、用户需求调查等前期工作,保证对产品需求有充分的理解和准备。在此基础上才能开始绘制原型。这样可以避免产品设计、产品开发过程中出现频繁调整的情况,保证产品开发的效率和项目质量。

启发4:内容预置

在PYTHON中有很多内置函数,这些函数可以直接拿来使用,不需要额外编写代码,这样可以大大提高编码效率,减少开发周期和成本。

同样地,在产品设计过程中,我们也需要预设一些用户经常使用的内容,以便简化用户操作流程。如设计[网页访问控制]功能时,我们预置了一些高频和敏感的网页,让用户无需自己添加,节省用户操作成本。

启发5:拆分

学习编程时有些题目刚开始会感到束手无策。但如果将整个任务拆分为若干个小的、可操作的任务,就可以更好地理解和开发,开发效率会更高,即将大的问题分解为小的难点去解决。

像编程一样,产品设计也应该将一个大的设计问题分成若干个小的模块去解决。

可以避免在设计中出现比较明显的遗漏点,比如说某些功能被忽略等情况。且这种方式可以让我们更加有针对性地去进行迭代。

本文由@Eden 原创发布于人人都是产品经理。未经许可,禁止转载。

题图来自 Unsplash,基于 CC0 协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。提供信息存储空间服务。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK