《人人都是产品经理》读后感

之前读书, 一般看的都是技术、算法、数学、哲学这些方面的, 为什么突然想看这本书呢? 身为一个开发人员, 每天打交道最多的, 除了开发和测试, 就是产品了. 还记得我刚来公司的时候, 在和产品的沟通过程中, 听到最多的话估计就是: 你要懂产品, 你懂了就不会做错. 确实有很多需求, 听到后自以为是的觉得自己 get 到了点上, 然后闷头哼哧哼哧的做完了, 结果交到测试手上之后, 发现做的根本就不是人家想要的. 这点上公司的测试前辈教了我很多, 包括如何去和产品沟通需求等.

后来我想了, 为什么和产品的沟通上总是不到位呢? 其实人家早就告诉我了. 要懂产品. 你在和身边的开发沟通时, 会觉得费尽吗? 不会, 因为同为开发, 他说的你都知道, 你说的他也能听懂. 这感觉有点像代沟, 你和身边的大爷大妈根本聊不到一起, 但是人家大爷大妈凑一堆, 能聊一整个下午.

所以, 为了之后能够和产品在沟通上更加顺畅, 最好的方式就是, 你也是一个产品. 但是, 术业有专攻, 咱自己几斤几两还是有点掂量的, 做不到专业, 了解总可以吧. 这时, 正巧这本书出现在了我面前, 那没办法了, 你困了的时候, 面前就有个枕头, 还能不用吗?

通读一遍之后, 书中的大部分专业知识我没做深入的研究, 不过也学到了不少.

什么是真正的问题

如果现在提出了一个需求: 一个装满货物的火车, 高3.1米, 要过一个3米高的山洞, 怎么办?

在拿到需求的第一步, 不是想方设法的解决需求, 而是要先了解这个需求背后更本质的问题, 比如:

  • 为什么要过山洞呢? 可能是为了运货, 所以过山洞并不是需求本身, 只要能将货物运到, 不过山洞也可以.
  • 除了山洞有没有其他的路? 如果旁边正好有一条环山公路, 就可以作为备选方案, 具体考量绕远的路程是否能够接受.
  • 发生的频率有多高? 如果只是这一次的临时需求, 完全可以再叫一辆小货车将货物分摊, 就可以过去. 如果是每天都要发生的, 那可能长远来看, 扩建山洞的长期收益更高一些.

所以, 当拿到需求的时候, 不应该只关注需求本身, 而应该想一下需求解决的背后问题. 了解的多了之后, 可以解决需求的途径也更多了. 可能在刚听到需求的时候, 要额外开发很多内容, 但其实改个字段就解决了.

需求也分轻重缓急

用户的需求总也满足不了, 很多年前, mp3还流行的时候, 手机如果增加了听音乐的功能就会成为一个亮点, 如果有一款手机不支持听音乐, 那也没什么, 毕竟功能还没有这么普遍. 但是现在, 手机带有听音乐的功能, 已经成为默认的标配了.

那么什么才是最重要的需求呢? 可以从以下几个层面考量:

  • 真实: 需求是否是真实存在的. 比如运营提了个想给后台加上图片 ps 的功能, 这玩意有更专业的工具使用. 即使真的做了, 可能也不会用到.
  • 刚需: 需求是否强烈, 如果不做能不能忍受. 比如做了一款聊天软件, 那么聊天就是刚需, 必须要做. 关于这点我还没有理解的较为透彻, 之后慢慢体会吧
  • 高频: 需求发生的频率高不高. 如果是每天都会发生的场景, 那优先级自然要相对高一些.

不过现在在做的时候, 需求的优先级一般都不是由我来判断, 毕竟我不是提需求的人, 不过可以在提出需求的时候, 先自己悄悄的判断一下, 当长此以往, 发现我判断的优先级与其真实情况相符, 那我就不一样了.

思维深度

在对问题就行剖析的过程, 有以下几种思维模式.

1. 以方法为中心的思维模式. 这个时候, 通常是别人来告诉你该怎么做, 需要将明确的目标摆在你面前, 通常不会去问为什么. 这个时候容易陷入努力的去做一件错误的事情. 就比如需求没有理解清楚.

2. 以问题为中心的思维模式. 这种人, 经常会思考为什么, 但是却从来不想该如何去做. 缺少执行力.

3. 先问题后方法的思维模式. 先弄清楚问题是什么, 然后去想解决方法. 需求就摆在面前, 但条条大路通罗马, 要从这条条大路中找到最合适的那一条.

明眼人一看, 都知道第三种才是最好的. 但知道和做到是两回事, 做到和做好又是天壤之别. 努力向着美好的前方前进吧. 少年.

生活中处处皆产品

举个简单的例子, 房屋装修. 这时候就需要进行需求的采集, 以达到用户想要的效果. 下面是两种需求的采集形式:

1. 询问想要装修的风格. 比如客厅需要吧台吗? 厨房需要连通吗? 卫生间希望放到什么位置?

2. 询问生活习惯. 比如平常周末会做什么呢? 一般几点下班回家呢? 平常比较喜欢什么颜色? 喜欢阅读吗?

相较而言, 第一种需求的采集就相当于直接向用户要解决方案, 而第二种则是通过用户的生活来主动发现需求, 然后应用专业素质来给出解决方案.

就比如房间的灯光. 通过主动发现需求的过程, 可能就会针对不同的场景给出不同的解决方案. 客厅的开关放到进门伸手就能够到的地方, 书桌放到光线刚刚好而又不刺眼的地方, 如果晚上看书多, 就需要放到灯光的角度等.

通过主动发现并采集需求, 来给出最合理的解决方案, 而不应该是仅仅去询问应该如何去做.

总结

当然, 书中还有很多其他内容, 不过自我感觉现阶段还接触不到, 先选择性忽视.

本书通读了一遍, 很多内容没有记住, 只是从记忆比较深刻的内容之中挑选了几处. 虽然看过之后, 并不能让咱具备产品经理的职业素质, 但还是受益匪浅. 而且最让我佩服的就是, 我从中学到的很多内容, 早在平常的工作中就已经被各位前辈教导过了. 产品思维的培养不是一朝一夕的事, 努力成为更好的自己吧.

路漫漫其修远兮, 在平常多用产品的思维来考量自己开发的产品, 倒也不失为一件妙事.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/508408.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nginx 端口转发

概述 这两天在写 go 项目, 一个 HTTP 服务器. 之前写的是 php 项目, nginx 监听80端口, 根据域名将请求分配给不同项目. 现在换了 go, 自然也想延续这个操作, 毕竟都是跑在同一台服务器上. 那么问题来了, 我的nginx 监听80端口的同时, go 服务器是无法同样监听80端口的. 这该如…

2020-08-20

前段时间有些迷茫, 有时看着自己写的代码感觉就像一坨屎, 有时写了一段逻辑总是感觉有问题, 测了一遍又一遍, 逻辑也要理好几次. 就像是进入了一种不可描述的状态, 这感觉让我很不自在. 敲代码的时间说长不长, 说短不短, 从大二开始, 到现在也小四年了, 还没有碰到过这种情况. …

beego 优雅重启

前言 最近在写 go 的项目, http 用的 beego 框架. 因为 go 不想 php, 每次代码改动都需要重启服务, 所以代码发上线之后, 如何重启服务就成了一个问题. 如果强行重启的话, 不光在重启期间的所有访问都被拒绝了, 而且在杀掉进程的时候处理中的请求也挂了. 对于一个向用户正常提…

由 go orm 引发的探索

前言 今天遇到了一个 bug, 是 golang 的orm导致的. 使用了gorm框架. 通过实现Scan与Value可以将数据库中的 json 内容解析出来, 免除了 字符串再解码的步骤. 当时报错的代码大概是这样的: type TestContent struct {Id intContent Content // 数据库中的 json 结构 }type Con…

MySQL 数据恢复

MySQL 数据恢复 前言 前两天因为没注意的误操作, 直接把某个数据表清掉了, 心慌慌. 怪自己学艺不精, 当时整了一下午也没把数据找回来. 当晚回来闭关研究, 终于在凌晨1点多整出来了, 特此记录, 以备不时之需. 对于 MySQL 数据的备份, 主要有两种: 全量备份和增量备份. 全量…

码云 Pages 搭建

因为一直在写博客, 就向着搭个 GithubPages 来展示, 一直都听说别人用它来搭建个人博客, 但一直停留在听说的阶段. 最近想着没事搞一搞, 也看看它到底是个什么东东. 不过咱一个写中文博客的, 就想着在码云上搭一个, 顺便还能被百度收录, 嘿嘿. 说干就干, 开搞. (Pages 服务只能…

crontab 指令笔记

前言 之前有个定时任务, 需要每天的9点和21点定时跑. 当时我是这么写的: 0 9 * * * XXX 0 21 * * * XXX当时经过高人指点, 发现这两条命令可以写成一条: 0 9,21 * * * XXX好羞耻… 于是, 我决定整理一篇crontab的语法. 防止下次再出现这尴尬的场景… 指令 命令行 crontab…

golang 多协程的同步方法总结

之前用 go 写一个小工具的时候, 用到了多个协程之间的通信, 当时随手查了查, 结果查出来一大坨, 简单记录一下. golang中多个协程之间是如何进行通信及数据同步的嘞. 共享变量 一个最简单, 最容易想到的, 就是通过全局变量的方式, 多个协程读写同一个变量. 但对同一个变量的更…

golang chan 探究

前言 之前在看golang多线程通信的时候, 看到了go 的管道. 当时就觉得这玩意很神奇, 因为之前接触过的不管是php, java, Python, js, c等等, 都没有这玩意, 第一次见面, 难免勾起我的好奇心. 所以就想着看一看它具体是什么东西. 很明显, 管道是go实现在语言层面的功能, 所以我以…

计算机网络-信道复用技术

还记得计算机网络中的信道复用技术么? 来来来, 一起复习一下. why 问: 什么是信道复用. 在回答这个问题之前先看这样一个场景: 其中u1 u2是两个用户, 如果这两个用户之间连通的信道在他们使用过程中, 被他们完全占用了, 其他人就只能等着了. 那有人说了, 那就多架设信道不就…

IP 数据报首部分析

来来来, 爷们. 不是一直说纸上得来终觉浅么. 今咱就抓个数据报具体看一看真实网络中的 IP 报首部. 操作方法很简单, 使用wireshark进行抓包. 抓包后随便找个包看一下就行, 毕竟所有通信的包都需要经过网络层.(同时, wireshark会对协议的相关信息给出标识, 更方便我们查看) 其中…

git 子模块在项目中的使用

在公司的项目中, 经常会遇到一些公共的内容, 多个项目中间通用的, 不可能每次都将整个代码复制一遍, 遇到这种情况有很多不同的解决方案, 一般来说, 项目是通过 git 来管理的, 巧了, git 也同样支持子模块. 创建子模块 git submodule add gitgitee.com:hujingnb/submodule_so…

Hello IPv6

前言 IPv4 大家都不陌生, 就是我们平常使用的32位网络地址. 但是, 因为可能在其发展初期, 并没有考虑的十分全面, 故而其存在一些缺陷: 32位二进制仅支持约43亿个设备, 还不到全球的人口数量. (故而现在依赖于各种局域网转换技术, 比如 NAT. 否则地址早就不够用了. 但是 NAT …

GO 内存对齐

前言 之前遇到过这样一个情况(发现问题的结构体并不长这样, 不过为了引出问题, 改了一下): type Test struct { b bool i3 int32 i8 int8 i64 int64 by byte } func main() { t : Test{} fmt.Printf("%d", unsafe.Sizeof(t)) } 创建一个结构体, 查看一下其内存占用.…

HBase 命令行

hbase是一款分布式数据库. 其对数据的索引只通过row key进行. 在存储数据的时候, 通过row key的排序进行存储. 在面对一个新的数据库时, 深究其原理并不知一个明智的选择, 正如开车一般, 大多数人都是先学会开车, 然后在开车的过程中车子出故障了, 再慢慢学着去修理. 不管怎么说…

《论可计算数及其在判定上的应用》简单理解

刚刚拜读了一本书, 《图灵的秘密》. 该书介绍了图灵的论文《论可计算数及其在判定上的应用》, 其指出: 一个拥有铅笔, 纸和一串明确指令的人类计算者, 可以被看做是一种图灵机. 那么图灵机是什么呢? 是图灵为了描述可计算数而引出的一个虚构的可以做一些简单操作的计算机器. 尽…

PHP为什么empty可以访问不存在的索引

开始之前, 先抛出问题: $arr []; echo empty: , PHP_EOL; var_dump(empty($arr[1])); echo is_array: , PHP_EOL; var_dump(is_array($arr[1]));这段代码的运行结果: 你是否和我有过同样的疑问? 同样是函数, 为什么empty访问不存在的索引就不会报错呢? 按理说哈, 函数调用的…

浮点数运算丢失精度

今天碰到了这样一个情况, 使我又去翻阅了原来课本, 在Pthon中如果输入下面这段程序: print(sys.float_info.max - 1.0) print(sys.float_info.max)结果如下: 结果发现, 这数字根本没有变化. 本来这没什么, 看这数字, 10的308次方, 也就是说, 减去的1是在308位之后了, 这里没有…

变量的作用域

起因 最近闲来无事, 在 Python 官网上看到了2.0版本, 是2001年的. 打算装起来体验一下最初发布的版本, 但是发现只有 Windows 版本, 所以我就装了个 Windows10的虚拟机, 就在我打算安装的时候, 发现: 这激起了我的好胜欲, 于是我就依次安装了Windows 8, Windows 7, Windows XP…

PHP8的注解

PHP8.0增加了注解的支持, 虽然 PHP的注解没用过, 但是咱用过JAVA的注解呀. 注解这玩意怎么用? 简单说就下面几步: 定义注解类使用注解提取注解 到了PHP中, 也基本上换汤不换药. 使用 定义注解类 #[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_FUNCTION)] cl…